幾何比率策略(TS版)_第1頁
幾何比率策略(TS版)_第2頁
幾何比率策略(TS版)_第3頁
幾何比率策略(TS版)_第4頁
幾何比率策略(TS版)_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

幾何比率策略本策略討論了交易系統(tǒng)評估中的關鍵指標,特別是幾何平均數(shù)和ME比率。指出交易次數(shù)在模擬和實際交易中的差異,強調了在全時交易和復利回報下ME比率更高的系統(tǒng)能產生更多利潤。同時,提供了計算ME比率的AmiBroker代碼,并討論了其他評估交易系統(tǒng)性能的指標。核心觀點:1.交易次數(shù)在模擬與實際交易中有顯著差異,模擬可能避免了部分交易。2.在全時交易和復利回報下,ME比率更高的系統(tǒng)能產生更多利潤。3.ME比率考慮了交易次數(shù)和幾何平均數(shù),是評估交易系統(tǒng)性能的有效指標。4.提供了計算ME比率的AmiBroker代碼,允許用戶添加自定義指標以評估系統(tǒng)性能。5.討論了其他評估交易系統(tǒng)性能的指標,但指出ME比率在貨幣表現(xiàn)方面更具說明性。策略概述本策略主要討論了交易系統(tǒng)評估中的關鍵指標,特別是幾何平均數(shù)和ME比率,并強調了這些指標在評估交易系統(tǒng)性能中的重要性。策略還指出了模擬交易與實際交易中交易次數(shù)的差異,以及ME比率在全時交易和復利回報下對系統(tǒng)利潤生成能力的正面影響。核心觀點交易次數(shù)的差異:模擬交易可能避免了部分實際交易中的情況,導致交易次數(shù)存在顯著差異。ME比率的重要性:在全時交易和復利回報的情境下,ME比率更高的系統(tǒng)能夠產生更多利潤。ME比率綜合了交易次數(shù)和幾何平均數(shù),是評估交易系統(tǒng)性能的有效工具。AmiBroker代碼:提供了計算ME比率的AmiBroker代碼,允許用戶通過添加自定義指標來評估系統(tǒng)性能。其他評估指標:雖然討論了其他評估交易系統(tǒng)性能的指標,但指出ME比率在貨幣表現(xiàn)方面更具說明性。交易策略示例提供了三個交易策略示例(CagigasA、CagigasB、CagigasC),每個策略均包含特定的輸入?yún)?shù)和變量定義,以及詳細的交易邏輯。①CagigasA輸入?yún)?shù):FundSize(100000)、BuyLookback(20)、ExitLookBack(10)變量:Quantity(0)、MEGAN(0)交易邏輯:基于買入回溯天數(shù)的最高價買入,基于賣出回溯天數(shù)的最低價賣出,并計算MEGAN值。②CagigasB輸入?yún)?shù):FundSize(100000)、FastLength(5)、SlowLength(20)、ExitLookBack(2)變量:Quantity(0)、MEGAN(0)交易邏輯:基于快速和慢速移動平均線的交叉來決定買入和賣出,使用最高價買入和最低價賣出,并計算MEGAN值。③CagigasC輸入?yún)?shù):FundSize(100000)、FastLength(5)、SlowLength(20)、StartMonth(7)、EndMonth(4)變量:Quantity(0)、MEGAN(0)交易邏輯:在特定月份內,基于快速和慢速移動平均線的交叉來決定買入,使用最低價賣出,并計算MEGAN值。MEGAN_Calc函數(shù)該函數(shù)用于計算MEGAN比率,輸入?yún)?shù)包括基金規(guī)模、總交易數(shù)、凈收益等,通過計算幾何平均數(shù)和每年最大交易數(shù)來得出MEGAN值。此外,函數(shù)還包含錯誤處理和輸出信息打印的功能,確保計算的準確性和用戶反饋的便利性??偛呗酝ㄟ^詳細的交易策略示例和ME比率的計算方法,為評估交易系統(tǒng)性能提供了有力的工具。通過考慮交易次數(shù)和幾何平均數(shù),ME比率能夠更全面地反映交易系統(tǒng)的盈利能力,從而幫助投資者做出更明智的決策。策略信號: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);函數(shù):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://輸入?yún)?shù):

