几何比率策略(TS版)_第1页
几何比率策略(TS版)_第2页
几何比率策略(TS版)_第3页
几何比率策略(TS版)_第4页
几何比率策略(TS版)_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

几何比率策略本策略讨论了交易系统评估中的关键指标,特别是几何平均数和ME比率。指出交易次数在模拟和实际交易中的差异,强调了在全时交易和复利回报下ME比率更高的系统能产生更多利润。同时,提供了计算ME比率的AmiBroker代码,并讨论了其他评估交易系统性能的指标。核心观点:1.交易次数在模拟与实际交易中有显著差异,模拟可能避免了部分交易。2.在全时交易和复利回报下,ME比率更高的系统能产生更多利润。3.ME比率考虑了交易次数和几何平均数,是评估交易系统性能的有效指标。4.提供了计算ME比率的AmiBroker代码,允许用户添加自定义指标以评估系统性能。5.讨论了其他评估交易系统性能的指标,但指出ME比率在货币表现方面更具说明性。策略概述本策略主要讨论了交易系统评估中的关键指标,特别是几何平均数和ME比率,并强调了这些指标在评估交易系统性能中的重要性。策略还指出了模拟交易与实际交易中交易次数的差异,以及ME比率在全时交易和复利回报下对系统利润生成能力的正面影响。核心观点交易次数的差异:模拟交易可能避免了部分实际交易中的情况,导致交易次数存在显著差异。ME比率的重要性:在全时交易和复利回报的情境下,ME比率更高的系统能够产生更多利润。ME比率综合了交易次数和几何平均数,是评估交易系统性能的有效工具。AmiBroker代码:提供了计算ME比率的AmiBroker代码,允许用户通过添加自定义指标来评估系统性能。其他评估指标:虽然讨论了其他评估交易系统性能的指标,但指出ME比率在货币表现方面更具说明性。交易策略示例提供了三个交易策略示例(CagigasA、CagigasB、CagigasC),每个策略均包含特定的输入参数和变量定义,以及详细的交易逻辑。①CagigasA输入参数:FundSize(100000)、BuyLookback(20)、ExitLookBack(10)变量:Quantity(0)、MEGAN(0)交易逻辑:基于买入回溯天数的最高价买入,基于卖出回溯天数的最低价卖出,并计算MEGAN值。②CagigasB输入参数:FundSize(100000)、FastLength(5)、SlowLength(20)、ExitLookBack(2)变量:Quantity(0)、MEGAN(0)交易逻辑:基于快速和慢速移动平均线的交叉来决定买入和卖出,使用最高价买入和最低价卖出,并计算MEGAN值。③CagigasC输入参数:FundSize(100000)、FastLength(5)、SlowLength(20)、StartMonth(7)、EndMonth(4)变量:Quantity(0)、MEGAN(0)交易逻辑:在特定月份内,基于快速和慢速移动平均线的交叉来决定买入,使用最低价卖出,并计算MEGAN值。MEGAN_Calc函数该函数用于计算MEGAN比率,输入参数包括基金规模、总交易数、净收益等,通过计算几何平均数和每年最大交易数来得出MEGAN值。此外,函数还包含错误处理和输出信息打印的功能,确保计算的准确性和用户反馈的便利性。总策略通过详细的交易策略示例和ME比率的计算方法,为评估交易系统性能提供了有力的工具。通过考虑交易次数和几何平均数,ME比率能够更全面地反映交易系统的盈利能力,从而帮助投资者做出更明智的决策。策略信号:Ainputs:FundSize(100000),BuyLookback(20),ExitLookBack(10);variables:Quantity(0),MEGAN(0);Quantity=Floor((FundSize+NetProfit)/Close/100)*100;BuyQuantitysharesnextbarHighest(High,BuyLookBack)stop;SellnextbaratLowest(Low,ExitLookBack)stop;MEGAN=MEGAN_Calc(FundSize);策略信号:Binputs:FundSize(100000),FastLength(5),SlowLength(20),ExitLookBack(2);variables:Quantity(0),MEGAN(0);Quantity=Floor((FundSize+NetProfit)/Close/100)*100;ifAverage(Close,FastLength)>Average(Close,SlowLength)thenBuyQuantitysharesnextbarHighstop;SellnextbaratLowest(Low,ExitLookBack)stop;MEGAN=MEGAN_Calc(FundSize);策略信号:Cinputs:FundSize(100000),FastLength(5),SlowLength(20),StartMonth(7),EndMonth(4);variables:Quantity(0),MEGAN(0);Quantity=Floor((FundSize+NetProfit)/Close/100)*100;ifAverage(Close,FastLength)>Average(Close,SlowLength)and(Month(Date)>StartMonthorMonth(Date)<EndMonth)thenBuyQuantitysharesnextbarHighstop;SellnextbaratLowest(Low[1],10)stop;MEGAN=MEGAN_Calc(FundSize);函数:MEGAN_Calc_inputs:FundSize(numericsimple),OutsideTotalTrades(numericsimple),MyNetProfit(numericsimple),OutsideBarsSinceEntry(numericsimple),OutsideMarketPosition(numericsimple),OutsideNumWinTrades(numericsimple),PrintOut(truefalsesimple);variables:InitialDate(0),GeometricMean(0),MaxTradesPerYear(0),MEGAN(0),TotalInDays(0),MyBarsSinceEntry(0),MyMarketPosition(0),MyTotalTrades(0);ifBarType<>2thenRaiseRunTimeError(“Incorrectbarinterval.“+“MEGAN_Calccanbeappliedtodailybarsonly.”);ifOutsideTotalTrades-MyTotalTrades>1thenRaiseRunTimeError(“MEGAN_Calcallowsonlyone“+“tradeineachbar.”);ifCurrentBar=1thenInitialDate=Date;ifMyTotalTrades<>OutsideTotalTradesthenbeginTotalInDays=TotalInDays+MyBarsSinceEntry;ifOutsideTotalTrades>0thenbeginifTotalInDays<>0thenMaxTradesPerYear=252/(TotalInDays/OutsideTotalTrades);GeometricMean=Power((FundSize+MyNetProfit)/FundSize,1/OutsideTotalTrades);MEGAN=MaxTradesPerYear*Log(GeometricMean);end;end;ifLastBarOnChartandOutsideTotalTrades>0andPrintoutthenbeginPrint(“StartTradingDate:“,ELDateToString(InitialDate),NewLine,“LastTradingDate:“,ELDateToString(Date),NewLine,“InitialFundValue:“,FundSize:8:0,NewLine,“FinalFundValue:“,FundSize+MyNetProfit:8:0,NewLine,“TotalTrades:“,OutsideTotalTrades:6:0,NewLine,“%W:“,OutsideNumWinTrades/OutsideTotalTrades*100:6:0,NewLine,“AvgDaysInTrade:“,TotalInDays/OutsideTotalTrades:8:1);Print(“TerminalWealthRelative(TWR):“,iff(FundSize>0,(FundSize+MyNetProfit)/FundSize,0),NewLine,“MaxTradesPerYear(N):“,MaxTradesPerYear:8:1,NewLine,“GeometricMean:“,(GeometricMean-1)*100:8:1,NewLine,“MEGAN:“,MEGAN);end;MyMarketPosition=OutsideMarketPosition;MyBarsSinceEntry=OutsideBarsSinceEntry;MyTotalTrades=OutsideTotalTrades;MEGAN_Calc_=MEGAN;策略名称信号A解释:inputs://输入参数:

