バックテストをしてみた4(WPR+Pyramiding)

コラム

TradingViewでのバックテストについて、4度目の挑戦をしてみました。今回は含み損が出ようが安い時に拾うことを行った場合のシミュレートをしてみました。一応、設定としては、ポジション数(pyramiding)は4個までを制限としました。信用取引やCFD取引の方は参考にできない売買ロジックです。

環境設定

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

エントリー:WPR売られすぎの場合に買い、決済:収益が15%以上の場合に売り

使用プログラム

//@version=4
strategy(“WPR Pyramiding”, pyramiding=4, 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)

takePer = input(15.0, title=’Take Profit %’, type=input.float) / 100
longTake = strategy.position_avg_price * (1 + takePer)

buy = crossunder(percentR, -80)

if (is_test)
strategy.entry(“BUY”, strategy.long , when=buy)

if strategy.position_size > 0
strategy.exit(id=”Close Long”, limit=longTake)

検証結果

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

考察

安い時に買って、高い時に売る(損切りなし)ことを忠実にやった場合のシミュレーションですが、買い増し(Pyramiding)を行った方が安値を拾いやすく、収益を上げやすいような結果でした。

いつかは上がるという前提での現物取引での手法です。ですので、信用取引や先物取引、CFD取引といった取引で適用はしないほうが良いです(損失は回避できないと思います)。

また、振り返って、国債や債券については、あまり値幅を取れる金融商品ではないため、シミュレーション対象に入れるべきではなかったと実感しました。

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