Strategi pembukaan bulanan dan strategi penutupan akhir bulan

Penulis:ChaoZhang, Tanggal: 2023-11-02 14:23:40
Tag:

img

Ide inti dari strategi ini adalah untuk membuka posisi panjang pada hari perdagangan pertama setiap bulan dan menutup posisi pada hari perdagangan terakhir bulan.

Logika Strategi

Strategi ini pertama-tama mendefinisikan hari perdagangan pertama (Senin) dari setiap bulan sebagai sinyal masuk, dan hari perdagangan terakhir (Jumat) sebagai sinyal keluar.

Ketika membuka posisi, itu akan panjang langsung jika hanya panjang diaktifkan, dan itu akan membuka posisi panjang dan pendek jika pendek diizinkan.

Ketika menutup posisi, ia akan menutup semua posisi jika short diizinkan, dan hanya menutup posisi panjang jika hanya panjang yang diaktifkan.

Untuk mengendalikan risiko, stop loss sederhana juga ditambahkan. Ketika harga menyentuh harga stop loss, maka posisi akan ditutup dengan stop loss.

Secara keseluruhan, strategi ini memiliki logika yang sangat sederhana dan langsung, yang merupakan strategi perdagangan bulanan paling dasar yang cocok untuk demonstrasi pengajaran.

Keuntungan

  1. Logikanya sederhana dan mudah dimengerti, sangat cocok untuk pemula untuk belajar.

  2. Mengadopsi siklus penyimpanan bulanan, frekuensi operasi rendah, cocok untuk investor yang mengejar stabilitas.

  3. Opsional panjang atau pendek, dapat memenuhi kebutuhan gaya perdagangan yang berbeda.

  4. Menambahkan stop loss dapat mengendalikan risiko saham tunggal sampai batas tertentu.

Risiko

  1. Waktu masuk dan keluar yang tetap, tidak dapat disesuaikan berdasarkan kondisi pasar, risiko menjadi arbitrase.

  2. Tidak ada indikator kuantitatif yang ditambahkan, risiko mengikuti secara membabi buta.

  3. Stop loss saham tunggal mudah untuk menerobos, tidak dapat secara efektif mengendalikan risiko ekor.

  4. Ukuran posisi tetap, tidak dapat disesuaikan berdasarkan kondisi pasar.

  5. Ketidakpastian eksekusi, mungkin gagal untuk sepenuhnya melaksanakan sesuai dengan strategi.

  6. Metode stop loss sederhana dapat menghasilkan stop loss kecil, harus mengadopsi stop loss dinamis seperti volatility stop.

Arah Peningkatan

  1. Memperkenalkan indikator kuantitatif untuk menilai kondisi pasar dan menyesuaikan kecepatan masuk secara dinamis.

  2. Pertimbangkan indeks benchmarking untuk menentukan kekuatan relatif stok untuk masuk.

  3. Sesuaikan secara dinamis ukuran posisi berdasarkan volatilitas pasar dan indikator risiko lainnya.

  4. Mengadopsi stop loss dinamis, atau beberapa tingkat stop loss.

  5. Tambahkan modul perdagangan algoritma untuk memastikan eksekusi yang sukses.

  6. Mengoptimalkan strategi manajemen modal, menyesuaikan posisi futures indeks saham untuk lingkungan pasar yang berbeda.

  7. Masukkan pembelajaran mesin untuk menilai kualitas stok untuk masuk.

Ringkasan

Ini adalah strategi pembukaan bulanan yang sangat dasar dan strategi penutupan akhir bulan. Logika sederhana dan mudah dipahami, cocok untuk pemula untuk belajar. Tetapi dalam penggunaan yang sebenarnya, waktu masuk / keluar, metode stop loss, ukuran posisi, dll perlu ditingkatkan, untuk mendapatkan keuntungan secara terus menerus di pasar yang kompleks dan selalu berubah. Kita harus memahami secara menyeluruh pro dan kontra strategi, dan terus meningkatkan sistem strategi untuk mengembangkan solusi perdagangan kuantitatif yang sesuai untuk diri kita sendiri.


/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © Je_Buurman September 1st 2020

//@version=4
strategy("Buurmans Tutorial", overlay=true, initial_capital=1000, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_value=0.2)

// Some initial inputs, these are needed in case the strategy returns an error of "too many trades, > 3000" 

Year    = input(defval = 2020, title = "From Year", minval = 2010)              // 
Month   = input(defval = 1, title = "From Month", minval = 1, maxval=12)
LongOnly=input(true, title="Only go Long?")


// Phase I - the initial "Strategy" - buy Monday, sell Friday

longCondition = dayofweek==dayofweek.monday and (time > timestamp(Year, Month, 01, 00, 00, 00))
shortCondition = dayofweek==dayofweek.friday and (time > timestamp(Year, Month, 01, 23, 59, 59))


// Phase II - some rudimentary "risk-management" e.g. stoploss

Use_stoploss=input(false, title="Use stoploss ?")
stoploss_input=input(150, title="Stoploss in $")
Stoploss = Use_stoploss ? strategy.position_size>0 ? iff(strategy.position_size>0,strategy.position_avg_price - stoploss_input, na) : strategy.position_size<0 ? iff(strategy.position_size<0,strategy.position_avg_price + stoploss_input, na) : na : na
plot(Use_stoploss and strategy.position_size!=0 ? Stoploss : na, color=iff(Stoploss!=na,color.silver, color.red),style=plot.style_linebr)


// Phase III - make it more profitable by trying to filter conditions
// only buy on odd Mondays ? only buy on full moon Mondays ? something else entirely ?


// The actual trades, going Long, close Long, going Short and Stoploss

if (longCondition)
    strategy.entry("Buy on Monday", strategy.long)
    
if (shortCondition and LongOnly==false)
    strategy.entry("Short on Friday", strategy.short)

if (shortCondition and LongOnly)
    strategy.close("Buy on Monday", comment="Sell on Friday")

if (low < Stoploss)
    strategy.close("Buy on Monday", comment="Long Stopped on Someday")
if (high > Stoploss)
    strategy.close("Short on Friday", comment="Short Stopped on Someday")

Lebih banyak