FundSize(100000),//资金规模(初始资金),设为100000

BuyLookback(20),//买入回溯天数,设为20天

ExitLookBack(10);//卖出回溯天数,设为10天variables://变量:

Quantity(0),//交易数量,初始为0

MEGAN(0);//MEGAN值,初始为0Quantity=Floor((FundSize+NetProfit)/Close/100)*100;//计算交易数量//交易数量等于(资金规模加上净利润)除以当前价格再除以100,然后向下取整,最后乘以100BuyQuantitysharesnextbarHighest(High,BuyLookBack)stop;//买入操作//在下一个交易栏买入Quantity数量的股票,价格为过去BuyLookBack天内的最高价,使用止损单SellnextbaratLowest(Low,ExitLookBack)stop;//卖出操作//在下一个交易栏以过去ExitLookBack天内的最低价卖出股票,使用止损单MEGAN=MEGAN_Calc(FundSize);//计算MEGAN值//根据资金规模计算MEGAN值,可能是一个风险管理或性能评估的指标```这段代码描述了一个简单的交易策略,其中包含了资金规模、回溯天数等输入参数,以及交易数量和MEGAN值等变量。策略的核心是决定在何时以什么价格买入和卖出股票,以及如何计算交易数量。策略名称信号B注解:inputs:-输入参数:

FundSize(100000),-基金规模:100000(单位通常是货币单位,如美元)

FastLength(5),-快速长度:5(通常指用于计算快速移动平均线的时间周期)

SlowLength(20),-慢速长度:20(通常指用于计算慢速移动平均线的时间周期)

ExitLookBack(2);-退出回望:2(用于确定退出交易的时间周期)variables:-变量:

Quantity(0),-数量:0(用于存储交易的数量)

