Strategi pendinginan linear berbasis pada fitur pemutaran data

Penulis: , Dibuat: 2019-12-13 17:13:07, Diperbarui: 2023-10-17 21:21:36

img

Pengantar

Orang-orang sering mengatakan bahwa perdagangan adalah seni, dan seni berasal dari inspirasi. Jadi hari ini saya ingin berbagi dengan Anda bagaimana menggunakan inventor untuk mengkuantifikasi fungsi pemutaran data dan menemukan inspirasi perdagangan Anda sendiri.

Inspirasi dan Kesenangan Berdagang

Biasanya kita berbicara tentang inspirasi, yang berarti bahwa orang-orang memiliki keadaan kreatif yang muncul secara instan dalam proses berpikir. Bagi para pedagang, otak kiri kita telah menyelesaikan pembuatan serangkaian aturan seperti penulisan strategi, pengalokasian dana, pengaturan parameter. Sementara itu, inspirasi dan pemahaman perdagangan berasal dari otak kanan.

Banyak orang yang pernah mendengar istilah "sensasi tebing", yang merupakan perasaan yang tidak jelas, seperti apa yang terjadi saat ini. Dalam perdagangan, intuisi yang mirip dengan indra keenam ini, meskipun tanpa penalaran dan analisis logis, dapat memprediksi pergerakan pasar di masa depan, yang mendorong pedagang untuk membuat keputusan membeli atau menjual.

Cara Mendapatkan Inspirasi

Bagi orang luar, selera adalah sesuatu yang aneh dan misterius, sebuah bakat misterius yang tak terkalahkan, yang dapat berdiri di pasar. Sebenarnya selera adalah kesimpulan dari pengalaman perdagangan subjektif otak, adalah perasaan pra-penghakiman yang luar biasa yang dipelajari melalui bertahun-tahun membaca selera.

Meskipun secara ketat, inspirasi tidak sepenuhnya sama dengan perasaan, tetapi saya percaya bahwa setelah latihan pasar ribuan kali, Anda memiliki pemahaman yang lebih dalam tentang pasar, Anda akan memiliki kemampuan untuk mengembangkan strategi Anda. Jadi, jika Anda ingin mendapatkan bakat ini, jika Anda ingin mengembangkan lebih banyak strategi perdagangan, tidak ada yang lain, hanya keterampilan.

Namun, komoditas berjangka dan saham domestik hanya berdagang selama beberapa jam sehari, dan jika hanya meningkatkan pengalaman trading mereka dari perdagangan real-time, membentuk pola dan aturan trading keuntungan mereka sendiri, dan melatih refleksi kondisi mereka sendiri di alam bawah sadar mereka, itu akan menunjukkan ketidakberdayaan. Selain membayar biaya waktu yang lebih lama, sebagian besar pedagang juga menanggung biaya kerugian modal. Untuk mengatasi masalah ini, para penemu mengembangkan fungsi pemutaran data secara kuantitatif.

Cara menggunakan data playback

Fungsi pemutaran data dapat dilatih tanpa batasan waktu perdagangan bursa, mendukung berbagai jenis komoditas berjangka dan mata uang digital, pasar dapat diputar kembali secara manual atau dapat diputar kembali secara otomatis, dan juga bebas mengatur waktu awal dan kecepatan pemutaran pasar historis.

Situs web yang dibuat oleh para pengembang yang memiliki pengetahuan kuantitatiffmz.comSetelah mendaftar dan masuk, klik untuk melihat data di Control Center, maka akan muncul halaman fungsi pemutaran data. Ada empat kotak pilihan dan satu tombol pilihan. Pertama, klik tombol pilihan yang hanya menampilkan varietas yang mendukung pemutaran cakram nyata, kemudian pilih varietas yang ingin diputar di bagian kiri atas, kemudian pilih waktu awal data dari dua kotak pilihan di belakang, kemudian pilih siklus waktu data untuk pemutaran cakram nyata, dan akhirnya klik tombol Go di sebelah kanan untuk membuka fungsi pemutaran data.

img

Di bawah label data, ada tiga blok; di sebelah kiri adalah sejarah transaksi, yang menampilkan semua pesanan yang telah dilakukan secara berurutan; di tengah adalah data daftar jual beli dengan kedalaman masing-masing 20 file; di sebelah kanan adalah area kontrol pemutaran data, di mana Anda dapat memilih cara pemutaran data secara manual dan otomatis, yang sama sederhananya dengan menggunakan pemutar media.

img

Indeks lokasi dapat menyeret pelacak ke kiri dan ke kiri, dan dapat dengan cepat memilih waktu awal pemutaran data.

img

Pada bagian paling bawah juga dapat dikontrol kecepatan pemutaran data melalui navigasi bergerak kiri-kanan, dalam milisekund sebagai satuan waktu, yang dapat mempercepat atau memperlambat saat pemutaran data.

img

Membuat Logika Strategi

