① 如何建立程序化交易系统
弄清楚什么时候进场,什么时候止盈出场,什么时候止损出场,什么时候加仓,什回么时候减答仓,弄清楚仓位和资金怎么管理,把上述整个逻辑理清楚,然后用你用的那个程序化软件的语言把你的逻辑写出来,然后做测试,测试的品种,K线周期,和数据周期越长越好,越多越好,争取让你的程序化交易系统有个普适性,既普适性好的程序化交易系统过度优化的可能性相对小一些,对了,记得不要过渡优化,没有人能预测未来行情,我们做的只是跟随。
② 如何建立自己的程序化交易系统
和讯特约 成功交易的一个秘密就是找到一套适合你的交易系统。这个交易系统是非机械的,适合你自己个性的,有完善的交易思想、细致的市场分析和整体操作方案的,在风险市场的赢家都有自已的交易系统,因此寻找适合自已的交易系统与完善自已的交易系统是专业交易人士投资的一生几乎每天都在做的一件事。 什么是交易系统?交易系统是完整的交易规则体系。一套设计良好的交易系统,必须对投资决策的各个相关环节作出相应明确的规定。这种规定必须是客观的、唯一的,不允许有任何不同的解释。一套设计良好的交易系统,必须符合使用者的心理特征、投资对象的统计特征以及投资资金的风险特征。 交易系统的特点在于它的完整性和客观性。它保证了交易系统结果的可重复性。从理论上来说,对任何使用者而言,如果使用条件完全相同,则操作结果完全相同。系统的可重复性即是方法的科学性,系统交易方法属于科学型的投资交易方法。推荐阅读周期蓄势待发 商品缓步下行胶市仍处于寻底过程中2012年有色金属将黯然失色糖价跌破6500地方收储或启动2012年钢价走势或将前低后高需求拖累PVC难改弱势格局信心略恢复甲醇步入盘整期2011期货产品创新领跑者系列访谈 大部分投资人往往把决策的重点放在对市场的分析和判断上,其实这是非常偏颇的。成功的投资不但需要正确的市场分析,而且需要正确的风险管理和正确的心理控制。三者之间心理控制是最重要的,其次是风险管理,再次才是分析技能,即所谓的3M系统(Mind、Money、Market)。如果用一个比方来形容,对市场的判断在投资行为的重要性中只占1%而已,被大多数投资人忽略的东西,才是投资行为中的决定性因素。市场分析是管理的前提,只有从正确的市场分析出发,才能建立起具有正期望值的交易系统,风险管理只有在正期望值的交易系统下才能发挥其最大效用,而心理控制正是两者的联系桥梁和纽带。一个人如果心理素质不好,则往往会偏离正确的市场分析方法,以主观愿望代替客观分析,也常常会背离风险管理的基本原则。 投资人若想在效率市场持续稳定的赢利,必须成功的解决两大问题: 1、如何在高度随机的价格波动中寻找非随机的部分; 2、如何有效的控制自身的心理弱点,使之不致影响自己的理性决策。很多投资家的实践都证明,交易系统在上述两方面都是投资人的有力助手。 大多数投资者在进入市场的时候,对市场的认识没有系统的观点。很多投资人根据对市场的某种认识,就片面的承认或否认一种交易思路的可行性,其实他们不知道,要想客观的评价一种交易方法,就要确认该方法在统计概率意义上的有效性。无论是随机还是非随机的价格波动中不具备统计意义有效性的部分,只能给投资人以局部获胜的机会而没有长期稳定获胜的可能。而交易系统的设计和评价方式可以帮助投资者有效的克服对方法认识的盲目性和片面性。 交易系统还可以帮助投资人有效的控制风险。实践证明,不使用交易系统的投资人,难以准确而系统的控制风险。没有交易系统做指导时,投资人很难定量评估每次进场交易的风险,并且很难评估单次交易的风险在总体风险中的意义。而交易系统的使用,可以明确的告诉投资人每次交易的预期利润率、预期损失金额、预期最大亏损、预期连续赢利次数、预期连续亏损次数等,这些都是投资风险管理的重要参数。 帮助投资人有效的克服心理弱点,可能是交易系统的最大功用。交易系统使交易决策的过程更加程序化、公开化、理性化。投资人可以从由情绪支配的处于模糊状态的选择过程转变为定量的数值化的选择过程,即单纯判定信号系统的反映以及执行信号所代表的决策。 交易系统几个核心内涵 1、心态核心。 在交易系统没有提出可交易各股时期,心态如何摆正,并且做到行与心合一,是交易系统能够发挥系统交易的首要条件。如果,一套很好的交易系统,但心态急躁,无法忍耐空仓或者视那些持续飚升但不知道如何控制风险才为合理而又强行介入,那么,作为脱离交易系统控制,导致的失败,就不能归咎于交易系统程序失败,是心态失败导致了交易失败。因此,偶认为,心态是最重要的,心态决定交易系统的成败。 2、得失核心。 不同的资金起点,有不同的得失。如100万与3万,年一倍,其交易次序是一致的,但掌握100万的个体,其将收益目标降低到年50%,其收益高于3万翻倍许多,其心理要求和技术要求就会大幅度的降低。因此,导致了不同的交易系系统性质,100万的个体很有可能看重中线交易系统,3万的个体很有可能看重短线交易。 3、技术核心。 市场获利模式就三种,超跌反弹、高抛低吸、强势追高。 1、超跌反弹,超,超到什么程度必反?弹,弹到什么程度必跌? 2、高抛低吸,高,高到什么程度为高?低,低到什么程度为低?吸,吸是一次还是多次? 3、强势追高,强,什么时期可以追,什么时期不能追?追,高到什么程度还可以追? 超跌反弹 不同的人有不同的分析基点,那么,定义这个超,就可以采用历史统计来实现。例如,高点下降超过60%,并且在形态、成交量分布等等技术,都达到适当,那么,这个超,就是必反的定义。历史统计应该成功率非常高才对,如果,还是很低,那么,这个就不是超。 高抛低吸 偶认为,从形式上,它应该是某种通道的产物,达到通道的上轨,抛出,达到通道的下轨,低吸(在你的系统中有使用布林线进行操作,但必须分析整个趋势处在什么状态,如果处在整理趋势之中是很可行的一种技术分析指标,但如果明显处在一个上升或下降的趋势之中,那么使用趋势线与通道线是明智的选择——当然在整理趋势中也适用,这样避免使用布林线等摆动指数所发出的模糊或错误信号)。通道的下轨永远都都在K线之下,出现小概率在之上,应该是抄底系统信号。通道的上轨永远都在K线之上,出现小概率在之下,应该是逃顶系统信号。——与布林线有同曲异工之妙。 强势追高 当指数形成中级行情的时候,才追高,这种是比较安全的。也可以在下降通道中追高,但这要取决于历史统计,实际上,强势追高是一种不理性的操作手法。在追高的选股时期,可以肯定手中有资金,行情在上涨,这部分资金踏空,那么,如果有上面两种交易系统,就不存在踏空。只存在速度上的不同。 4、控制核心 在交易系统出现信号时期,因为必然存在不确定性,就需要资金管理来将不确定性(偶称为风险)降到最大可控程度,这个并不是技术交易系统的内容。假设,一个可以达到70%成功率的技术交易系统,如果加入资金管理,可以提升到80%,那么,这个技术交易系统的成功率就是80%,而不是70%。 5、跟踪核心 在交易系统出现信号时期,并交易介入。后市趋势跟踪系统是否有转市的可能存在,如果存在,即立刻止赢。因此,好的交易系统,还应该有一个配套的好的趋势跟踪系统存在,以决定趋势的终结,以便于,让利润奔跑。 6、空仓核心 当交易系统没有信号时期,是否能够达到空仓所需要的心理素质,这也是交易系统成败的重大问题。 由此,可以清晰看到,技术交易系统只是交易系统的一个部分,而不是全部。当技术交易系统出现信号时期,并不是系统在做决策,实际上是人在综合做出行为决策。一份好的交易系统,包含了心态、技术、要求、忍耐、控制等等。所以,交易系统是综合分析系统。来解决在正确的时机、选择正确对象、进行正确的行为的决策系统。 自己的交易系统。 1、交易流程图及注意事项。 2、资金管理及应对事项。 3、指数顶底分析方法。 4、交易系统复利统计。(以控制空仓心态) 5、交易系统信号分布。(以控制等待心态) 建立交易系统总体流程步骤一:『明确交易系统的依据』; 建立交易系统的依据就是:『在市博弈总体不确定性的大环境下,要发现和分离出价格运动的确定性因素』,也就是要建立自己的『科学交易观和正确交易方法论』; 建立交易系统总体流程步骤二:『构造交易系统』; A)要明确交易系统的目的:『克服人性弱点,便于知行合一』; B)要明确交易系统的特性:『整体性和明确性』; C)交易系统随时间和证券市场外部环境变化,『本身要能够修改和进行参数调整』; D)交易系统的一些基本子系统:『行情判断、板块动向、风险管理、人性控制』; 建立交易系统总体流程步骤三:『检验交易系统』 A)检验交易系统包括:『统计检验、外推检验和实战检验』; B)要考虑交易成本; C)要考虑建仓资金量大小造成的回波效应; D)要考虑小概率事件(统计学上的胖尾)对交易系统的影响; 建立交易系统总体流程步骤四:『执行交易系统』; A)日常操作主观要服从客观,『交易有依据、欲望要消除』; B)模拟操作不可少,即使不交易,依然要『仔细看盘、仔细复盘、揣摩多空主力的思路、勤动脑多实践』,最终做到『正确地知行合一』 系统交易,即按照一套交易系统进行交易。系统交易者的时间和精力主要放在交易系统的开发中。市场中,对于采用趋势型策略的系统交易者来说,成功开发一套交易系统的要素及其重要性比重,不妨设计大致如下:范围,10%;买点,5%;卖点,10%;止损,20%;资金管理,40%;对系统的理解、洞察、应变与创新,15%。可见,资金管理是最重要的要素。在系统交易中,资金管理主要体现在以下三个层次上: 当然,不管是指标公式、交易公式,还是交易系统,其生命都源于交易策略。交易策略是根据对市场的基本原理和运行的非随机性特征及规律性进行深入研究后制订的作战原则和总体思路。我们经常见到很多大资金管理人和操盘手并不去编什么公式,他们之所以成功,就是因为对交易策略有系统而深入的掌握。当然,如果有了好的软件,他们把自己的策略放进公式里,也会省下不少的时间和精力。不过凡事均有利弊,过于机械则会损害洞察力、创造力和应变能力。 一个交易系统的形成除了有市场普遍性具有的特点外,也应有每个人个人的性格特点,对于即日交易(秒——小时)、短线(小时与天)、中线(周与月)、长线(月与年)不同交易方式的人(其中已含有个人的操作特点)也应有所不同,对于不同的市场(股票、期货、期权、价差交易、权证、基金、债券(资讯,行情)、外汇等)在交易系统中各子项的偏重点也应有所不同,就是使用的技术分析系统参数也应做充分的调整。交易策略也应有主次之分从而使整个交易系统很明确。不谈交易之前的分析策略,从交易一开始,交易系统最终要牢牢把握的就是三点(一个买点与二个卖点——止益目标点与风险控制点),从而在不明确的市场中以概率的方式获胜(截短扬长)从而获取总的利润。 【独家稿件声明】凡注明 “和讯网”来源之作品(文字、图片、图表), 未经和讯网授权,任何媒体和个人不得全部或者部分转载。
③ 程序化交易系统有好用的吗
应该有的,但好用的不会流出来,自己留着用多好,为什么要给别人呢?
而且,程序化的交易系统,也可能会有调整,就像手机或者电脑的系统更新、升级一样。
④ 个人如何实现程序化交易,需要做整套的交易系统吗
一个完整的交易系统应该包括进入、退出和资金管理。交易系统是自己投资理念的集合,因此在设计交易系统时,要充分了解自己的优缺点,将自己的投资理念融入其中,设计一个可执行的交易系统。
资金管理是一个完整有效的交易系统的重要组成部分,涉及到入、出、增仓、减仓的头寸设置。投资理财不是一朝一夕的事。前期亏损不代表后期亏损;前期盈利不代表后期盈利。我的指导思想是教人钓鱼比教他们钓鱼好。我已经建立了一套自己的经营理念,并真诚地把技术交给您,让您了解您在这个市场上做什么,有什么基础。
⑤ 请问程序化交易系统是如何实现的用的是什么编程语言怎么测试适用范围是什么谢谢!
1、程序化交易系统目前主要是通过计算机程序实现的,其实就是把交易者决策的过程用计算机语言描述出来,然后由计算机给出交易建议或直接发送交易指令到期货公司的交易系统中去,完成一笔交易。
比如我们用自然语言思考某个品种是否应该买入卖出时:“如果大豆0901价格跌破3000元,则开仓卖出三分之一......”用计算机语言描述时可能就是:
“IF A0901<=3000 THEN SELL......”
当然实际上的程序编写是比较复杂的,因为要做大量的逻辑判断和公式计算。
2、理论上来讲,用什么语言都可以完成这样的任务,但因为涉及到大量的数据读写和网络存取,所以最好用自带数据库功能的编程语言,比如Delphi,不但数据库功能很强,而且可直接读写SQL-Server、Oracle、Sybase等证券期货行业普遍采用的数据库,相应的网络控件也齐全。
3、此类交易系统适合所有的交易市场,证券、期货、外汇都已经有了类似的交易系统,但各自的模型基础不一样,因为这些软件都是根据交易者的经验来建立交易模型并编写的,而不同的交易者思路是不完全相同的。
4、在证券市场和期货市场上,如果个人要建立一个计算机程序化交易系统的话,首先要做的当然是建立交易模型,也就是把自然语言描述的交易决策过程转换成计算机语言。
其次是建立交易接口,这里有两个接口问题要解决,一是你的交易程序要读取行情软件的数据,以便系统根据行情数据作出交易决策并发出交易指令;二是你的交易程序发出的指令要下到证券公司(期货公司)的交易服务器上去,就像你自己敲单一样。
接口问题涉及到TCP/UDP端口的读写,证券(期货)公司和交易所的通信都是通过TCP/UDP进行的,他们不对最终客户开放接口,这就需要你自己破解数据格式了。
所以要建立一套有效的程序化交易系统,不但要求程序的编写者有成功的、长期有效的交易经验,还要懂得将这些经验用计算机语言描述出来,这不是一个很简单的过程。
⑥ 第三方程序化软件是如何接入证券交易系统的
一般是第三方的平台需要与证券公司合作才可以接入,但是由于每家证券的交易内柜台不一样,接入难度还容挺高的,比如掘金量化平台就提供了集中柜台对接、极速柜台对接、PB系统对接、算法交易对接以及L2硬件加速对接。
⑦ 如何搭建一个程序化自动交易外汇平台
创建交易系统的主要需要从下面几上方面来进行:1.选择时间框架,在创建交易系统时,要清楚你自己是做日内交易还是波段交易者。不同的交易类型对时间框架重点不一样。2.选择一项用于确认新趋势的指标。尽可能早的确认或发现趋势是我们创建交易系统的目的之一,为了达到这个目的我们得找到一种合适指标。在目前我们用的最多的趋势指标中移动均线是用的最为广泛的一种。在利用均线来做趋势指标时至少得采用两条:一条快线,一条为慢线。简单的理论就是快线穿越慢线时进行交易,这是均线交叉系统的基础,也是确认新趋势最简单的方法。3.选择一种验证趋势信号的指标。这个指标的目的是过滤掉一些虚假的信号,以免被虚假的信号误导,验证确认新趋势的指标发出来的信号。这样的指标有很多,但是用的最多的是MACD,KDJ,RSI等。4.确定你承受的风险与进出场点位。这里的风险是你单笔交易能承受的风险。在进场点位的选择上,最好是等到K线收盘价出了之后才进场是最好的,这时候的指标已经确立。在出场点位的选择上你可以选择移动止损的方法,也可以给自己设定一个固定的利润目标,你也可以根据指标是否反转而选择出场时机。5.制定自己的交易规则,并且利用你的系统进行不断的验证。交易系统建好之后还要进行一段时间的测试自己的系统是否合理。当经过测试后,觉得可行,那么在以后的交易中就要严格遵守它。其实在创建交易系统的时候,主要目的是两个,首先是尽可能早的发现新的趋势;系统应该能够避免市场发出的错误信号。这两点是结合在一起有些困难。在实际交易中无论在什么情况下,还是要根据形势对操作思路作出适当的调整。未来不是一成不变的。下面我可以举例为你提供一个简单的交易系统:一、交易设置。1.在日线图上进行波段交易。2.快线为周期5的移动均线,慢线为周期10的移动均线,都以收盘价计算3.随机振荡指标KDJ(参数10.3.3)4.相对强弱指数RSI参数为14二、交易规则1.止损30点;2.进场原则:①做多条件:快线上穿慢线并且KDJ指标线向上,但是如果一条指标位于超买区则放弃。RSI指数小于50②做空条件:快线下穿慢线,KDJ指标向下。但是如果其中一条指标线位于超卖区则放弃。③离场原则,当快线反穿慢线或者RSI反穿50时交易结束。
⑧ 期货程序化交易系统是如何实现的,用的是什么编程语言
、程序化交易系统目前主要是通过计算机程序实现的,其实就是把交易者决策的过程用计算机语言描述出来,然后由计算机给出交易建议或直接发送交易指令到期货公司的交易系统中去,完成一笔交易。
比如我们用自然语言思考某个品种是否应该买入卖出时:“如果大豆0901价格跌破3000元,则开仓卖出三分之一......”用计算机语言描述时可能就是:
“IF
A0901<=3000
THEN
SELL......”
当然实际上的程序编写是比较复杂的,因为要做大量的逻辑判断和公式计算。
2、
理论上来讲,用什么语言都可以完成这样的任务,但因为涉及到大量的数据读写和网络存取,所以最好用自带数据库功能的编程语言,比如Delphi,不但数据
库功能很强,而且可直接读写SQL-Server、Oracle、Sybase等证券期货行业普遍采用的数据库,相应的网络控件也齐全。
3、此类交易系统适合所有的交易市场,证券、期货、外汇都已经有了类似的交易系统,但各自的模型基础不一样,因为这些软件都是根据交易者的经验来建立交易模型并编写的,而不同的交易者思路是不完全相同的。
4、在证券市场和期货市场上,如果个人要建立一个计算机程序化交易系统的话,首先要做的当然是建立交易模型,也就是把自然语言描述的交易决策过程转换成计算机语言。
其次是建立交易接口,这里有两个接口问题要解决,一是你的交易程序要读取行情软件的数据,以便系统根据行情数据作出交易决策并发出交易指令;二是你的交易程序发出的指令要下到证券公司(期货公司)的交易服务器上去,就像你自己敲单一样。
接口问题涉及到TCP/UDP端口的读写,证券(期货)公司和交易所的通信都是通过TCP/UDP进行的,他们不对最终客户开放接口,这就需要你自己破解数据格式了。
所以要建立一套有效的程序化交易系统,不但要求程序的编写者有成功的、长期有效的交易经验,还要懂得将这些经验用计算机语言描述出来,这不是一个很简单的过程。
⑨ 个人使用上期CTP接口开发期货程序化交易平台可行吗
可行的,CTP系统提供API接口,并且允许三方接入,你可使用其他程序,或者自己编写程序对接CTp系统。