FundSize(100000),//資金規(guī)模(初始資金),設為100000

BuyLookback(20),//買入回溯天數(shù),設為20天

ExitLookBack(10);//賣出回溯天數(shù),設為10天variables://變量:

Quantity(0),//交易數(shù)量,初始為0

MEGAN(0);//MEGAN值,初始為0Quantity=Floor((FundSize+NetProfit)/Close/100)*100;//計算交易數(shù)量//交易數(shù)量等于(資金規(guī)模加上凈利潤)除以當前價格再除以100,然后向下取整,最后乘以100BuyQuantitysharesnextbarHighest(High,BuyLookBack)stop;//買入操作//在下一個交易欄買入Quantity數(shù)量的股票,價格為過去BuyLookBack天內的最高價,使用止損單SellnextbaratLowest(Low,ExitLookBack)stop;//賣出操作//在下一個交易欄以過去ExitLookBack天內的最低價賣出股票,使用止損單MEGAN=MEGAN_Calc(FundSize);//計算MEGAN值//根據(jù)資金規(guī)模計算MEGAN值,可能是一個風險管理或性能評估的指標```這段代碼描述了一個簡單的交易策略,其中包含了資金規(guī)模、回溯天數(shù)等輸入?yún)?shù),以及交易數(shù)量和MEGAN值等變量。策略的核心是決定在何時以什么價格買入和賣出股票,以及如何計算交易數(shù)量。策略名稱信號B注解:inputs:-輸入?yún)?shù):

FundSize(100000),-基金規(guī)模:100000(單位通常是貨幣單位,如美元)

FastLength(5),-快速長度:5(通常指用于計算快速移動平均線的時間周期)

SlowLength(20),-慢速長度:20(通常指用于計算慢速移動平均線的時間周期)

ExitLookBack(2);-退出回望:2(用于確定退出交易的時間周期)variables:-變量:

Quantity(0),-數(shù)量:0(用于存儲交易的數(shù)量)

MEGAN(0);-MEGAN:0(用于存儲某種計算結果,可能是某種指標或值)Quantity=Floor((FundSize+NetProfit)/Close/100)*100;-數(shù)量=向下取整((基金規(guī)模+凈利潤)/當前價格/100)*100;(計算交易的數(shù)量,通常是基于基金規(guī)模、凈利潤和當前價格的比例)ifAverage(Close,FastLength)>Average(Close,SlowLength)then-如果快速移動平均線(收盤價,快速長度)>慢速移動平均線(收盤價,慢速長度)的話:

