Strategi perdagangan tarif penulisan kuantitatif

Penulis:Kebaikan, Dibuat: 2020-07-29 11:42:43, Diperbarui: 2023-10-25 19:55:14

img

Tentang kami

Kami adalah tim yang telah berkomitmen untuk meneliti strategi perdagangan kuantitatif untuk waktu yang lama.

Tahun lalu, kami telah mencapai hasil yang sangat baik dalam Kompetisi Kuantitatif Tokeninsight.

Terima kasih kepada komunitas FMZ untuk menyediakan platform seperti itu. Untuk lebih mendukung pembangunan komunitas kuantitatif, konsep desain dan ide desain dari strategi ini sekarang dipublikasikan di sini. Saya harap Anda dapat belajar desain dan aplikasi perdagangan kuantitatif.

Asal-usul strategi perdagangan suku bunga kuantitatif

Inspirasi untuk sistem tingkat mengetik kuantitatif adalah terutama dari fisika

Definisi kecepatan dalam fisika adalah: jarak bergerak per satuan waktu. Jika Anda menganggap harga sebagai jarak, maka di pasar keuangan, definisi kecepatan adalah ukuran perubahan harga per satuan waktu.

Jika harga sangat berubah dalam satu unit waktu, pasar semacam itu biasanya disebut pasar cepat; jika perubahan harga dalam satu unit waktu kecil, pasar semacam itu disebut pasar lambat. Oleh karena itu, kecepatan adalah hukum alam yang mengintegrasikan waktu dan harga. Pemahaman yang mendalam tentang kecepatan dapat membantu kita memahami pasar secara lebih luas.

Jika tingkat meningkat, itu berarti bahwa energi meningkat dan dapat secara efektif memprediksi tren kenaikan pasar.

Jika tingkatnya turun, itu berarti kegagalan energi dan risiko kondisi pasar yang rata atau menurun dapat dirasakan.

Setiap transaksi menggunakan sejumlah lot tertentu untuk transaksi, sehingga disebut sistem perdagangan tingkat kuantitatif.

Pengetahuan yang harus disiapkan

Harga tertinggi (HHV): Harga tertinggi yang dicapai dalam periode tertentu. Harga terendah (LLV): Harga terendah yang dicapai dalam periode tertentu. Moving Average (MA): Garis yang menghubungkan harga penutupan rata-rata periode tertentu. Kemiringan regresi (SLOPE): Kemiringan regresi linier dengan periode tertentu.

Rumus kemiringan persamaan linier OLS adalah sebagai berikut:

img

Rumus matematika sangat rumit, tapi platform FMZ sudah menulis rumus tata bahasa (SLOPE) dari bahasa M untuk kita.

Kita bisa melihat bahwa algoritma adalah sebagai berikut:

  • SLOPE

img

Prosesnya sedikit lebih rumit, tapi tidak semua orang harus memikirkannya.

Desain indikator:

  1. Pertama menghitung harga tertinggi dan terendah dalam periode waktu tertentu
  2. Ambil rata-rata dari dua harga ini
  3. Menghitung garis rata-rata bergerak pada rata-rata
  4. Carilah kemiringan regresi dari rata-rata bergerak
len:=35;//Design cycles

hh^^HHV(H,len);//Take the highest price in a certain period
ll^^LLV(L,len);//Take the lowest price in a certain period
hl2^^(hh+ll)/2;//Average of highest price and lowest price
avg^^MA(hl2,5);//Calculate the moving average line of the average

ss:SLOPE(avg,len);//Calculate the regression slope of the moving average line

Melalui desain indikator, kita dapat melihat bahwa dalam grafik utama, kita memiliki titik tertinggi (garis kuning), titik terendah (garis hijau), rata-rata mereka (garis merah), dan rata-rata pergerakan harga halus dihitung oleh garis merah (garis ungu tebal)

img

Kemudian kita dapat menghitung kemiringan regresi ss dalam gambar dilampirkan, yang mewakili tingkat naik dan turun dari rata-rata bergerak.

img

Desain strategi perdagangan

Seperti yang dapat dilihat dari gambar di atas, anak panah hijau menunjukkan titik lentur di lereng terendah, dan anak panah oranye menunjukkan titik lentur di lereng tertinggi.

Reaksi di sepanjang grafik adalah pada garis k, dan melemahnya kenaikan dan melemahnya penurunan juga dapat dirasakan dengan jelas.

Jika Anda membeli dan menjual pada titik infleksi, Anda dapat secara efektif mengoperasikan perdagangan pada tahap awal, daripada mengejar kenaikan atau penurunan pada titik tinggi atau rendah.

  • Ide desain adalah:

Kemiringan naik berarti momentum pasar meningkat, yang mungkin berhenti turun atau mulai naik. Penurunan terus-menerus dari kemiringan berarti bahwa momentum pasar lemah, dan dapat berhenti naik atau mulai turun.

Desain dan ekspresi menggunakan bahasa M adalah sebagai berikut:

len:=35;//Design cycles

hh^^HHV(H,len);//Take the highest price in a certain period
ll^^LLV(L,len);//Take the lowest price in a certain period
hl2^^(hh+ll)/2;//Average of highest price and lowest price
avg^^MA(hl2,5);//Calculate the moving average line of the average

ss:SLOPE(avg,len);//Calculate the regression slope of the moving average line


ss<REF(ss,1),SPK;//When the slope becomes smaller, it indicates that the market momentum is weakened, close long positions and open short positions.
ss>REF(ss,1),BPK;//When the slope becomes larger, it indicates that the market momentum is enhanced, close short positions and open long positions.
AUTOFILTER;

Backtest dan ringkasan

Dengan cara ini, kami telah menyelesaikan desain algoritma ini, dan kemudian kami akan menggunakan sistem untuk backtest situasi selama satu tahun.

Subyeknya adalah kontrak triwulanan okex btc;

Periode backtest adalah dari 1 Januari 2019 hingga saat ini, dan periode waktu adalah 1 jam;

3 BTC untuk akun awal, biaya penanganan 0,05%;

Tetapkan jumlah tetap 200 lot per transaksi.

img

Hal ini dapat dilihat dari backtest bahwa pendapatan ini relatif lancar dan stabil.

Dalam backtest ini, 1261 transaksi dilakukan sepanjang tahun; Perkiraan pendapatan 4,68 mata uang kripto; Pendapatan tahunan sekitar 140%; Pendapatan maksimum adalah 14%; Rasio Sharpe adalah 0,117.

Berbagi kode sumber

Klik untuk menyalin strategihttps://www.fmz.com/strategy/183416

Berbagi di atas adalah beberapa ide dan konten desain saya, berikut adalah seluruh kode bahasa M, Untuk referensi, studi dan penelitian Anda. Jika Anda perlu mencetak ulang, silakan sebutkan sumbernya. Terima kasih.

len:=35;//Design cycles

hh^^HHV(H,len);//Take the highest price in a certain period
ll^^LLV(L,len);//Take the lowest price in a certain period
hl2^^(hh+ll)/2;//Average of highest price and lowest price
avg^^MA(hl2,5);//Calculate the moving average line of the average

ss:SLOPE(avg,len);//Calculate the regression slope of the moving average line


ss<REF(ss,1),SPK;//When the slope becomes smaller, it indicates that the market momentum is weakened, close long positions and open short positions.
ss>REF(ss,1),BPK;//When the slope becomes larger, it indicates that the market momentum is enhanced, close short positions and open long positions.
AUTOFILTER;

Berkaitan

Lebih banyak