期货程序化交易培训.ppt

上传人:laozhun 文档编号:2671831 上传时间:2023-02-22 格式:PPT 页数:81 大小:1.72MB
返回 下载 相关 举报
期货程序化交易培训.ppt_第1页
第1页 / 共81页
期货程序化交易培训.ppt_第2页
第2页 / 共81页
期货程序化交易培训.ppt_第3页
第3页 / 共81页
期货程序化交易培训.ppt_第4页
第4页 / 共81页
期货程序化交易培训.ppt_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《期货程序化交易培训.ppt》由会员分享,可在线阅读,更多相关《期货程序化交易培训.ppt(81页珍藏版)》请在三一办公上搜索。

1、善用程序化工具提升客户交易能力,程序化交易培训,以卓著策略研究 见证您成就非凡,以程序化交易提升客户交易能力,客户编程入门及程序化案例,程序化交易策略开发基础,帮助客户 理解测试报告,1,4,3,2,程序化交易策略的优化,5,以程序化交易 提升客户交易能力,上半年行情特征的常规总结,宏观经济因素特别复杂趋势性差价格的波动率小交易成本太高,造成资金流失成交量/持仓量的值小盈利难度大从两个策略的表现来分析行情的特征,5,上半年行情特征的常规总结,均线组合交易资金曲线图,上半年行情特征的常规总结,均线策略交易逻辑,计算10周期移动平均线Ma10,计算20周期移动平均线Ma20。如果Ma10上穿Ma2

2、0,则以收盘价开多仓;如果Ma10下穿Ma20,则以收盘价开空仓。交易级别为30分钟。该策略为一直在市,为非多即空的系统。策略按照等市值同时交易股指、铜、橡胶、锌、白糖、棉花、螺纹钢、PTA、塑料、豆油等10个品种。,7,上半年行情特征的常规总结,周期突破组合交易资金曲线图,上半年行情特征的常规总结,周期突破策略交易逻辑,计算20周期最高点High20,计算20周期最低点Low20。如果收盘价上穿High20,则以收盘价开多仓如果收盘价下穿Low20,则以收盘价开空仓交易级别为30分钟。该策略为一直在市,为非多即空的系统。策略按照等市值同时交易股指、铜、橡胶、锌、白糖、棉花、螺纹钢、PTA、塑

3、料、豆油等10个品种。,历史重复着什么?,历史重复不是指价格的简单重复历史重复着市场不变的本质:人性不会变人性的弱点不会变人性弱点导致的错误不会变历史重复着人性弱点的表现形式:市场证明大多数是错的市场让大部分人犯错人性的弱点不断重复人性弱点高度膨胀的结局不断重复,10,程序化交易优势,我们对程序化交易的理解,程序化交易特点,策略模型构建,我们对策略模型构建的理解,策略模型构建,最复杂 不等于 最有效,策略模型构建,最简单的价位突破策略模型举例,假设标准的分别是高斯分布,那么无论通过什么策略,我们都是无法盈利的。我们能够盈利是因为历史数据之间有某种联系。尖峰胖尾,高阶相关等等,任何隐的相关性都可

4、以用来盈利。盈利随着发现者的增多,这种无效性就会越来越少。因此有必要保护好自己的策略。,程序化交易能盈利吗?,程序化交易优势,程序化交易 如何提升交易能力帮助形成交易思想快速验证交易策略程序化止盈止损(客服人性弱点 减轻盯盘压力)尝试新品种需注意在完全无人工值守的情况下 资金回撤幅度可能过大,程序化交易优势,证据为基础的技术分析(evidence-based technical analysis,EBTA),客户实际使用程序化交易 可能遇到的问题不熟悉交易策略完整流程不知道如何评估测试结果测试结果与实盘交易无法匹配测试结果过度最佳化测试样本数据不足忽略佣金成本与滑移价差过分质疑或过分相信系统,

