Strategi investasi kuantitatif berdasarkan tanggal pembelian bulanan


Tanggal Pembuatan: 2023-11-24 14:10:23 Akhirnya memodifikasi: 2023-11-24 14:10:23
menyalin: 0 Jumlah klik: 593
1
fokus pada
1617
Pengikut

Strategi investasi kuantitatif berdasarkan tanggal pembelian bulanan

Ringkasan

Gagasan inti dari strategi ini adalah menemukan tanggal pembelian terbaik setiap bulan, dengan membeli aset digital pada tanggal ini dan menjualnya pada akhir bulan, untuk mencapai pengembalian investasi yang optimal. Strategi ini cocok untuk investor yang ingin mendapatkan keuntungan ekstra dari fluktuasi harga dalam sehari.

Prinsip Strategi

Strategi ini berjalan sesuai dengan tanggal pembelian dan tanggal penjualan setiap bulan yang ditetapkan oleh pengguna. Jika Anda melakukan pembelian pada hari pembelian, Anda akan melakukan perdagangan pada hari penjualan. Jika Anda tidak melakukan perdagangan, Anda akan melakukan perdagangan pada hari akhir strategi.

Logika penilaian sinyal beli adalah: Jika tanggal pembelian yang ditetapkan pengguna, dan dalam batas tanggal efektifitas strategi, maka bukalah lebih banyak opsi.

Logika penilaian sinyal posisi kosong adalah: Jika tanggal penjualan ditetapkan dan tanggal penjualan, posisi kosong; Jika tanggal penjualan tidak ditetapkan tetapi melampaui tanggal akhir strategi, posisi kosong juga.

Keunggulan Strategis

  1. Anda dapat menemukan titik pembelian yang paling besar dari fluktuasi harga bulanan, dan memanfaatkan perdagangan intraday yang sangat sering untuk mendapatkan keuntungan ekstra.
  2. Anda dapat menemukan titik terbaik dengan membandingkan hukum keuntungan dari tanggal pembelian yang berbeda.
  3. Tanggal terbaik untuk pembelian dapat digabungkan dengan peristiwa berita yang terjadi di bulan tersebut untuk menentukan apakah ada perubahan.
  4. Anda dapat mengatur tanggal penjualan yang berbeda untuk menyeimbangkan perdagangan jangka pendek dan jangka panjang

Risiko Strategis dan Solusi

  1. Risiko penurunan harga setelah pembelian

    • Tetapkan Stop Loss, Kurangi Kerugian Maksimal
    • Pilih pasangan mata uang yang cukup likuid, hindari fluktuasi harga yang ekstrem
  2. Risiko perubahan tanggal pembelian terbaik

    • Memantau perubahan data historis dan menyesuaikan titik pembelian terbaik
    • Menurunkan ukuran posisi pada periode berisiko tinggi
  3. Resiko kerugian akibat kesalahan pengaturan

    • Langkah demi langkah menguji parameter yang berbeda untuk membandingkan perbedaan pendapatan
    • Memilih jangka waktu yang representatif untuk pengujian

Arah optimasi strategi

  1. Menentukan titik pembelian dengan faktor-faktor tambahan

    • Mempertimbangkan dampak berita utama pada harga
    • Analisis pergerakan harga aset digital terkait
    • Menambahkan model pembelajaran mesin untuk menentukan waktu terbaik untuk membeli
  2. Optimalkan mekanisme manajemen posisi

    • Tetapkan Stop-Loss Dinamis
    • Skala posisi yang disesuaikan dengan fluktuasi
    • Pertimbangkan untuk memegang posisi jangka panjang
  3. Berkembang ke Pasar Transaksi Lainnya

    • Aplikasi untuk lebih banyak pasangan mata uang digital
    • Berlaku untuk pasar seperti saham, valuta asing
    • Menetapkan strategi perdagangan Arbitrage lintas pasar

Meringkaskan

Strategi ini dapat memberikan keuntungan ekstra bagi investor yang mencari keuntungan dari perdagangan frekuensi tinggi dalam sehari. Langkah selanjutnya adalah dengan memperkenalkan lebih banyak faktor untuk menentukan waktu pembelian, mengoptimalkan manajemen posisi, dan memperluas pasar aplikasi, strategi ini dapat meningkatkan stabilitas dan tingkat keuntungan.

Kode Sumber Strategi
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © dennis.decoene

//@version=4
strategy(title="Buy and Hold, which day of month is best to buy?", overlay=true)

// Make input options that configure backtest date range
startDate = input(title="Start Date", type=input.integer,
     defval=1, minval=1, maxval=31, group="Starting From")
     
startMonth = input(title="Start Month", type=input.integer,
     defval=1, minval=1, maxval=12, group="Starting From")
     
startYear = input(title="Start Year", type=input.integer,
     defval=2021, minval=1800, maxval=2100, group="Starting From")

endDate = input(title="End Date", type=input.integer,
     defval=2, minval=1, maxval=31, group="Until")
endMonth = input(title="End Month", type=input.integer,
     defval=10, minval=1, maxval=12, group="Until")
endYear = input(title="End Year", type=input.integer,
     defval=2021, minval=1800, maxval=2100, group="Until")

entryday = input(title="Entry Day", type=input.integer,
     defval=26, minval=1, maxval=31, tooltip="When to enter (buy the asset) each month")
exitday = input(title="Exit Day", type=input.integer,
     defval=6, minval=1, maxval=31, tooltip="When to exit (sell the asset) each month")
     
useExitDay= input(title="Close position on exit day?", type=input.bool, defval=false, tooltip="Use the Exit Day to close each months position it true or close at the end of the period (if false)")
     
isEntryDay= (dayofmonth(time)==entryday)
isExitDay= (dayofmonth(time)==exitday-1)


inDateRange = true

if (isEntryDay and inDateRange)
    strategy.entry(id="Buy", long=true)
    
if (isExitDay and useExitDay)
    strategy.close_all()


// Exit open market position when date range ends
if (not inDateRange and not useExitDay)
    strategy.close_all()