BuyQuantitysharesnextbarHighstop;```-在下一個柱狀圖的最高價買入數(shù)量指定的股票;(設置買入訂單,以最高價為止損)SellnextbaratLowest(Low,ExitLookBack)stop;-在下一個柱狀圖以最低價(考慮退出回望周期)賣出股票;(設置賣出訂單,以最低價為止損)MEGAN=MEGAN_Calc(FundSize);-MEGAN=MEGAN計算(基金規(guī)模);(計算某種基于基金規(guī)模的指標或值)這段代碼描述了一個基于移動平均線交叉的交易策略,其中包含了資金管理、交易量計算和止損設置。策略名稱信號C注解:inputs://輸入?yún)?shù):

FundSize(100000),//資金規(guī)模(初始資金),設為100000

FastLength(5),//快速平均線長度,設為5

SlowLength(20),//慢速平均線長度,設為20

StartMonth(7),//開始交易的月份,設為7月

EndMonth(4);//結束交易的月份,設為4月variables://變量定義:

Quantity(0),//交易數(shù)量,初始為0

MEGAN(0);//MEGAN值,初始為0Quantity=Floor((FundSize+NetProfit)/Close/100)*100;//計算交易數(shù)量,取整(向下取整)(資金規(guī)模+凈利潤)除以收盤價,再除以100,然后乘以100ifAverage(Close,FastLength)>Average(Close,SlowLength)and(Month(Date)>StartMonthorMonth(Date)<EndMonth)then//如果快速平均線大于慢速平均線,并且當前月份大于開始月份或小于結束月份

BuyQuantitysharesnextbarHighstop;//在下一個交易日的最高價買入Quantity數(shù)量的股票

SellnextbaratLowest(Low[1],10)stop;//在下一個交易日的最低價賣出,使用10個價格中的最低價作為止損價MEGAN=MEGAN_Calc(FundSize);//計算MEGAN值,傳入資金規(guī)模作為參數(shù)```這段代碼是一個交易策略的偽代碼,描述了如何根據(jù)一些輸入?yún)?shù)和條件來決定買入和賣出的操作。代碼中使用了交易策略中常見的概念,如平均線、交易量、止損等。函數(shù)定義:MEGAN_Calc_//輸入?yún)?shù)://FundSize(基金規(guī)模)-數(shù)值類型//OutsideTotalTrades(外部總交易數(shù))-數(shù)值類型//MyNetProfit(我的凈收益)-數(shù)值類型//OutsideBarsSinceEntry(外部自入場以來的柱數(shù))-數(shù)值類型//OutsideMarketPosition(外部市場位置)-數(shù)值類型//OutsideNumWinTrades(外部獲勝交易數(shù))-數(shù)值類型//PrintOut(是否打印輸出)-布爾類型//變量定義://InitialDate(初始日期)-整數(shù)類型,初始為0//GeometricMean(幾何平均數(shù))-數(shù)值類型,初始為0//MaxTradesPerYear(每年最大交易數(shù))-數(shù)值類型,初始為0//MEGAN(計算結果)-數(shù)值類型,初始為0//TotalInDays(總天數(shù))-數(shù)值類型,初始為0//MyBarsSinceEntry(自入場以來的柱數(shù))-數(shù)值類型,初始為0//MyMarketPosition(我的市場位置)-數(shù)值類型,初始為0//MyTotalTrades(我的總交易數(shù))-數(shù)值類型,初始為0//如果當前柱類型不是2(非日柱)ifBarType<>2then//拋出運行時錯誤RaiseRunTimeError(“Incorrectbarinterval."+“MEGAN_Calccanbeappliedtodailybarsonly.”);//如果外部總交易數(shù)減去我的總交易數(shù)大于1ifOutsideTotalTrades-MyTotalTrades>1then//拋出運行時錯誤RaiseRunTimeError(“MEGAN_Calcallowsonlyone"+“tradeineachbar.”);//如果當前柱是圖表的第一柱ifCurrentBar=1thenInitialDate=Date;//初始化初始日期為當前日期//如果我的總交易數(shù)不等于外部總交易數(shù)ifMyTotalTrades<>OutsideTotalTradesthenbeginTotalInDays=TotalInDays+MyBarsSinceEntry;//總天數(shù)加上自入場以來的柱數(shù)//如果外部總交易數(shù)大于0ifOutsideTotalTrades>0thenbegin//如果總天數(shù)不為0ifTotalInDays<>0then//計算每年最大交易數(shù)MaxTradesPerYear=252/(TotalInDays/OutsideTotalTrades);//計算幾何平均數(shù)GeometricMean=Power((FundSize+MyNetProfit)/FundSize,1/OutsideTotalTrades);//計算MEGAN值MEGAN=MaxTradesPerYear*Log(GeometricMean);end;end;//如果是圖表的最后一柱,且外部總交易數(shù)大于0,且需要打印輸出ifLastBarOnChartandOutsideTotalTrades>0andPrintoutthenbegin//打印輸出相關信息Print(“StartTradingDate:”,ELDateToString(InitialDat

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論