5、客户FAQ,程序化交易策略开发基础,程序化策略流程,入场策略和出场策略入场策略是引发买卖信号并开始交易的程序出场策略是了结头寸的规则组合两种入场和出场组合总是在市场中,或者做多或者做空;做多、做空;或者完全在市场之外(观望)。有多少位交易者,就有多少种入场和出场策略。,程序化策略流程,4S法则每个入场策略必须解决四个常规的设计问题:灵敏度、选择度、敏感度和耐受度,统称为4S。1、灵敏度灵敏度越高,市场运动和实际入场信号之间的延迟时间越短。比如基于盘中数据的入场信号将比基于月数据的入场信号更灵敏。2、选择度选择度越高,系统的盈利因子越大。盈利因子是毛利润与毛亏损的比值。如典型的趋势突破入场一般比

6、趋势跟随入场具有更好的选择性,因为价格震荡区间内时,它并不产生信号。,4S法则,3、敏感度入场策略越完善,它对噪声的敏感度越低,按照计划运行的可能性越大。例如,与复杂的波动性突破策略相比,简单趋势跟随策略一般不会错过重要趋势,因为价格可能连续数日走高或走低而不触发波动性突破入场信号。4、耐受度可以在较为广泛的多元化投资组合上使用?交易策略的耐受度越高,它可以应用的投资组合就越广泛,它的获利性就越容易长期保持。例如,与逆势策略相比,趋势跟随策略可以被应用于更多市场。,4S法则,趋势跟随(TF)策略在检测到的趋势方向上建仓。比如5日和34日MA。策略劣势当市场位于交易区间内时,趋势跟随策略易于受到

7、双面拉锯式亏损的影响。如果价格以较快的速度运动,那么移动平均在发出趋势改变信号时就显得比较慢,在出场前放弃一大部分持有仓位的利润。因为其他市场参与者也会关注关键移动平均值,所以趋势跟随策略在入场和出场时会导致额外的滑移价差产生。,常见交易策略分析,常见交易策略分析,逆势振荡(AT)策略寻找在预期的新趋势中建仓的机会。(如使用震荡指标来度量超买或超卖行情)逆势策略比较灵敏,如果市场区间波动的话,逆势策略会产生令人惊叹的风险/回报比。策略劣势如果价格按原先的趋势运动,那么逆势策略便会导致巨额亏损。如果市场动量强劲,一笔大型亏损交易便会抹平多笔盈利交易的利润。逆势策略需要很好的执行力和较低的交易费用

8、,以保证持续获利。,常见交易策略分析,突破型(RB)策略当价格超出预设屏障时买进或卖出。突破型策略是一种特殊类型的趋势跟随策略。(例如将价格突破定义为在数日或数周的固定周期上出现新高或新低。又例如使用移动平均两侧的波动性交易带。)突破型策略可以克服趋势跟随策略的限制,避免在价格振荡区交易,信号延时很小或没有!策略劣势当市场在新的价格高点或低点之后反转进入先前的价格整固区时,突破型策略易受假突破的影响。,基于形态的策略传统的价格形态比如双重底和三角形。这类形态可以用来初始化趋势跟随、逆势或突破型入场。基于事件的策略基于事件的策略在预定事件的前后对市场运作进行分析,这些预定事件包括经济统计数字或红

9、利分配的发布。例如,美国失业数据一般在每月的第一个星期五发布,而债券和股票市场经常焦急地期待这些数据。优点:交易者能够建立独特的入场,而不容易被其他交易者推导出来。缺点:需要对策略频繁地重新定义。,常见交易策略分析,条件组合与过度适配,策略中条件过多造成的问题例如开仓规则前一根k线RSI30近日最高价大于昨日最高价今日收盘价格大于20日收盘价格20%之上今日收盘价格大于前一日价格区间上三分之一之上参数优化时易造成过度适配,只遴选异样价格形态,基于策略本身:如均线交叉或区间突破基于价位(获利目标):获利目标出场的最大限制是趋势可能在出场后继续。所以重新入场的条件和交易规模会对整体业绩产生重大影响

