Idea utama strategi ini adalah untuk mengekalkan peratusan pelaburan aset dalam portfolio tetap. Apabila nilai aset meningkat, pelabur menjual beberapa untuk mengekalkan peratusan. Apabila jatuh, pelabur membeli lebih banyak untuk mengisi peratusan. Strategi ini sesuai untuk aset yang agak stabil.
Strategi pertama menetapkan parameter peratusan pelaburan peratusan_invested, iaitu peratusan aset dalam portfolio.
Apabila kedudukan adalah 0, mengira kontrak untuk membeli berdasarkan peratusan_dilaburkan dan modal awal.
Apabila memegang, bandingkan jumlah pelaburan peratusan pelaburan kepada ekuiti peratusan_invested. Jika terlalu rendah, beli lebih banyak kontrak. Jika terlalu tinggi, jual kontrak.
Ulangi langkah 2 untuk mengekalkan peratusan pelaburan tetap.
Membolehkan pemegang aset stabil jangka panjang tanpa perdagangan yang kerap.
Keuntungan rebalancing berkala daripada turun naik aset.
Pembahagian pelaburan di seluruh aset yang tidak berkaitan mengurangkan risiko portfolio.
Menghalang kerugian penuh dengan mengelakkan pelaburan penuh sebelum gelembung pecah.
Risiko kerugian yang lebih tinggi untuk aset yang tidak menentu.
Perdagangan yang kerap bermakna bayaran lebih.
Pengimbangan semula mungkin tertunda, kehilangan titik masuk / keluar terbaik.
Tetapan peratusan yang tidak betul boleh menyebabkan overtrading.
Risiko boleh dikurangkan dengan:
Memilih aset dengan teliti untuk mengelakkan turun naik yang tinggi.
Mengoptimumkan logik rebalancing untuk mengurangkan kekerapan perdagangan.
Menetapkan unit perubahan kedudukan minimum untuk mengelakkan overtrading.
Mengoptimumkan seting peratusan untuk mengelakkan kepekatan berlebihan.
Strategi ini boleh ditingkatkan dengan:
Menambah logik stop loss untuk mengurangkan kerugian pada ambang tertentu.
Menambah pengesahan isyarat sebelum menyeimbangkan semula untuk mengelakkan titik bukan trend.
Sesuaikan peratusan, stop loss per aset.
Menambah modul pengoptimuman parameter untuk mencari parameter optimum.
Menyokong penutupan kedudukan untuk melabur semula dalam aset lain untuk peruntukan dinamik.
Strategi peratusan tetap menyediakan kepelbagaian dan kawalan risiko. Tetapi ia mempunyai risiko seperti keseimbangan semula yang tertinggal dan kerugian aset yang tidak menentu. Penambahbaikan lanjut untuk logik kehilangan berhenti dan pengesahan isyarat dapat meningkatkan kestabilan.
/*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)