MEGAN(0);-MEGAN:0(用于存储某种计算结果,可能是某种指标或值)Quantity=Floor((FundSize+NetProfit)/Close/100)*100;-数量=向下取整((基金规模+净利润)/当前价格/100)*100;(计算交易的数量,通常是基于基金规模、净利润和当前价格的比例)ifAverage(Close,FastLength)>Average(Close,SlowLength)then-如果快速移动平均线(收盘价,快速长度)>慢速移动平均线(收盘价,慢速长度)的话:

BuyQuantitysharesnextbarHighstop;```-在下一个柱状图的最高价买入数量指定的股票;(设置买入订单,以最高价为止损)SellnextbaratLowest(Low,ExitLookBack)stop;-在下一个柱状图以最低价(考虑退出回望周期)卖出股票;(设置卖出订单,以最低价为止损)MEGAN=MEGAN_Calc(FundSize);-MEGAN=MEGAN计算(基金规模);(计算某种基于基金规模的指标或值)这段代码描述了一个基于移动平均线交叉的交易策略,其中包含了资金管理、交易量计算和止损设置。策略名称信号C注解:inputs://输入参数:

FundSize(100000),//资金规模(初始资金),设为100000

FastLength(5),//快速平均线长度,设为5

SlowLength(20),//慢速平均线长度,设为20

StartMonth(7),//开始交易的月份,设为7月

EndMonth(4);//结束交易的月份,设为4月variables://变量定义:

Quantity(0),//交易数量,初始为0

MEGAN(0);//MEGAN值,初始为0Quantity=Floor((FundSize+NetProfit)/Close/100)*100;//计算交易数量,取整(向下取整)(资金规模+净利润)除以收盘价,再除以100,然后乘以100ifAverage(Close,FastLength)>Average(Close,SlowLength)and(Month(Date)>StartMonthorMonth(Date)<EndMonth)then//如果快速平均线大于慢速平均线,并且当前月份大于开始月份或小于结束月份

BuyQuantitysharesnextbarHighstop;//在下一个交易日的最高价买入Quantity数量的股票

SellnextbaratLowest(Low[1],10)stop;//在下一个交易日的最低价卖出,使用10个价格中的最低价作为止损价MEGAN=MEGAN_Calc(FundSize);//计算MEGAN值,传入资金规模作为参数```这段代码是一个交易策略的伪代码,描述了如何根据一些输入参数和条件来决定买入和卖出的操作。代码中使用了交易策略中常见的概念,如平均线、交易量、止损等。函数定义:MEGAN_Calc_//输入参数://FundSize(基金规模)-数值类型//OutsideTotalTrades(外部总交易数)-数值类型//MyNetProfit(我的净收益)-数值类型//OutsideBarsSinceEntry(外部自入场以来的柱数)-数值类型//OutsideMarketPosition(外部市场位置)-数值类型//OutsideNumWinTrades(外部获胜交易数)-数值类型//PrintOut(是否打印输出)-布尔类型//变量定义://InitialDate(初始日期)-整数类型,初始为0//GeometricMean(几何平均数)-数值类型,初始为0//MaxTradesPerYear(每年最大交易数)-数值类型,初始为0//MEGAN(计算结果)-数值类型,初始为0//TotalInDays(总天数)-数值类型,初始为0//MyBarsSinceEntry(自入场以来的柱数)-数值类型,初始为0//MyMarketPosition(我的市场位置)-数值类型,初始为0//MyTotalTrades(我的总交易数)-数值类型,初始为0//如果当前柱类型不是2(非日柱)ifBarType<>2then//抛出运行时错误RaiseRunTimeError(“Incorrectbarinterval."+“MEGAN_Calccanbeappliedtodailybarsonly.”);//如果外部总交易数减去我的总交易数大于1ifOutsideTotalTrades-MyTotalTrades>1then//抛出运行时错误RaiseRunTimeError(“MEGAN_Calcallowsonlyone"+“tradeineachbar.”);//如果当前柱是图表的第一柱ifCurrentBar=1thenInitialDate=Date;//初始化初始日期为当前日期//如果我的总交易数不等于外部总交易数ifMyTotalTrades<>OutsideTotalTradesthenbeginTotalInDays=TotalInDays+MyBarsSinceEntry;//总天数加上自入场以来的柱数//如果外部总交易数大于0ifOutsideTotalTrades>0thenbegin//如果总天数不为0ifTotalInDays<>0then//计算每年最大交易数MaxTradesPerYear=252/(TotalInDays/OutsideTotalTrades);//计算几何平均数GeometricMean=Power((FundSize+MyNetProfit)/FundSize,1/OutsideTotalTrades);//计算MEGAN值MEGAN=MaxTradesPerYear*Log(GeometricMean);end;end;//如果是图表的最后一柱,且外部总交易数大于0,且需要打印输出ifLastBarOnChartandOutsideTotalTrades>0andPrintoutthenbegin//打印输出相关信息Print(“StartTradingDate:”,ELDateToString(InitialDat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论