Strategi perdagangan spread pembalikan musiman


Tanggal Pembuatan: 2024-01-25 14:07:35 Akhirnya memodifikasi: 2024-01-25 14:07:35
menyalin: 0 Jumlah klik: 515
1
fokus pada
1617
Pengikut

Strategi perdagangan spread pembalikan musiman

Ringkasan

Strategi ini adalah strategi trading reversal yang didasarkan pada efek musiman. Strategi ini membangun posisi pada bulan masuk tertentu dan posisi kosong pada bulan keluar untuk menangkap reversal harga yang disebabkan oleh efek musiman.

Prinsip Strategi

Logika inti dari strategi ini adalah membangun posisi musiman berdasarkan bulan masuk dan bulan keluar yang dipilih oleh pengguna. Secara khusus, jika bulan saat ini sama dengan bulan masuk dan tidak ada posisi yang dibuat, masuk ke pasar sesuai dengan arah multiply atau blank. Jika posisi telah dibuat dan bulan saat ini sama dengan bulan keluar, posisi kosong.

Misalnya, jika Anda masuk pada bulan Oktober dan keluar pada bulan Januari, maka setiap bulan Oktober, jika tidak ada posisi, maka posisi baru akan dibuat sesuai dengan arah multipel atau kosong; jika sudah ada posisi, maka posisi itu akan dipadamkan pada bulan Januari setiap tahun. Bergantung pada logika seperti itu, Anda dapat menangkap harga yang berbalik karena efek musiman.

Perlu dicatat bahwa strategi ini secara default menetapkan 25% dari modal risiko untuk setiap transaksi, dan dihitung berdasarkan biaya 0.5% . Ini akan berdampak pada pendapatan akhir.

Analisis Keunggulan

Keuntungan terbesar dari strategi ini adalah memanfaatkan pembalikan pasar yang dihasilkan oleh efek musiman untuk mendapatkan keuntungan. Banyak komoditas dan pasar keuangan memiliki fluktuasi harga musiman yang lebih jelas. Jika memilih waktu masuk dan keluar yang tepat, peluang pembalikan yang disebabkan oleh efek musiman dapat ditangkap secara efektif.

Selain itu, strategi ini sangat sederhana, mudah dipahami dan diterapkan, cocok untuk pemula dalam trading kuantitatif. Ia hanya bergantung pada dua parameter, yang sangat mengurangi kesulitan dalam mengoptimalkan strategi.

Analisis risiko

Meskipun strategi ini sangat efektif, tetap ada beberapa risiko. Pertama, pilihan yang tidak tepat untuk masuk dan keluar dari pasar dapat menyebabkan kerugian karena tidak dapat menangkap harga yang berbalik; kedua, perubahan lingkungan pasar juga dapat menyebabkan pelemahan efek musiman; dan terakhir, logika stop loss default lemah dan tidak dapat secara efektif mengendalikan kerugian tunggal.

Untuk mengurangi risiko, Anda dapat mempertimbangkan untuk mengoptimalkan opsi masuk dan keluar, menggabungkan analisis lebih lanjut untuk menilai kondisi pasar, dan mengatur stop loss untuk mengendalikan risiko. Tentu saja, tidak ada strategi perdagangan yang dapat sepenuhnya menghindari risiko pasar, dan pedagang perlu berhati-hati.

Arah optimasi

Strategi ini juga memiliki banyak ruang untuk pengoptimalan. Pertama, Anda dapat memperkenalkan logika stop loss dan mengatur margin stop loss yang masuk akal. Kedua, Anda dapat menguji lebih banyak portofolio masuk dan keluar yang berbeda untuk mencari parameter yang optimal.

Dengan mengoptimalkan beberapa poin di atas, Anda dapat meningkatkan stabilitas strategi dan meningkatkan kinerja pelacakan strategi. Tentu saja, setiap pengoptimalan memerlukan pengujian ulang yang ketat untuk menghindari pengoptimalan berlebihan.

Meringkaskan

Strategi berbalik musim ini sangat praktis secara keseluruhan. Dengan memilih bulan masuk dan keluar yang tepat, strategi ini secara efektif menangkap perubahan harga yang disebabkan oleh efek musiman, sehingga menghasilkan keuntungan. Strategi ini juga sangat sederhana, mudah dipahami dan diterapkan, cocok untuk pemula dalam perdagangan kuantitatif.

Kode Sumber Strategi
/*backtest
start: 2023-01-24 00:00:00
end: 2024-01-24 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © EmpiricalFX

//@version=4
strategy("Seasonality Benchmark ","Season",overlay=false,default_qty_type=strategy.percent_of_equity,
     default_qty_value=25,initial_capital=100000,currency="USD",
     commission_type=strategy.commission.percent,commission_value=0.5)
input_entry_direction = input("Long","Position Type",options=["Long","Short"])
input_entry_month = input("Oct","Entry Month",options=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"])
input_exit_month = input("Jan","Entry Month",options=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"])

//Convert three character month string to integer
month_str_to_int(m)=>
    ret = m == "Jan" ? 1 :
          m == "Feb" ? 2 :
          m == "Mar" ? 3 :
          m == "Apr" ? 4 :
          m == "May" ? 5 :
          m == "Jun" ? 6 :
          m == "Jul" ? 7 :
          m == "Aug" ? 8 :
          m == "Sep" ? 9 :
          m == "Oct" ? 10 :
          m == "Nov" ? 11 :
          m == "Dec" ? 12 : -1
          
is_long = input_entry_direction == "Long" ? true : false
entry = month_str_to_int(input_entry_month)
exit = month_str_to_int(input_exit_month)
var balance = strategy.equity

//Entering a position is conditional on:
    //1. No currently active trades
    //2. Input entry month matches current month
if(strategy.opentrades == 0 and entry == month)
    strategy.entry("Swing",is_long)

//Exiting a position is conditional on:
    //1. Must have open trade
    //2. Input exit month matches current month
if(strategy.opentrades > 0 and exit == month)
    strategy.close("Swing")
    
//Update the balance every time a trade is exited
if(change(strategy.closedtrades)>0)
    balance := strategy.equity
    
plot(strategy.equity,"Equity",color.orange)
plot(balance,"Balance",color.red)