10、。基于时间:(如收盘前出场)所有市场都没有最佳交易持续时间。在我们出场之后,趋势很可能会继续,所以会损失较多的机会。跟踪止损:当市场以平滑、长期的趋势运动时,跟踪止损表现最佳。但设置较远的止损可能出场太慢,较近的止损易被击穿(ATR)。出场必须以止损单的形式设置,所以场内交易者可能会想方设法推动市场穿越价格图表上关键的支撑或压力价位来“击中”这些止损。,出场策略,出场策略,我们对“优秀”程序化交易策略的理解,什么是优秀的程序化交易策略,程序化交易策略举例,程序化交易策略举例,程序化交易策略举例,程序化交易策略举例,编程入门及程序化案例(编程解读及测试结果),帮助客户学习程序化编程(以TB为例)

11、TB公式系统架构:公式系统最底层的东西就是函数,系统函数或者用户函数。函数负责准备数据,这是个数据层。指标、K线形态、特征走势和交易指令是表现层,他们负责把函数准备好的数据呈现出来。函数是用来被调用的。指标、K线形态、特征走势和交易指令都可以调用函数,但是指标却不能调用指标,指标也不能调用交易指令。,编程入门,当前时间周期下所有K线的相关数据,按照时间从先到后的顺序排列而成的序列数据。每根K线中包含的数据如下:,Bar数据的使用,Bar数据的使用,Bar数据是TB公式运行的基础。Bar数据是序列数据,可以回溯读取(图示)。举例:比较今天的最高价是否突破了昨天的最高价 表达式为:High Hig

12、h1 比较今天的最高价是否突破了前两天的最高价 表达式为:High High1 and HighHigh2 或者:High High1&HighHigh2,39,Bar数据的使用,40,序列变量,序列变量,序列变量,序列变量,序列变量,序列变量,序列变量,序列变量,序列变量,序列变量,序列变量,序列变量,N N-1 2 1 0,41,非序列变量,Bar数据的使用,TB的公式一般由三段组成。ParamsNumeric Length(10);公式参数段 VarsNumericSeries MA;公式变量段 BeginMA=AverageFC(Close,Length);公式脚本段 End,TB公式

13、结构,TB的执行流程TB在历史数据测试中的运行机制和交易时间的运行机制有何区别?值得注意的是1、由于是历史数据,每根Bar都是现成的,是没有Tick的概念的。交易代码,在每根bar上运行一遍。2、由于参数是不能动态改变的,所以,虽然也是程序代码的一部分,但没有必要在每根Bar上都读取一次。只在第一根Bar上读取参数,以后共用即可。3、由于是历史数据,不会再发生改变,所以,不会出现信号时有时无的现象。4、由于是历史数据,没有买卖盘的动态数据,所以,不会出现滑点,也不会出现成交不了的现象。,编程入门,TB运行机制,简单概括就是:从左到右,从上到下,TB的执行流程TB在历史数据测试中的运行机制和交易

14、时间的运行机制有何区别?【在真实交易时间】开盘后,分笔交易数据(tick)开始传过来。为了保持实时性,TB就必须对每个tick做出响应,就是在每个tick都运行一次程序代码。每根最新的Bar上,程序代码都被多次执行。这一点,和历史数据测试时明显不同。这条Bar的数据中,除了开盘价之外,其他的比如:收盘价、最高价、最低价都在随着每个Tick的变动而变动。如果交易代码中的开平仓条件中,用到了close、high、low,则有可能使信号时有时无。同样的一根Bar上,由于主力的拉升,价格突然走高,符合了买入条件,该Tick出现后,交易代码执行一次,发现符合买入条件,就发出买入指令。下一笔,价格又被打压

