使用matlab进行国内期货交易
日期:2023年07月08日 20:11 浏览量:1
第1章 程序化交易必知
程序化是投资新手最好的入门途径,因为程序化策略包含了入场、出场、加减仓、资金管理等全方位的交易系统构成要素。对于初学者而言,可以更好地理解交易系统各方面的重要性,从而少走很多的弯路。对于交易高手而言,程序化是提高交易效率的好工具,可以搭载多种不同的交易策略,同时监控多个市场的不同品种,达到最快的下单速度,提升效率。
本章主要内容包括:
· 程序化交易的定义和优劣势
· 策略交易、系统交易与程序化交易之间的关系
· 程序化交易的起源与发展
· 程序化交易系统的设计思路
· 程序化交易策略的开发与评估
· 常见的程序化交易软件
· 程序化交易新手常犯的错误
· 使用程序化交易要注意的问题
1.1 程序化交易概述
要进行程序化交易,首先要知道程序化交易是什么、有什么优势、有什么劣势,下面具体讲解。
1.1.1 程序化交易是什么
程序化交易是在计算机和网络技术的支持下,瞬间完成用户预先设置好的组合交易指令的一种交易手段。用户可将交易思路通过程序化行情与交易软件提供的函数、语法及编辑平台,编写成交易模型,实现自动开平仓、自动止损和自动止盈。
1.1.2 程序化交易的优势
熟知程序化交易的投资者都知道程序化交易不是万能的,除自身的优势外,它也存在一些劣势。下面先来看一下程序化交易的优势。
程序化交易的优势主要表现在3个方面,分别是程序化交易反应速度快于人脑、程序化交易回避人性的弱点和程序化交易可复制成功,如图1.1所示。
图1.1 程序化交易的优势
(1)程序化交易反应速度快于人脑
手动交易时,从眼睛看到到大脑确认再到按键买卖至少需要1~2秒的时间,期货价格瞬息万变,1~2秒足以让价格“跑远”,导致交易成本提高。如此长期累积下来,也损失了一笔不小的财富。
程序化交易由计算机盯盘,从信号发出到计算机下单交易仅需要几毫秒(1毫秒=千分之一秒)。在瞬息万变的交易市场中,这种速度可以在机会出现时第一时间进出场,降低交易成本,让交易者积累更多的财富。
(2)程序化交易回避人性的弱点
手动交易的最大障碍是什么?是交易者内心的思想波动。因为人的大脑每时每刻都在涌现出不同的想法,这些想法有可能会对交易思路造成干扰。明明有的时候按规则要止损了,就因为交易者心里的一丝犹豫,导致错过了最好的平仓时机,令亏损扩大。
程序化交易的最大特点是克服了手动交易的不确定性,计算机本身没有感情,可严格按照程序化的设定不间断地连续交易。
(3)程序化交易可复制成功
人只有两只眼,同一时间只能观察一个合约,而每天存在交易机会的合约有很多,交易者只能愁于空有一身好本领,却无法分身把收益最大化。
程序化交易可同时监测几十个合约、周期,只要把用户成功的交易经验转换为程序可读懂的语言,程序化交易就可帮用户复制成功。
1.1.3 程序化交易的劣势
前面讲解了程序化交易的优势,下面来看一下程序化交易的劣势。
程序化交易的劣势主要表现在4个方面,分别是程序化交易的不稳定性、程序化交易技术门槛高、程序化交易的大幅资金回撤和程序化交易可能加剧金融风险,如图1.2所示。
图1.2 程序化交易的劣势
(1)程序化交易的不稳定性
程序化交易系统总会在特定的时候出现一定的问题。有的人高估程序化交易的效果,把程序化吹得很神奇,也有人很排斥程序化交易,质疑程序化交易的作用,其实这都是不妥的。我们要正确看待程序化交易,把它作为一种工具来看待。程序化交易是人设计出来的,交易系统赚钱的能力会直接反映设计者的交易水平。设计思想实质上是集成了交易理念、交易思路、交易方法甚至包括交易经验在内的一种积累与沉淀,设计者不能保证一种方法能永远适用于市场。程序化交易系统背后的设计者是不能一劳永逸的,而是要面对这个市场,不断学习、不断进取、不断掌握先机。
(2)程序化交易技术门槛高
当前,程序化交易技术门槛还是比较高的,不能平民化。国内的一些知名软件平台,有时不能全面反映交易者的执行思路。编写程序是一个比较有深度的技术工作,哪怕是资深的软件工程师,也不可能随心所欲地反映所有交易者的交易思路。一套真正能长期稳定赚钱的系统,可能要求很复杂,不但在交易信号上,而且在资金管理和头寸管理上有各种各样的要求。
(3)程序化交易的大幅资金回撤
程序化交易的盈利能力是需要从长期来看的,虽然有些程序化交易模型从长期看是盈利的,但是短期内可能会出现非常大的资金回撤。一些投资者对程序化交易的认识比较模糊,一味地认为程序化交易就是一台赚钱的机器,永远盈利,最后的结局往往是这些投资者在这种资金回撤下难以继续进行程序化交易,从而错过后期可能出现的大幅盈利的机会。
(4)程序化交易可能加剧金融风险
1987年美国股市暴跌的罪魁祸首一度被认定是期现市场的程序化交易,这也让程序化交易饱受诟病,也把程序化交易推到了风口浪尖。
当时的情况是股票期货价格低于股票价格,指数套利者买入期货并卖出股票,假如股票价格下跌的幅度远远不够,那么投资组合保险公司将卖出期货合约,造成期货市场新一轮的下跌,这将导致指数套利者进一步卖出股票,最后形成自我强化抛售的下跌周期。
无论1987的股灾是不是程序化交易造成的,我们都应该意识到在此期间程序化交易至少起到了推波助澜的作用。
1.2 策略交易、系统交易与程序化交易之间的关系
下面讲解策略交易、系统交易与程序化交易之间的关系。
1.2.1 策略交易
在金融投资领域中,一般习惯把买入持有、价值投资、成长投资等称为战略,而把反转、趋势、支撑压力等叫作策略。后者是以技术分析为主的,在交易决策分析的计算机化历史中,技术分析开始得比较早,所以习惯上交易决策多数指策略交易。即使在这个层面上,策略交易这个词也被不同的人在两种意义上使用,第一种是指自己理解和采用了一个或多个明确的交易策略,第二种则等同于下面将要讲的系统交易。
总之,策略交易的提法反映了人们对市场运行规律和特征的认识走向了条理化和体系化。
1.2.2 系统交易
系统交易是指运用交易系统(Trading System)进行交易,而交易系统这个词经常在3个地方被人们使用。
(1)系统交易中的交易系统,它的全称应该叫交易规则系统,包括入市、离市、止损、仓位与头寸等一整套的规则。
(2)有不少人喜欢把交易者客户端的下单系统称作交易系统。
(3)交易所与营业部的整套交易管理系统也常被简称为交易系统。
我们所说的交易系统是指第一种。
1.2.3 程序化交易
程序化交易有以下两种意义。
第一种是统称所有通过计算机软件程序进行自动下单的交易。
第二种是从市场监管角度来定义的,特指交易所规定的达到一定条件的交易,例如 NYSE(美国纽约证券交易所)的定义:一个账户同时发出买卖指令的股票达到15只以上并且金额超过100万美元的,人们也叫它篮子交易(Basket Trading)。
表1.1显示了策略交易、系统交易与程序化交易之间的关系。
表1.1 策略交易、系统交易与程序化交易之间的关系
表 1.1 中的任意决定型交易是指按照个人直觉或情绪、别人建议或非量化数据分析来决定的交易;技术型交易是指按照技术指标、个人主观规则进行的交易。技术型交易者有两个突出的行为特点,一是热衷于预测市场,二是看重交易的高成功率。
1.3 程序化交易的起源与发展
下面讲解程序化交易的起源与发展。
1.3.1 程序化交易的起源
程序化交易最早是由组合交易发展而来的。根据纽约证券交易所的定义,只要交易的股票数量超过15只、总金额超过100万美元,就可以被当做是程序化交易。当时,程序化交易的主要目的是跟踪指数进行套利交易。由于指数权重股往往包括众多的股票,投资者很难利用人工方法对指数进行跟踪,因此利用计算机对一揽子股票进行操作的方式成为了专业投资者的首选。这就是程序化交易的雏形。
程序化交易的发展主要得益于计算机及网络技术的发展、报价方式的改变及对冲基金的兴起3个方面。
计算机及网络技术的发展为程序化交易的发展提供了技术上的保证。计算机的运算速度越来越快,投资者可以对复杂的股票组合进行分析研究。而网络技术的发展使得投资者可以在第一时间获得最新的行情信息进行分析,并执行买入和卖出的操作。
报价方式的改变在客观上刺激了程序化交易技术的发展。2000之前,美国的股票交易所采用的都是分数的报价方式,股票的最小变动单位是1/8或者1/16,即一只股票的价格上涨或者下跌的幅度,必须是 1/8 或者 1/16 的整数倍。2001年之后,股票报价方式全面改为小数报价,也就是说,股票的变动单位变为了 1美分(0.01美元)。报价方式的改变大大地增加了股票价格的“琐碎”程度,股票组合的复杂性大大增加,只有计算机才能完成如此烦琐的分析。因此,程序化交易逐渐受到了投资者的青睐。
而最重要的因素,就是大量对冲基金的兴起。对冲基金往往使用高杠杆的金融工具进行操作,投资风险极大。市场上的投资机会稍纵即逝,采用传统的手工下单,可能会错失大量的操作良机。计算机由于其优异的运算性能,可以有效摒弃投资者的侥幸及恐惧心理,成为代替人工操作的首选。
经过多年的发展,程序化交易逐渐脱离了最初的组合投资的范畴,变成了依靠计算机根据事先设计好的交易模型,分析即时行情信息,下达买入和卖出交易指令的操作模式。
与传统的定义相比,现在的程序化交易不仅突破了当初股票数量的限制和资金的限制,也突破了交易品种和交易模式的限制。如今,股票、期货、期权、债券等几乎所有的交易品种都可以找到程序化交易的影子,交易目的也从最早的指数套利,发展到非指数套利、趋势交易和高频交易等多种模式。
1.3.2 程序化交易在我国
程序化交易在我国起步较晚,但是发展迅猛,特别是在2012年以后,程序化交易在我国期货市场发展的速度超出了很多人的意料,通过程序化交易完成的交易量占市场总交易量的20%~30%。
交易技术在全球金融市场中正扮演着越来越重要的角色,我国期货市场计算机技术与交易的结合,也是水到渠成的结果。期货公司交易系统接口的开放,是推动程序化交易迅速发展的前提。我国期货市场的程序化交易一直存在,但之前期货公司的交易系统对程序化交易的兼容性不强,制约了交易程序的速度与性能。2008年,在中国期货业协会的统一协调下,我国几家期货交易系统供应商陆续开放了交易端接口,特别是基于开放原则开发的上期技术平台在期货行业内的推广和使用,极大地推动了我国程序化交易的发展。基于开放的接口,计算机高手可以更方便地将自己编写的程序化交易模型接入交易平台,实现交易策略的自动化。之后,商业性程序化交易软件的快速发展降低了普通投资者使用程序化交易的门槛,进一步扩大了程序化交易使用者的群体。
1.4 程序化交易系统的设计思路
程序化交易系统的设计思路包括4个方面,分别是设计思想、系统特点、系统的技术与理论分析基础、系统的技术策略,如图1.3所示。
图1.3 程序化交易系统的设计思路
1.4.1 设计思想
程序化交易系统的设计旨在利用新的思路构建一个高效率、高质量的证券市场分析决策系统。系统设计建立在对证券市场全方位的分析上,并引入了现代管理科学和控制理论的一些核心理念。系统所设计的方法可以有效地提高对市场的分析和评价效率,可以更高效、更直观、更合理地监控市场变化,评价市场冷暖,筛选介入目标,确定买卖时机,方便地进行自动或半自动的程序化交易。
1.4.2 系统特点
程序化交易系统是一个完整、科学的数据检测、分析与评价系统和买卖决策管理系统,其特点如图1.4所示。
图1.4 系统特点
(1)分析策略和决策方法比较完整
从理论上讲,我们进行证券投资决策所需要的绝大多数数据其实都在我们的计算机里或者网络上,而数据是可以被分析的,趋势也应该是可以被跟踪的。程序化交易系统通过对行情数据、历史数据和财务数据进行尽可能全面和完整的分析,以及通过采用直观明了的表现形式、完整全面的评价体系和及时高效的操作管理体系从不同的角度去引导我们做出科学、正确的决策,去逼近我们对市场更为真实的了解和判断。
(2)分析方法比较科学
例如,对于大多数证券投资者而言,都不会否认形态的重要性,但是就像世界上没有完全相同的两片叶子一样,世界上也没有完全相同的两只股票,形态的模糊性和数学处理的复杂性经常让人们大伤脑筋。不管是关于“形态识别”的方法还是关于“分型”的概念,都不便于进行确切、具体的操作。
在具体应用时还有很多的技术和效率问题不能很好地解决,但是程序化交易系统独创的技术分析与处理方法则将股票的走势、形态、成交情况、财务状况及与整个市场状态的关系等有机结合起来,把模糊与精确、背景与现状、大盘与个股的相对关系统一在了一个规范的平台上,以一种标准、统一的方式对市场和股票进行科学的监测评价和买卖操作的管理。这种处理方式的另一个合理之处在于它可以非常方便和高效地利用人们在模式识别方面的现有技术,以一种更简单的方式来对复杂的形态进行分析,让事情变得简单、自动、智能。
(3)表现形式比较合理
计算机的功能与人的能力在目前阶段还有很大的差别。对于大规模的数据处理来说,人根本无法和计算机相比,但在模糊识别和判断方面,人比计算机具有更大的优势。程序化交易系统采用比较科学和合理的方式对这两个方面的工作进行了有效的分离,充分发挥了计算机和人的优势,使交易系统高效、合理、直观、可靠,并且具有良好的人机界面和方便简单的操作方式。
(4)分析和执行效率比较高
程序化交易系统对数据进行了分类管理,主要数据和次要数据、历史数据和实时数据、正常数据和异常数据、静态数据和动态数据、常态数据和异动数据等都按其与操作的关联程度进行了不同的分配和应用,可以在不需要很强大的硬件资源的条件下非常高效地完成对整个市场的监测、分析和评价工作。
(5)资源利用效率很高
证券市场工作的核心是对市场的分析、评价和筛选,具体的买卖操作应该是一种机械的执行行为。因为操作指令具有简单化的特点且实时性要求不算太高,从理论上讲对系统资源的占用并不多,所以在系统分析的基础上,如果能够充分利用网络,即便同时对成千上万个账户进行管理也是完全可能的。
因此,建立了一种集中式分析、评价、筛选和买卖指令,但却是分布式买卖操作指令执行的服务系统,这样就可以充分利用系统分析的资源并以很高的效率协调行动,可以较好地解决操作效率和风险控制等问题。
1.4.3 系统的技术与理论分析基础
系统的技术与理论分析基础包括5个方面,分别是基本分析、行业特征分析、市场分析、技术指标和技术分析、投资失败分析。
1.基本分析
近百年来,人们在生产组织的过程中建立了管理科学的理论,在追求自动化的过程中完善了控制理论,在对军事行动的优化配置中产生了运筹学的理论。这些理论、技术的产生和发展非常成功地解决了企业的管理问题、自动控制问题、规划问题和预测问题等,在提高生产效率、保证产品质量、制造自动化设备、优化配置资源、保障军事及分析预测市场等方面都提供了系统的理论基础和成熟的方法技术,在现代科技和产业的发展中起到了极为重要的作用。如果没有这些理论,也就很难产生现代化的大工业、自动控制设备制造、航空航天与导弹技术等,也很难建立诸如天气预报等大规模的分析预测模型等复杂的分析系统。
相对于上述这些行业对管理理论和控制技术等方面应用的深度和广度而言,证券市场做为一个高度数字化、信息化的行业,在其市场分析、操作管理、资金管理等方面对管理科学和自动控制技术的应用显得非常不足,手工与经验操作的比重非常大。事实上,证券市场的操作过程不仅是一个单纯的技术和经验问题,同时也是一个多样化的管理问题:操作的管理、资金的管理、理念的管理等。从理论上讲,这个过程可以归纳为一个复杂的管理过程。
就像企业生产出合格产品并不能说明什么,关键是能否保证很高的合格率一样,在证券市场上偶尔赚钱根本算不了什么,关键是能否建立一套稳定的获利规则并严格地执行它!
实际上管理问题在很大程度上可以转换为规则问题、优化问题、标准化问题和程序化问题,而控制理论的核心是信息的检测处理和反馈。对于证券行业而言,绝大多数的数据都可以很方便地得到,数据的采集根本就不是问题,问题是如何对大量的数据进行有效的分析和利用。系统在引入管理工程和系统工程概念方面做了许多努力,在具体的技术处理方式上广泛采用了自动控制和动态规划的技术原理。
2.行业特征分析
(1)证券行业具有高度数字化、信息化、网络化的特点。数字化意味着特别适合发挥计算机的强大处理能力,网络化则意味着可以不受时间、空间、距离的限制向客户提供及时、高效、个性化的服务。
(2)市场会随着经济规模的扩大而扩大,随着经济的发展而发展,随着企业的扩张而扩张。在这个过程中总有一些公司有强大的市场和资本扩张能力,它们的股票价格也会因此有惊人的涨幅。
(3)市场在“价值回归”的过程中永远都在不断地重复着“矫枉过正”的故事。从短期来看,所有理论和技术都无法改变这个市场零和博弈的本质;从长期来看,伴随市场规模的扩大和部分企业的高速扩张,证券市场存在着大量的具有投资价值的机会。
(4)人的大脑是最好的自动控制系统,但往往无法持续稳定、精确严格地按原则工作。在大规模的数据处理方面,人的能力无法与计算机相比,但在形态、颜色、动态图形的识别等模糊判断方面人比计算机更有效率。人的大脑比计算机更灵活,但受人性的限制往往是灵活有余、原则不足,适合做综合性的分析判断、模糊处理和规则设计。而计算机恰恰相反,原则有余、灵活不足,更适合做诸如大规模的数据处理、监测和规则的执行等程序化、规范化的工作。
(5)股票的操作实际上是一项复杂的系统工程,它不仅是一个单纯的技术问题,同时也是一个复杂的管理问题——操作的管理、资金的管理、理念的管理等。偶尔的赚钱根本算不了什么,关键是能否建立一套稳定的获利规则并严格地执行它!
(6)市场是有趋势的,市场趋势的变化是完全通过数据的变化来体现的,而数据是可以被检测、被跟踪、被反馈、被处理的,所以我们可以通过一定的技术手段将这种处理转换为自动或半自动的方式。股票操作过程的自动化、智能化从技术的角度看是一种必然的趋势。
(7)影响股票价格的因素是复杂而多样的,但最终的结果是高度收敛的:上涨、下跌或平盘。我们面对股市实际所需要做的决策往往也是简单的:买进、卖出或持股、等待。而结果也同样简单:赚钱或赔钱。就像打仗一样,战场情况千差万别,但最后的决策往往可以归结为进攻、防御或撤退,而结果也可以简单地归纳为胜利或失败。从这个意义上讲,股市与战场没有区别,都是在多因素、多变量情况下进行决策,而且一般情况下都是有解的。
(8)证券市场具有其他行业无可比拟的高效率和丰富的市场机会(短、中、长)及极大的挑战性。
3.市场分析
在上述理解的基础上,为了形成具体的操作理念和操作策略,还需要做更细致的市场分析。
由于市场本身功能的多样性,造成了市场特征的多样性,而市场特征的多样性也必然会让参与者产生操作理念和方式方法之间的差异。因此,对操作的认识必须建立在对市场认识的基础上。
(1)认识市场
从某种意义上讲,证券市场是用来体现企业的价值、企业的经营活动状况、企业与外部世界的关系及企业的发展潜力的。各种各样的政治、经济信息都会通过各种方式反映在证券市场上,从而导致市场上股价的上涨或下跌。正常情况下,发展迅速或具有巨大市场潜力的企业会因股价的上涨而获得更多的资金,而更多的资金反过来又会让企业发展得更迅速,这种“正反馈”会让真正有市场潜力的企业高效率地获得充裕的资金,从而得以更迅速的发展。微软、沃尔玛、可口可乐等公司股价的迅速上涨和企业的高速发展就充分体现了市场的这种资源配置和资源优化作用(应该说,这才是证券市场存在的真正意义)。对于另外一些企业而言,它们的各种结构性调整或重大事件会给人们带来某种程度的想象空间,从而使它们的股价产生大幅度的波动。但是,更多的情况下,一些偏离其价值中枢的有趋势的股价波动是受到短期资金和某种信息的作用而发生的。当然,对于平静的企业而言,随机波动的情况也是存在的。根据上述理解,下面对证券市场上的价格变化的含义做简单的归纳。
① 价值的测量:人类最早的商业活动是以货物交换的方式来进行的。很显然,这种方式既不方便,效率又低,所以就产生了货币——用以度量货物的价值。经过统一的货币化的价值评价与转换,商业活动的效率得以大大提高。企业股票的价格也是对企业价值的一种转换和测量,通过企业股票价格的变化人们能够大体上对企业的总体情况做出基本的评价(事实上这种评价经常会出现偏差和失真)。
② 市场信息的测量:受时间、空间、工作量及工作效率的限制,人们的生产和服务活动会出现不平衡,实现平衡的需求导致对资源进行优化的需求,而对资源优化的需求又导致对信息高效率交换的需求,所以世界上发生的任何政治、经济事件都有可能会影响到某种股票的价格甚至是整个市场的走势。
③ 对未来预期的测量:市场、技术与需求的不断变化,导致企业经营效果不断变化,对未来市场与发展的不同预期导致了人们不同的选择,这种选择导致了价格的不断变化。
④ 人为干预程度的测量:市场参与者的资金规模、能否及时准确获得信息、对市场的判断能力等导致其获利方式的不同。在这种短期的搏弈中,人数少但资金量大的参与者是市场的“导向力量”,人数多但资金规模小的参与者是市场中的“惯性力量”,就像一个放大电路,在特定的条件下基极电流的微小变化往往就可以导致集电极电流β倍的变化。
(2)几种基本投资类型
① 价值发现型。某些企业具有巨大的扩张能力(例如某类产品具有巨大的市场潜力),这些企业可能在相当长的一段时间里持续高速发展,选择这类企业的股票并长期持有将会获得稳定、持续的收益。以这种方式来投资的典型代表是巴菲特。采用这种投资方式的关键是要具有对企业的发展潜质进行准确评价的能力。这是一种综合预见能力,这种投资方式往往需要对企业的产品、技术、市场、服务、管理等因素进行细致的分析、判断,往往还要对整个市场、经济和技术发展的长期走势做出比较合理的预测,这肯定不是每个人都能做得到的。有时候,甚至是对本行业有充分了解的企业都无法做到。另外,这类投资方法要有足够的耐性,它适合于大的基金管理公司和长期投资者。这种方式可以简单地归纳为对企业的市场和资本扩张能力的发掘和预测。对于该类投资者来说,使用程序化交易系统可有效提高分析的效率。
② 机会发现型(市场偏差型)。由于影响市场的因素非常复杂,而人们的知识又非常有限,所以市场往往会不断地发生各种各样的偏离,这种偏离在不同时期、不同行业、不同市场、不同国家之间有时会非常大,如果善于发现并捕捉到这种机会,往往能够获得非常丰厚的利润。索罗斯是这方面的典型代表。这也不是一种人人都可以获得的能力,因为要做出正确的判断,可能要对大量的数据和资料进行分析处理,但这并不是充分条件,仅仅依靠这些并不能保证一定会做出正确的决策。这种方式实际上是要找到市场发生最大错误和偏差的时机。程序化交易系统对市场的偏离情况可提供直观、明确的数据。
③ 短期价格操纵型。特殊情况下,如果市场某些重要参与者的资金量足以在一定程度上十分有效地影响和控制股票的价格(它们可能同时也具有在第一时间里获得企业内部变化信息的能力),那么就会产生对市场价格的操纵,这种操纵和其他短线逐利资金之间就形成了一种竞争和对抗关系,这时市场就变成了一种博弈。由于对价格变化和信息内容理解的偏差,就产生了资金、股票在不同价位的交换和转移,从而使一些人快速套利,而另一些人则迅速亏损。
④ 趋势跟踪型。股票的价格总是周而复始地涨涨跌跌。这种涨跌的趋势性在道氏理论里有详细的描述。而趋势的含义就是在向我们说明一个事实:股票在某种情况下上涨的概率会大一些,而在另外的情况下下跌的概率会大一些。当市场上判断某只股票上涨的概率比较大的人(尤其是资金量比较大的投资者)多起来的时候,正反馈就开始建立起来,股票就开始加速上涨。如果能够在适当的时间介入这样的股票就会获利,反之亦然。
基于上述对市场认识的不同理解及资金大小和操作理念的不同,就会产生不同的操作类型和投资策略。对于短线操作而言,基本上可以归纳为强势追涨、高抛低吸、超跌反弹3种基本形式。
4.技术指标和技术分析
由于出发点、侧重点不同,技术分析的方法可以说是五花八门,技术指标更是多得不计其数。技术指标实际上只是一种对市场的测量或计算,是对市场和价格变化的跟踪和描述,是市场变化的一种表现形式。它的作用只是帮助我们对市场状态和趋势进行分析,但它永远都不会是市场变化的直接原因。决定未来市场价格走势的决定性因素仍然是资金的进出情况,但决定资金进出的因素往往又取决于市场的状态和企业的经营状态。
通过上述分析,我们不难知道,对于上述第一类和第二类投资者而言,技术指标只是一种决策参考。而对第三类投资者而言,技术指标也只是其对市场进行判断和对价格进行操纵或博弈时的一种依据。上述第一类和第二类投资者进行决策时需要对企业的产品、市场或服务、经营状况进行综合性的分析和评价,实际上是对企业的市场和资本扩张能力的评价和预测,这在很大程度上依赖于对企业财务数据的细致分析。程序化交易系统对财务数据也可以非常方便、高效地完成过滤、分析、比较、筛选等基础工作。
5.投资失败分析
证券市场永远都是一个少数人赚钱的市场,所以必须对失败的原因进行足够的分析和考虑。投资失败的原因大体上可以归结为以下几点。
(1)获取的信息不完备,对信息的处理不正确、不及时。
(2)交易规则设计不合理。
(3)交易管理不严格、不及时。
(4)资金管理不合理。
证券操作过程中任何一个环节的失误都会导致赔钱,而赚钱却需要把每一步都做好。也就是说,盈亏的概率实际上是不对称的。这也是大多数人(包括一些所谓的高手)最后都没有赚到钱的真正原因。
1.4.4 系统的技术策略
基于上述基本分析,程序化交易系统的设计借鉴了现代管理科学和控制理论的核心思想,用系统工程的方法分析和重构了市场分析和评价方式,在操作模型的建立和系统的技术表现形式上引入了全新的思路和方法。
这样做的理由有两点:第一,从管理科学的角度来看待证券市场的操作,会发现很多违反管理学基本原则的问题;第二,在客观上这个全数字化的行业在技术上确实存在着高效率、自动化、智能化运作的基础。
对于传统行业而言,管理的重要性是不言而喻的。例如,对于一个像汽车制造这样的大型企业而言,其运作过程是非常复杂的,要考虑诸如人、财、物的组织,料、工、费的核算,产、供、销的平衡,以及质量保证体系的建立和效率的提高等各种问题。对于成千上万的零部件的加工,仅仅是质量保证体系就需要贯穿在整个供、产、销的过程之中。这中间的任何环节出现问题,都可能会对整个企业的生产和效益产生重大的影响。同样的,在股票操作的某个步骤处理不当,也会产生重大的损失,但是股票具体运作过程中的管理手段往往没有企业管理那么严密、精确和完整。
用户希望能将管理科学的一些理念引入到股票的操作程序中,从而构造一种新的处理模式和操作思路,可以以一种高效、规范、稳定的方式进行证券的操作、管理和服务。打个比方来说,常规的股票操作过程就像是在用高射炮来打飞机,击中目标的可能性是存在的,但要靠长期的刻苦训练,还要靠运气,而且效果也并不一定令人满意。但是,如果改用导弹来打飞机,效果可能就会好得多。尽管导弹的制造更麻烦,但这种方法却不需要人直接去做那些跟踪飞机的高难动作。需要说明的是,导弹系统往往不对未来做出什么预期,而是对已经侦测到的目标的变化实施灵敏、正确的反应,这需要依赖于一个高效的自动处理系统的支持。另外需要说明的是,导弹并不是一定可以打掉飞机的充分条件,最终的结果还取决于导弹的性能和对导弹的掌握程度,但可以肯定的是,导弹打飞机的效果会远远好于大炮打飞机的效果。系统通过各种处理方法力求实现这样的功效:对市场进行完善、高效的筛选评价,对趋势进行灵敏、及时的监控,对操作进行完整、正确的执行。
1.5 程序化交易策略的开发
一般而言,一个完整的程序化交易策略的开发由4个步骤组成,如图1.5所示。
图1.5 程序化交易策略的开发
第一步,投资理念的代码化。借助相关的程序化交易软件平台,将策略思想编写成计算机逻辑代码,并基于历史数据进行信号核对,确保策略代码编写正确,以准确体现策略设计者的投资理念和要求。
第二步,历史数据的回溯测试。通过对某个或某些品种的历史行情数据进行回溯测试,并形成相应的策略测试报告,对策略的盈利能力和稳定性进行评估。
第三步,模拟交易或小资金实盘交易进行跟踪检验。在确保策略具有盈利能力的情况下,通过模拟交易或小资金的实盘交易对比策略在实际交易环境和历史测试环境下是否具有一致性。
第四步,模型的改进确保策略的稳定性。通过对上述检验环节中出现的问题进行分析和总结,不断改进策略模型,提高策略运行的稳定性。
1.6 程序化交易策略的评估
交易策略是各个程序化交易系统的核心,要想客观评价一种交易系统,首先需要一套科学、有效的评价标准。一般来说,可以通过以下几个方面对策略进行评估。
1.6.1 策略本身的完整性
一个完整的程序化交易系统一般包括以下3个体系。
(1)信号交易体系:解决何时入场、离场,及其点位的问题。
(2)资金管理体系:解决品种间的资金分配、头寸配置、如何加减仓等问题。
(3)风险控制体系:解决交易执行的风险管理、网络安全和灾备方案、交易所规章制度、策略风险研究的问题。
那些需要通过自行委托下单的程序化交易系统,特别是高频交易系统,需要在策略中包含上述所有内容。而对于借助相关程序化交易软件开发的程序化策略,由于平台解决了部分问题,所以一些内容可以省去。
1.6.2 绩效报告的整体评估
在评测交易系统可行性的依据中,测试报告最为重要。策略绩效报告作为策略的“体检报告”,主要是通过相关指标来全面反映策略的盈利能力、稳定性等特征。在评价策略盈利能力方面常会采用以下指标:收益额、收益率、胜率和平均盈亏比。在评价策略稳定性方面常会采用以下指标:历史最大回撤、年化收益额和历史最大回撤额等。
1.6.3 测试数据的真实性
除考察上述策略报告结论外,交易者还必须对测试环境中的数据的真实性进行充分检验,包括合约选择、数据时长、频度等,这些因素的选择都有可能对报告结论产生重大影响。这就需要测试人员将策略放到多个品种、多个时间段中进行测试,在最恶劣的环境中进行统计,考察策略的绩效变化,避免由于数据的非真实性导致策略的“虚假繁荣”。
1.6.4 策略参数灵活可控性
基于历史数据的参数设置,是否能在一定范围内保持系统的稳定性,是策略从测试到实盘过程中需要注意的问题。往往测试阶段最优的参数组合在实盘阶段表现得不如人意,完善的程序化交易系统在系统参数设置上必须具备一定的灵活性,往往选择表现相对较好的参数区域而非单一的参数组合。
1.7 常见的程序化交易软件
下面介绍常见的程序化交易软件。
(1)文华财经
文华财经是专业期货软件服务商开发的源于中国本土的程序化软件,其系统稳定,在我国市场占有率高。基于我国用户习惯开发的“麦语言”,可谓小语法大函数,有积木式的轻松编程环境。该软件提供最全的回测样本,包括我国从开市至今的全部历史数据的合约;支持专业程序化的金融工程思想,即多模型组合测试和加载;具有独创的自动交易运行模组,轻松监控几十个模型的信号执行、资金、持仓、挂单等状态,并且支持手动辅助。
(2)TB交易开拓者
该软件是在我国市场占有率仅次于文华财经的交易软件。在语言方面略胜于文华财经,在交易稳定性方面,使用者反应不一。
(3)金字塔决策交易系统
金字塔决策交易系统是一款集程序化交易、看盘分析为一体的全功能综合软件。它支持图标程序化交易、后台程序化交易、高频交易、趋势线程序化交易等多种自动交易模式;公式模型编写及操作兼容我国主流分析软件;支持闪电下单、图表下单、预警雷达下单等多种下单模式;支持板块指数、套利、多账户交易及动态止盈止损;还可支持VB、C++二次开发。
(4)龙软程序化交易平台(DTS)
该软件实现了交易策略(Lua代码)、交易界面(XML配置)的灵活自定义,目前支持期现套利、ETF套利、商品期货、股指期货、权证、股票的全品种程序化交易。该系统的主要特点是交易速度快、计算速度快,采用后端服务器分布式部署模式,客户端只做数据浏览和指令操作,所有的计算都在后台完成,是一款非常全面、面向机构的高端程序化软件。
(5)高手交易软件
高手交易系统是从韩国期权交易市场起步并发展起来的,具有15年全球市场交易经验及专业化的技术背景,不仅可以做期货交易,也可以进行期权交易。在全球期权交易量排名第一的韩国期权市场中,高手交易系统为个人、机构、专业投资团队等服务了15年。高手交易系统中运用了EF委托、STage程序化交易引擎、GOM高手对象模型和DDE实时行情分析工具等,大大提高了交易的效率,并获得惊人的收益。
(6)金钱豹
金钱豹是一款给专业人士使用的程序化软件,支持 C++、C#、MATLAB、NET 3.5、Java等众多接口,有非常大的扩展性。
(7)YesTrader
YesTrader来自于韩国,是以期货买卖为目的的交易软件。它不仅具有便捷的下单功能,而且载有包含多样化技术指标的性能超强的图表。该软件可以用系统语言编辑的逻辑公式把投资者所需的任何交易策略自由地表现出来,还可用该交易策略进行自动买卖。
(8)SPT盛立高频程序化交易平台
SPT是一款专为期货、证券交易所设计的高频程序化交易平台。该系统具有高速的行情及交易处理能力,通过完备的交易风控体系,保证程序化交易的稳定性和准确性。
(9)永安程序化交易系统
永安程序化交易系统包括永安程序化交易平台及该平台上配套开发的交易模型。永安程序化交易系统的交易平台基于底层、最稳定的C++语言进行开发,交易模型的设计也是在C++语言的框架下编写的,可扩展性强,订单系统精准高效。
1.8 程序化交易新手常犯的错误
程序化交易新手常犯的错误有4项,分别是把程序化交易当作成功交易的绝对法宝、把历史数据测试结果等同于实际交易结果、把股票指数当作实际交易标的、把极端适应优化结果当成普遍适用的,如图1.6所示。
图1.6 程序化交易新手常犯的错误
1.8.1 把程序化交易当作成功交易的绝对法宝
很多普通投资者认为,只要有了一套期望收益值为正的程序化交易系统,就可以在投资市场上战无不胜,大把银子就能唾手可得了,这实在是一种很天真的想法。投资者一定要明白,成功的投资交易由多个环节紧密相连,环环相扣,缺一不可,绝不是一组公式、几台计算机和几套系统就能完全做到的。如果一套程序化交易系统就能够战胜一切,那编程高手岂不是可以笑傲古今期史了?记得有位网友说过:“失败的投资者所缺乏的难道就是能赚钱的系统吗?君不见,均线、海龟遍地有,以此暴富有几人?”
1.8.2 把历史数据测试结果等同于实际交易结果
历史数据测试是系统交易者常用的系统检验方法,投资者在使用时必须明白,很多历史数据测试结果只是理想化状态下的交易结果,绝不能等同于实际交易的结果。下面举一个简单的例子来说明:投资者的系统单笔最大开仓手数是1000手,试想这样的单笔交易量在目前的期货主力合约上能一次性成交吗?不能成交的情况如何统计?无论是选择追价全部成交,还是选择不成交,都有可能使最终的交易结果截然不同,系统交易者显然没有考虑这种很常见的情况。
1.8.3 把股票指数当作实际交易标的
我们知道,上证指数代表的是上海股市的走势,是上海证券交易所上市的所有股票的加权平均结果。从计算方法可以知道,其本身已经经过了多次平滑,所以其波动特征和一般股票或商品价格的波动特征具有根本的不同。这一点通过上证300指数和已经上市的上证300股指期货的日内走势对比就可以一目了然。正因为指数本身已经经过了多次平滑,所以可以推断,使用一个简单的均线或平滑性的程序化交易系统交易上证指数肯定能取得优异的交易结果,但实际上我们都明白,这样的交易标的在现实市场中是不存在的。
1.8.4 把把极端适应优化结果当成普遍适用的
很多投资者的“系统”之所以能在上证指数上取得这种令巴菲特、索罗斯等世界级投资者大师都汗颜的骄人结果,无非是将该“系统”针对上证指数进行了极度的适应性优化。例如,有一个简单的程序化交易:1800点以下做多,6000点以上做空。这个系统用在上证指数上,20年来的收益率超过100倍,显然是很有效的。但我们试想,将这个系统应用在上证指数之外的市场上是否可以盈利呢?真正有效的系统需要在不同市场、不同交易品种上反复验证。
1.9 使用程序化交易要注意的问题
使用程序化交易要注意6个问题,具体如下。
(1)没有任何一个交易系统既能在趋势行情中获利,又能够在振荡走势中获利,只有在恰当的时间使用了适合的交易系统才会获取最大收益。
(2)任何交易系统都是人设计的,不同的人对技术分析的理解、解读和使用不同,设计出的交易系统是完全不一样的。因此,只有适合自己交易风格的交易系统才是最有效的。
(3)把人为的主观分析编成理性的计算机程序,需要我们舍去很多以往交易中的经验,而这些宝贵经验往往是无法通过计算机语言所能描绘的。
(4)时间周期不同(5 分钟、30 分钟、60 分钟,日图、周图、月图),交易系统给出的交易信号可能会完全不同,投资者应当根据交易品种的特性选择不同的时间周期,并且应当严格按照交易系统选择的时间周期进行交易。
(5)参数调整是决定交易系统成败的关键,因为没有任何一组参数适合所有交易品种。交易者要根据交易品种的特性不断地磨合、测试,找到适合该交易品种的参数,并且还要在今后交易过程中根据市场变化不断加以修正。
(6)程序化交易系统体现了交易者的交易思路和交易风格,但它只是交易的辅助手段,人才是交易的主体,不能本末倒置。只有将交易系统与风险管理和资金管理相互结合,才能发挥其最大功效。
推荐阅读
-
存定期哪个银行利息高(四大行存定期哪个银行利息高)
2023-07-08
在具体应用时还有很多的技术和效率问题不能很好地解决,但是程序化交易系统独创的技术分析与处理方法则将股票的走势、形态、成交...
-
炒股要了解的基本知识(股票基础知识)
2023-07-08
在具体应用时还有很多的技术和效率问题不能很好地解决,但是程序化交易系统独创的技术分析与处理方法则将股票的走势、形态、成交...
-
梅州有办平安信用卡那(梅州市梅县区有平安银行吗)
2023-07-08
在具体应用时还有很多的技术和效率问题不能很好地解决,但是程序化交易系统独创的技术分析与处理方法则将股票的走势、形态、成交...
-
洪榕券商服务股票(证券洪一)
2023-07-08
在具体应用时还有很多的技术和效率问题不能很好地解决,但是程序化交易系统独创的技术分析与处理方法则将股票的走势、形态、成交...
-
安庆个人社保扣多少钱一个月多少钱(安庆社保缴纳标准)
2023-07-08
在具体应用时还有很多的技术和效率问题不能很好地解决,但是程序化交易系统独创的技术分析与处理方法则将股票的走势、形态、成交...
-
香港融资资本公司(香港融资公司名单)
2023-07-08
在具体应用时还有很多的技术和效率问题不能很好地解决,但是程序化交易系统独创的技术分析与处理方法则将股票的走势、形态、成交...