Meskipun ada banyak faktor yang mempengaruhi penurunan harga, termasuk: lingkungan ekonomi global, kebijakan makro negara, kebijakan industri terkait, hubungan pasokan dan permintaan, peristiwa internasional, suku bunga dan nilai tukar, inflasi dan kemerosotan, psikologi pasar, faktor-faktor yang tidak diketahui, dan sebagainya, harga pada akhirnya adalah hasil dari persaingan antara banyak pihak dan ruang angkasa. Jika ada lebih banyak pembeli, harga akan naik; sebaliknya, jika ada lebih banyak penjual, harga akan turun. Jadi kita hanya perlu menganalisis harga untuk membuat strategi perdagangan.

Dengan mengkuantifikasi pasangan transaksi btc_usdt yang dieksekusi oleh penemu pada bulan terakhir, kami menemukan bahwa jumlah pesanan di Tick data sangat tidak simetris di kedua sisi ketika pasar naik dan turun. Jika pasar naik, jumlah pesanan yang dipegang lebih besar daripada jumlah pesanan yang dipegang; jika pasar turun, jumlah pesanan yang dipegang lebih kecil dari jumlah pesanan yang dipegang; maka apakah kita dapat memprediksi penurunan harga dalam waktu singkat berdasarkan jumlah pesanan yang dipegang dalam order tipis?

Jawabannya adalah ya.

img img

Dengan mengumpulkan data Tick yang mendalam, kita dapat menghitung dan membandingkan jumlah pesanan yang dipesan dari kedua belah pihak yang memiliki banyak ruang kosong. Jika perbedaan jumlah pesanan yang dipesan dari kedua belah pihak yang memiliki banyak ruang kosong, maka ada peluang jual yang potensial. Misalnya, jika jumlah pesanan yang dipesan dari beberapa kepala adalah N kali jumlah pesanan yang dipesan dari beberapa kepala kosong, kita dapat menganggap bahwa sebagian besar orang di pasar melihat lebih banyak, dan kemungkinan kenaikan harga dalam waktu dekat akan meningkat; jika jumlah pesanan yang dipesan dari beberapa kepala kosong adalah N kali, kita dapat menganggap bahwa sebagian besar orang di pasar tidak melihat, dan kemungkinan penurunan harga dalam waktu dekat akan meningkat.

Menulis strategi transaksi

Mengikuti logika strategi di atas, mulailah mengimplementasikannya dengan kode. Buka situs fmz.com > Login > Pusat Kontrol > Perpustakaan Kebijakan > Membuat Kebijakan > Klik menu gulung ke bawah di pojok kanan atas, pilih bahasa Python, dan mulailah menulis kebijakan. Kebijakan ini digunakan sebagai pengajaran untuk mengulangi tanda kutip, jadi saya mencoba menulis kebijakan yang lebih sederhana, perhatikan catatan dalam kode di bawah ini.

Langkah 1: Menulis kerangka kerja strategi

# 策略主函数
def onTick():
    pass


# 程序入口
def main():
    while True:  # 进入无限循环模式
        onTick()  # 执行策略主函数
        Sleep(1000)  # 休眠1秒

Kita harus menulis kebijakan dengan huruf besar dan kecil, seperti atap rumah, frame pertama dan dinding kedua. Dalam kerangka ini, kita menggunakan dua fungsi, masing-masing: fungsi utama dan fungsi onTick. Di mana fungsi utama adalah input program, yaitu program akan dijalankan dari sini, kemudian masuk ke mode loop tak terbatas, dan mengulangi menjalankan fungsi onTick.

Langkah 2: Menulis variabel global

vol_ratio_arr = []  # 多空挂单比率数组
mp = 0  # 虚拟持仓

Alasan mengapa saya mendefinisikan vol_ratio_arr sebagai variabel global adalah karena strategi saya membutuhkan untuk mengumpulkan rasio tunggal yang banyak ruang kosong dari data Tick. Jika kita memasukkan variabel vol_ratio_arr ke dalam fungsi onTick, dengan berjalan dengan berputar itu jelas tidak masuk akal, yang kita butuhkan adalah dalam mode berputar, mengubah nilai variabel hanya ketika kondisi tertentu tercapai, dan cara yang paling masuk akal adalah menempatkan variabel ini di luar loop.

Manajemen kepemilikan sangat diperlukan karena berkaitan dengan logika jual beli, yang biasanya kita lakukan dalam perdagangan langsung dengan menghitung pasangan mata uang yang kita miliki dengan mengakses akun. Di sini untuk menyederhanakan kode, kita secara langsung mendefinisikan variabel kepemilikan virtual global untuk mengendalikan logika jual beli.

Langkah 3: Menghitung rasio ruang kosong saat ini

depth = exchange.GetDepth()  # 获取深度数据
asks = depth['Asks']  # 获取卖价数组
bids = depth['Bids']  # 获取买价数组
asks_vol = 0  # 所有卖价挂单
bids_vol = 0  # 所有买价挂单
for index, ask in enumerate(asks):  # 遍历卖价数组
    # 线性计算所有卖价挂单
    asks_vol = asks_vol + ask['Amount'] * (20 - index)
