バックテストをしてみた3(WPR+MACD+塩漬け)

コラム

TradingViewでのバックテストについて、3度目の挑戦をしてみました。今回は含み損が出ようが塩漬けで堪え忍んだ場合のシミュレートをしてみました。信用取引やCFD取引の方は参考にできない売買ロジックです。

環境設定

  • バックテストはTradingViewを使用(ストラテジーテスター)
  • インジケーターはWPR・MACDを使用
  • 時間足:日足
  • WPR設定(14日)
  • MACD設定(fast:12、slow:26、MACD:9)
  • 検証期間(2020/1/1~2021/9/4現在)

エントリー:WPR売られすぎの場合に買い、決済:MACDデッドクロス+含み損なしの場合に売り

使用プログラム

//@version=4
strategy("WPR MACD Salted2", overlay=true)

start_year = input(title="StartYear", type=input.integer, defval=2020)
start_month = input(title="StartMonth", type=input.integer, defval=01)
start_day = input(title="StartDay", type=input.integer, defval=01)

//開始日時
test_start = timestamp(start_year, start_month, start_day, 00, 00)

end_year = input(title="EndYear", type=input.integer, defval=2050)
end_month = input(title="EndMonth", type=input.integer, defval=12)
end_day = input(title="EndDay", type=input.integer, defval=31)

//終了日時
test_end   = timestamp(end_year, end_month, end_day, 00, 00)

//テスト期間の指定
is_test = test_start <= time and  time <= test_end

length = input(title="WPR_length", type=input.integer, defval=14)
_pr(length) =>
	max = highest(length)
	min = lowest(length)
	100 * (close - max) / (max - min)

percentR = _pr(length)

fastLength = input(title="fast_length",type=input.integer, defval=12)
slowlength = input(title="slow_length",type=input.integer, defval=26)
MACDLength = input(title="MACD_length",type=input.integer, defval=9)

MACD = ema(close, fastLength) - ema(close, slowlength)  // MACD
aMACD = ema(MACD, MACDLength)                           // Signal
delta = MACD - aMACD                                    // Histogram

buy = crossunder(percentR, -80)
exit_buy = crossunder(MACD, aMACD) and (MACD > 0) and (strategy.openprofit > 0)

if (is_test)
    strategy.entry("BUY", strategy.long , when=buy)
    strategy.close("BUY", when=exit_buy)
    

検証結果

分類銘柄コード銘柄名総利益取引数勝率
先進国株式1657iシェアーズ・コア MSCI 先進国株(除く日本) ETF575円6100%
新興国株式1658iシェアーズ・コア MSCI 新興国株 ETF621円5100%
日本株式1306NEXT FUNDS TOPIX連動型上場投信371円5100%
米国株式1557SPDR S&P500 ETF10250円887.5%
債券1497iシェアーズ 米ドル建てハイイールド社債 ETF(為替ヘッジあり)
国債1482iシェアーズ・コア 米国債7-10年 ETF(為替ヘッジあり)149円3100%
貴金属1540純金上場信託(現物国内保管型)1060円3100%
貴金属 1542純銀上場信託(現物国内保管型)3710円4100%
貴金属 1541純プラチナ上場信託(現物国内保管型)750円4100%
先進国株式VEA Vanguard FTSE Developed Markets ETF $6.71683.33%
新興国株式VWOVanguard FTSE Emerging Markets ETF$11.506100%
米国株式SPYSPDR S&P 500 ETF Trust$100.36988.89%
債券 HYGiShares iBoxx $ High Yield Corporate Bond ETF
国債TLTiShares 20+ Year Treasury Bond ETF$8.552100%
貴金属GLDSPDR Gold Share$31.692100%
貴金属IAUiShares Gold Trust$6.562100%
貴金属SLViShares Silver Trust$9.243100%
貴金属PPLTAberdeen Standard Physical Platinum Shares ETF$9.552100%
石油USOUnited States Oil Fund, LP
石油UNGUnited States Natural Gas Fund, LP
農産物DBAInvesco DB Agriculture Fund$2.704100%
※日本株や米株の売買単位を意識せず、1取引1株だった場合の総利益です。

考察

安い時に買って、高い時に売る(損切りなし)ことを忠実にやった場合のシミュレーションとしては良いと思いました。

SPYやGLDの総利益が高いのは、2020年1月からのコロナショック相場が影響している(SPYはFRBによる買い支え、GLDはFRBによる通貨供給による)。

次回は、日本株と米国株のスクリーナーを紹介したいと思います。

タイトルとURLをコピーしました