Strategi Pembukaan Bulanan dan Strategi Penutupan Akhir Bulan

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

img

Idea utama strategi ini adalah untuk membuka kedudukan panjang pada hari perdagangan pertama setiap bulan dan menutup kedudukan pada hari perdagangan terakhir bulan.

Logika Strategi

Strategi ini pertama-tama menentukan hari dagangan pertama (Isnin) setiap bulan sebagai isyarat masuk, dan hari dagangan terakhir (Jumat) sebagai isyarat keluar.

Apabila membuka kedudukan, ia akan panjang secara langsung jika hanya panjang diaktifkan, dan ia akan membuka kedua-dua kedudukan panjang dan pendek jika pendek dibenarkan.

Apabila menutup kedudukan, ia akan menutup semua kedudukan jika pendek dibenarkan, dan hanya menutup kedudukan panjang jika hanya panjang dibenarkan.

Untuk mengawal risiko, stop loss mudah juga ditambahkan. Apabila harga menyentuh harga stop loss, ia akan menutup kedudukan dengan stop loss.

Secara keseluruhan, strategi ini mempunyai logika yang sangat mudah dan mudah, yang merupakan strategi perdagangan bulanan yang paling asas yang sesuai untuk demonstrasi pengajaran.

Kelebihan

  1. Logikanya mudah dan mudah difahami, sangat sesuai untuk pemula belajar.

  2. Menggunakan kitaran pegangan bulanan, kekerapan operasi yang rendah, sesuai untuk pelabur yang mengejar kestabilan.

  3. Pilihan panjang atau pendek, boleh memenuhi keperluan gaya perdagangan yang berbeza.

  4. Menambah stop loss boleh mengawal risiko saham tunggal ke tahap tertentu.

Risiko

  1. Masa masuk dan keluar yang tetap, tidak dapat disesuaikan berdasarkan keadaan pasaran, risiko menjadi arbitrase.

  2. Tiada penunjuk kuantitatif ditambah, risiko mengikuti secara membabi buta.

  3. Stop loss stok tunggal adalah mudah untuk menembusi, tidak dapat mengawal risiko ekor dengan berkesan.

  4. Saiz kedudukan tetap, tidak dapat disesuaikan berdasarkan keadaan pasaran.

  5. Ketidakpastian pelaksanaan, mungkin gagal untuk melaksanakan sepenuhnya mengikut strategi.

  6. Kaedah stop loss mudah boleh mengakibatkan stop loss kecil, harus menggunakan stop loss dinamik seperti stop turun naik.

Arahan Peningkatan

  1. Memperkenalkan penunjuk kuantitatif untuk menilai keadaan pasaran dan menyesuaikan kadar kemasukan secara dinamik.

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

  3. Sesuaikan saiz kedudukan secara dinamik berdasarkan turun naik pasaran dan penunjuk risiko lain.

  4. Mengambil stop loss dinamik, atau pelbagai tahap stop loss.

  5. Tambah modul dagangan algoritma untuk memastikan pelaksanaan yang berjaya.

  6. Mengoptimumkan strategi pengurusan modal, menyesuaikan kedudukan niaga hadapan indeks saham untuk persekitaran pasaran yang berbeza.

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

Ringkasan

Ini adalah strategi pembukaan bulanan yang sangat asas dan strategi penutupan akhir bulan. Logiknya mudah dan mudah difahami, sesuai untuk pemula untuk belajar. Tetapi dalam penggunaan sebenar, masa masuk / keluar, kaedah stop loss, saiz kedudukan dll perlu ditingkatkan, untuk mendapat keuntungan secara berterusan di pasaran yang kompleks dan sentiasa berubah. Kita harus memahami secara menyeluruh kebaikan dan keburukan strategi, dan terus meningkatkan sistem strategi untuk membangunkan penyelesaian 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 lanjut