for index, bid in enumerate(bids):  # 遍历买价数组
    # 线性计算所有买价挂单
    bids_vol = bids_vol + bid['Amount'] * (20 - index)
bidask_ratio = bids_vol / asks_vol  # 计算多空比率

Seperti yang diketahui, mata uang digital biasanya memiliki data kedalaman 20 file, maka kita dapat menambahkan jumlah posting multihead dan blank untuk menghitung rasio multihead ke blank, ketika nilai ini lebih besar dari 1 menunjukkan bahwa lebih banyak orang melihat lebih banyak dari orang yang tidak melihat, menunjukkan bahwa harga akan naik dalam waktu dekat; ketika nilai ini lebih kecil dari 1 menunjukkan bahwa orang yang tidak melihat lebih banyak dari orang yang tidak melihat, menunjukkan bahwa harga akan turun dalam waktu dekat.

Tetapi ada satu hal yang perlu dibedakan, ketika jarak gantung lebih dekat dari piringan, maka keinginan untuk membaca lebih banyak atau kurang lebih kuat, seperti pembayaran yang digantung di satu baris pasti lebih kuat daripada pembayaran yang digantung di 20 baris. Oleh karena itu, ketika kita menumpuk daftar, kita perlu secara linear untuk memberikan masing-masing daftar 20 baris dengan bobot yang berbeda, sehingga lebih masuk akal.

Langkah 4: Perhitungan linier rasio ruang kosong dalam waktu tertentu

global vol_ratio_arr, mp  # 引入全局变量
vol_ratio_arr.insert(0, bidask_ratio)  # 把多空比率放到全局变量数组里面
if len(vol_ratio_arr) > 20:  # 如果数组超过指定长度
    vol_ratio_arr.pop()  # 删除最旧的元素
all_ratio = 0  # 临时变量,所有多空挂单比率
all_num = 0  # 临时变量,所有线性乘数
for index, vol_ratio in enumerate(vol_ratio_arr):  # 变量全局变量数组
    num = 20 - index  # 线性乘数
    all_num = all_num + num  # 线性乘数累加
    all_ratio = all_ratio + vol_ratio * num  # 所有多空挂单比率累加
ratio = all_ratio / all_num  # 线性多空挂单比率

Dengan menambahkan banyak head overhead yang dibagi dengan head overhead yang kosong, kita bisa mendapatkan rasio ruang kosong, tetapi ini hanya ketika data Tick, jika hanya menggunakan satu data Tick, untuk memutuskan transaksi jual beli mungkin bukan pilihan yang masuk akal, karena dalam pasar yang berubah-ubah secara instan, data Tick tidak meyakinkan. Jadi kita perlu mengumpulkan data Tick yang tetap, dan akhirnya menghitung nilai yang adil secara linier.

Langkah Lima: Pesan transaksi

last_ask_price = asks[0]['Price']  # 最新卖一价,用于买入的价格
last_bid_price = bids[0]['Price']  # 最新买一价,用于卖出的价格
if mp == 0 and ratio > buy_threshold:  # 如果当前无持币,并且比率大于指定值
    exchange.Buy(last_ask_price, 0.01)  # 买入
    mp = 1  # 设置虚拟持仓的值
if mp == 1 and ratio < sell_threshold:  # 如果当前持币,并且比率小于指定值
    exchange.Sell(last_bid_price, 0.01)  # 卖出
    mp = 0  # 重置虚拟持仓的值

Karena kita harus menentukan harga saat memesan, maka kita dapat langsung menggunakan harga jual terbaru saat membeli; saat menjual, kita dapat langsung menggunakan harga beli terbaru.

Kesimpulan

Di atas adalah analisis kode strategi aliran tunggal terikat linier yang dikembangkan berdasarkan fungsi playback data. Jika Anda seorang pemula trading, fungsi playback data dapat mempelajari perdagangan dengan biaya nol, mengurangi waktu yang dibutuhkan untuk mengetahui perdagangan, perdagangan nyata atau simulasi biasanya membutuhkan waktu beberapa tahun untuk melihat hasil pertama, dan beberapa minggu untuk melakukan hal yang sama dengan fungsi playback data, dengan meminimalkan kerugian belajar perdagangan tanpa membuang waktu. Untuk pedagang yang lebih maju, dynamic playback dapat membantu Anda menganalisis masalah Anda sebelumnya, memverifikasi dan menyempurnakan strategi perdagangan, meningkatkan kepercayaan trader terhadap strategi, dan dapat membantu menghasilkan inspirasi strategi baru.


Berkaitan

Lebih banyak

xaifer48Sekarang, apakah fungsi pemutaran rekaman nyata mati?

Ini hanya gambaran sederhana, banyak detail yang harus dioptimalkan, dan saya saat ini sedang melakukan pengamatan yang terkadang merugikan, haha