15、下来,价格如此反复几次,就会在该Bar上反复买入多次。从而形成反复开仓。如果该Bar最终定型时,价格被打压回来了,超级图表上在该Bar上是不会显示任何交易信号的,但实际上,却在该Bar上买入了多次。,编程入门,建议客户重写用户函数1、Summation求和函数从这个函数中你能学到IF语句,FOR循环语句的用法,以及序列变量的用法。2、Average求平均函数从这个函数中你能学到如何进行函数调用,并且把早先写的Summation函数用一用,增强点成就感 3、Extremes求极值函数这个函数比较长,有74行代码。它几乎用到了所有的编程技巧。IF语句,FOR语句,序列参数,序列变量,而且它还用了稍

16、微高级的引用变量。如果你能写出这个函数,那么你在公式上就已经入门了。建议客户重写两个指标,看看如何来使用函数1、MA指标。学习如何来使用Average函数返回的数据。2、Spread价差指标。学习如何使用多数据源调用。,编程入门,TB公式中有三种基本的数据类型 数值型(Numeric)字符型(String)布尔型(Bool)为了对变量、参数进行回溯,又增加了序列类型 数值型序列变量/参数(NumericSeries)字符型序列变量/参数(StringSeries)布尔型序列变量/参数(BoolSeries)为了通过用户函数返回多个值,又增加了引用类型数值型引用(NumericRef)字符型引用

17、(StringRef)布尔型引用(BoolRef),数据类型,参数在使用前必须进行声明,声明方法如下:ParamsNumeric Length(10);String Filename(D:sample2.log);bool OutputToFile(false);公式应用和用户函数的参数略有不同:公式应用的参数只支持三种基本类型,用户函数的参数支持全部九种类型;公式应用的参数一定要有初始值,而用户函数的参数可以没有默认值;参数的值在公式的脚本段中只能引用,不能修改;,参数的声明和使用,变量的主要用处在于它可以存放计算或比较的结果,以方便在之后的脚本中直接引用运算的值,而无需重现计算过程。变量在

18、使用前必须进行声明,声明方法如下:VarsNumericSeries MA;Numeric Stopline(30);变量的赋值(变量类型和表达式的类型要一致)变量名称=表达式;例如:MA=AverageFC(Close,10);,变量的使用,控制语句,条件语句(If-Else)if 语句 if-else 语句 if-Else if 语句 if-Else 嵌套循环语句(ForWhile)For 循环变量=初始值 TO 结束值 For 循环变量=初始值 Downto 结束值 While 循环,条件语句-IF Else语句,语法如下:If(Condition)TB公式语句1;Else TB公式语句

19、2;如果TB公式语句是单条,您可以省略,二条或者二条以上的语句必须使用。,For 语句 1,For语句是一个循环语句,重复执行某项操作,直到循环结束。语法如下:For 循环变量=初始值 To 结束值 TradeBlazer公式语句;For循环的执行是从循环变量从初始值到结束值,按照步长为1递增,依次执行TradeBlazer公式语句,结束值必须大于或等于初始值才有意义。,For 语句 2,如果希望For语句从大到小进行循环,可以使用以下的语法:For 循环变量=初始值 DownTo 结束值 TradeBlazer公式语句;For-DownTo让循环变量从结束值每次递减1直到等于结束值,依次调用

