この戦略の主な考え方は,ポートフォリオ内の資産の投資パーセントを固定しておくことである.資産価値が上昇すると,投資家はパーセントを維持するために一部を販売する.減少すると,投資家はパーセントを補充するためにより多くのものを購入する.この戦略は比較的安定した資産に適している.
戦略は,まず投資パーセントパラメータの%_invested,すなわちポートフォリオの資産の割合を設定し,次に次の基準に基づいてポジションを調整します.
ポジションが0であるとき,%_investedと初期資本に基づいて購入する契約を計算します.
保有するときは,投資金額のパーセントを株式%_investedと比較します. 低すぎると,より多くの契約を購入します. 高すぎると,契約を売ります.
ステップ2を繰り返して 投資パーセントを固定します
安定した資産を長期にわたって保有し,頻繁な取引を行わない.
資産変動による定期的な再バランス利益
関連性のない資産の投資の多様化により ポートフォリオリスクが減少します
バブルが破れる前に 投資を全額しないことで 完全な損失を防ぐことができます
変動性のある資産の損失リスクが高くなる.
頻繁に取引するということは,より多くの手数料を意味します.
リバランス化が遅れて 最適なエントリー/出口ポイントが欠落する可能性があります
誤った割合設定が過剰取引を引き起こす可能性があります
リスクは以下によって軽減できます.
高波動性を避けるために資産を慎重に選択する.
貿易頻度を減らすために再バランスロジックの最適化
最低の位置変更単位を設定し,過剰取引を防ぐ.
過剰な濃度を防ぐためにパーセント設定を最適化します
戦略は以下によって改善できます.
ストップ・ロスの論理を追加して 損失を一定値で削減します
トレンドではないスポットを避けるため,再バランスする前に信号の検証を追加します.
パーソナライズした割合 ストップ損失比率
パラメータ最適化モジュールを追加します
ダイナミックアロケーションのための他の資産への再投資のために,ポジションの閉鎖を支援する.
固定パーセント戦略は多様化とリスク管理を提供する.しかし,リバランス遅延や不安定な資産損失などのリスクがある.ストップ損失論理と信号検証のさらなる改善は安定性を高める.
/*backtest start: 2022-09-21 00:00:00 end: 2022-11-22 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 // strategy("Fixed Fractioning", overlay=true, initial_capital=100000.0) percent_invested=input(50.0,title="Percent Invested",maxval=100.0,minval=0.0) fraction_invested=percent_invested/100 from_day=input(1,title="From Day",maxval=31,minval=1) from_month=input(1,title="From Month",maxval=12,minval=1) from_year=input(2017,title="From Year",maxval=2018,minval=1900) to_day=input(1,title="To Day",maxval=31,minval=1) to_month=input(1,title="To Month",maxval=12,minval=1) to_year=input(2018,title="To Year",maxval=2018,minval=1900) // === FUNCTION EXAMPLE === from: https://www.tradingview.com/script/62hUcP6O-How-To-Set-Backtest-Date-Range/ start = timestamp(from_year, from_month, from_day, 00, 00) // backtest start window finish = timestamp(to_year, to_month, to_day, 23, 59) // backtest finish window window() => true // create function "within window of time" strategy.initial_capital = 50000 if strategy.position_size==0 and window() contracts_to_buy=(fraction_invested*strategy.initial_capital)/close strategy.entry("long",long=true,qty=contracts_to_buy,limit=close,when=contracts_to_buy>1) invested=(strategy.position_size*close)/strategy.equity if invested<fraction_invested and window() contracts_to_buy=((fraction_invested-invested)*strategy.equity)/close strategy.order("long",long=true,qty=contracts_to_buy,limit=close,when=contracts_to_buy>1) else if invested>fraction_invested and window() contracts_to_sell=((invested-fraction_invested)*strategy.equity)/close strategy.order("sell",long=false,qty=contracts_to_sell,limit=close,when=contracts_to_sell>1)