20、TradeBlazer公式语句执行,初始值必须大于或等于结束值才有意义。,For语句求和及均线,Sample:ParamsNumeric Length(10);VarsNumeric SumValue(0);Numeric MA;Numeric i;BeginSumValue=0;for i=0 to Length-1SumValue=SumValue+Closei;MA=SumValue/Length;Commentary(SumValue=+text(SumValue);Commentary(MA=+Text(MA);End,叠加多个商品合约进行交易,TB可以在一个图表中插入多个商品合约,

21、支持同时对多个商品合约数据源编写公式应用。具体的方法是在交易指令、BAR数据及系统函数前加上数据源。TB中数据源的命名规则如下:Data0:图表中最开始选择的商品合约Data1:第一个插入的商品合约Data2:第二个插入的商品合约一个图表最多支持50个数据源;调用方法:Data1.A_SendOrder()Data2.Buy(.)Data3.Close Data4.MarketPosition,交易常用系统函数介绍,Integer MarketPosition()-获得当前的持仓状态返回值为整型。返回值定义如下:-1 当前位置为持空仓 0 当前位置为持平 1 当前位置为持多仓 这个函数用来配合

22、Buy/Sell指令工作,对A_SendOrder无效。Integer BarsSinceEntry()-获得当前持仓的第一个建仓位置到当前位置的Bar计数。只有当MarketPosition!=0时,即有持仓的状况下,该函数才有意义,否则返回0;在开仓Bar上为0。,Bool CrossOver(NumericSeries Price1,NumericSeries Price2)-求Price1是否上穿Price2返回值为布尔型。Price1和Price2必须为数值型序列值。Bool CrossUnder(NumericSeries Price1,NumericSeries Price2)-

23、求Price1是否下穿Price2返回值为布尔型。Price1和Price2必须为数值型序列值。,信号消失问题,产生原因:使用变化的价格(如Close)或是基于最新价Close计算的技术指标,来作为交易的进场、出场或止损条件时,就会产生信号消失问题。如果编写的公式策略中存在信号闪烁问题,在历史测试中会得出失真的测试结果,在实盘交易时,更会因为重复发单造成严重损失。信号消失问题的一般解决办法:延迟发单或用前一根K线的数据来做为判断条件用能保持得住的价格来做为判断条件,用前一根K线做判断举例:condition=交易条件If(condition1)Buy(1,Open);用High,Low,Ope

24、n等做判断 If(HighHigh1)buy(1,High1);,信号消失问题,/名称:使用参数和变量/类别:公式应用/类型:用户应用/输出:/-ParamsString Filename(c:tbsample3.txt);VarsNumeric change;Beginchange=Close-Close1;FileAppend(Filename,Date=+DateToString(Date)+Time=+TimeToString(time)+Close=+Text(Close)+涨跌:+text(change);End,公式编写举例1,公式编写举例2,/名称:双均线系统Params Nu

25、meric Length1(10);Numeric Length2(20);Numeric Lots(1);Vars NumericSeries MA1;NumericSeries MA2;BoolSeries condBuy(false);BoolSeries condSell(false);Begin MA1=AverageFC(Close,Length1);MA2=AverageFC(Close,Length2);PlotNumeric(MA1,MA1);PlotNumeric(MA2,MA2);condBuy=CrossOver(MA1,MA2);condSell=CrossUnder

26、(MA1,MA2);If(MarketPosition 1 and condBuy1=true)Buy(Lots,Open);If(MarKetPosition-1 and condSell1=true)SellShort(lots,Open);End,公式编写举例3,/名称:双均线止盈止损Params Numeric Length1(10);Numeric Length2(20);Numeric Lots(1);Numeric TakeProfit(1);/百分比Numeric StopLoss(20);Vars NumericSeries MA1;NumericSeries MA2;Boo

27、lSeries condBuy(false);BoolSeries condSell(false);Numeric MinPoint;Numeric MyEntryPrice;Numeric MyExitPrice;Begin MA1=AverageFC(Close,Length1);MA2=AverageFC(Close,Length2);PlotNumeric(MA1,MA1);PlotNumeric(MA2,MA2);condBuy=CrossOver(MA1,MA2);condSell=CrossUnder(MA1,MA2);If(MarketPosition 1 and condBu

28、y1=true)Buy(Lots,Open);If(MarKetPosition-1 and condSell1=true)SellShort(lots,Open);,MinPoint=MinMove*PriceScale;MyEntryPrice=AvgEntryPrice;if(MarketPosition=1)if(High=MyEntryPrice*(1+TakeProfit*0.01)MyExitPrice=MyEntryPrice*(1+TakeProfit*0.01);if(open MyExitPrice)MyExitPrice=Open;Sell(0,MyExitPrice)

29、;Else if(Low MyEntryPrice+Stoploss*MinPoint)MyExitPrice=MyEntryPrice+Stoploss*MinPoint;if(Open MyExitPrice)MyExitPrice=Open;BuyToCover(0,MyExitPrice);End,公式编写举例3,64,指标编写常见问题,指标编写完成后,还要注意在属性设置中进行相应的设置;指标是在主图显示还是在子图显示;指标的线型;从V3转到V4的客户注意参数的位置另外学习的例子可以参考:MACD指标的写法(柱状图)SAR指标(点图),帮助客户 理解测试报告,测试周期测试周期应该足够长

30、,一般为2年或更长时间,以便包含多个交易区间和趋势周期。另一种选择方法是在测试周期应产生多笔交易。触发100次交易是最低标准。在对单一市场进行测试和优化时,习惯上将整个数据分为三部分。首先使用中间部分来开发系统规则,然后用开头和结尾的数据对系统重新检查。用来开发规则的中间部分数据叫做“样本内”数据。我们需要使用“样本外”数据来避免测试期间的过度优化。,解读测试报告,净利润总额净利润总额是毛利润和毛亏损之差。盈利比率(胜率)显然该数字越大越好。趋势跟随系统常见的胜率是30%50%,高于60%的比较少见。震荡系统的胜率通常较高。平均每笔盈利/平均每笔亏损平均每笔盈利等于毛利润除以盈利交易总数。平均

31、每笔盈利与平均每笔亏损的比可以用来计算破产风险。典型趋势跟随系统的返回值大于2。,解读测试报告,平均交易利润净利润除以总交易数目。该数字取决于测试数据和交易系统规则。该数字当然越大越好。但如果数值为负或者太小,除非再在其他市场和其他时间框架上测试,否则不要用该策略交易。最大单笔盈利(亏损)超常趋势可以使我们得到一次大型的盈利交易。如果最大单笔盈利的利润超过净利润的50%,交易者就要小心了。经验上的做法是将最大单笔盈利的利润从毛利润中删除。但是为了做一些对交易系统不利的调整,不要删除最大单笔亏损带来的亏损。我们并不希望得到大型盈利交易的周期,而是在测试周期上带来最恶劣亏损的周期。,解读测试报告,

32、最大连续亏损最大连续亏损会对资金回撤产生巨大的影响。交易者应该仔细分析连续亏损出现的周期,以便理解在什么样的行情下自己的交易系统会产生大型亏损。作为一条粗略的经验规则,交易者应该自问是否可以容忍两倍于报告中对于最大连续亏损交易给出的数字。这将告诉交易者如何设计资金管理方针,从而避免严重的资金回撒。交易者还应自问,是否可以持有一笔亏损交易,持续如报告中所示的平均每笔亏损的长度。,解读测试报告,交易持续时间交易持续时间这一块给出了平均获利和亏损交易的长度(盈利交易中的平均棒线数等于平均每笔盈利的长度)。交易者应自问一下,如果持有头寸的持续时间如测试中所示平均盈利交易的长度,是否会感觉比较舒适?是否

33、有纪律使自己的交易持续两倍于平均每笔盈利的长度?如果没有耐心,这将是一项困难的任务,而交易者将错过大型获利。交易者还应自问一下,平均每笔盈利的长度是否与自己的交易周期相一致。如果平均交易的长度太长或太短,首先在更多数据上测试该系统,然后在其他市场上测试。如果对所得长度仍然不满意,那么就应当考虑更改交易系统了。,解读测试报告,程序化交易策略的优化,核心目标:获得平滑向上的资金曲线对付资金曲线的下侧,而让市场去对付其上侧。让账户资金的增长率最大化,而同时控制累积亏损的扩大。,优化策略,风险管理亏损不等于风险交易风险:由个别交易部位产生(隔夜持仓风险,涨停跌停风险)策略风险:由交易策略产生(所有的策

34、略都可能变得不赚钱)投资组合风险:由多重策略,多重时间轴,多重市场产生,风险管理,优化策略,利用系统对参数进行优化(以文华为例)过度优化风险:参数优化只是对历史数据而言,参数过度拟合(Overfit)过度拟合(Overfit)是这样一种现象:一个假设在数据样本上能够获得比其他假设更好的拟合,但是在样本数据外的数据集上却不能很好的拟合数据。由于样本中存在噪音,所以模型的拟合优度只能达到一定程度,这是理论能达到的最优拟合度。有些时候,当模型把噪音当成了信息进行拟合,使得拟合优度超过了理论的最优拟合度,过度拟合的模型实际上包含了错误的信息,预测能力很差。这种拟合叫做过度拟合。,优化策略,滑移价差风险

35、测试报告会使我们得出不切实际的结果。测试和交易之间很难实现“完美”的匹配。比如,测试报告没有给出滑移价差的实际影响。软件给出的交易实现方式或许不能代表实际实现的交易。假设将面对比软件中更多的滑移价差会比较安全,在某些情况下,软件将给出现实无法实现的订单。如呆这恰巧是一笔大型的盈利交易,那么我们会高估交易的获利性。规避模拟交易中的滑移价差风险设置更高的交易手续费(2%3%双边),优化策略,优化策略,复盘在图表上分笔地分析测试结果,以便理解系统规则的运作。这将加强我们对交易系统的信任度。对不具获利性交易的分析常常可以揭露出我们的交易逻辑中存在的缺陷。逐笔交易的分析还可以加强交易者在交易入场和出场时

36、的判断力。所有的计算机测试都产生于无干扰、无情绪的环境,交易时没有任何的风险可言。在使用该系统进行真实交易时,交易者常常变得非常情绪化,因为风险是比较高的。但是我们在测试系统时永远不会有这种压力。,测试策略耐用度交易策略可以成功应用的投资组合越广泛,耐用度就越高,它的获利性就越容易长期保持。测试不同品种时,不宜用优化参数。构建投资组合第一步:选择品种。兼顾风险、波动性、投机价值,以及品种相关性。第二步:选择风险管理方式。把风险控制在合理范围之内,比如20%的回撤。选择单品种单策略只动用10%的资金。第三步:根据获利目标选择策略。第四部:单品种测试和组合测试。,优化策略,分布是随机的。我们永远不

37、能预测亏损定单将会如何分布在赢利定单中。.赢利定单理想的分布并且亏损定单在整个交易历史中 均匀分布:P P P L P P P L P P P L P P P L P P P L P P P L P P P L.下面是一组在真实交易中赢利交易和亏损交易不均匀分布的范例:P P P P P P P P P P P P P P L L L L L P P P L P P P L.,资金管理,资金管理,选项 1.一个定单值是流动资金的 10%。选项 2.一个定单值是流动资金的 50%。在选项1 中的连续亏损总数不会影响交易的总结果,但是选项2 中的结果却是灾难性的。因此,我们可以说错误的投资带来的连续亏损导致的是全面性的灾难。为此,我们可以创建有效的资金管理系统。根据这个系统限定,一个定单的值不能超出总体差额的10%,并且投资的总数额不能超过它的50%。该系统为交易做出了有益的限定规则。,程序交易新视野,部位缩放控制(Position Sizing)(波动率调整、加倍、反向加倍、凯利法则)神经网络算法/遗传算法(Neural Network)让系统自己去学习,进化量化交易算法交易(Algorithmic Trading)解决程序化交易的执行成本问题,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号