0
fokus pada
78
Pengikut

Analisis Data Siri Masa dan Ujian Balik Data Tick

Dicipta dalam: 2019-08-08 10:05:45, dikemas kini pada: 2024-12-19 00:24:00
comments   0
hits   5472

Analisis Data Siri Masa dan Ujian Balik Data Tick

Data Siri Masa

Siri masa ialah urutan data yang diperoleh pada tempoh masa yang sama jaraknya berturut-turut. Dalam pelaburan kuantitatif, data ini dimanifestasikan terutamanya sebagai pergerakan harga dan titik data sasaran pelaburan yang dijejaki. Sebagai contoh, harga saham, data siri masa yang direkodkan secara tetap dalam tempoh masa tertentu boleh dilihat dalam rajah berikut, yang akan memberi pembaca pemahaman yang lebih jelas:

Analisis Data Siri Masa dan Ujian Balik Data Tick

Seperti yang anda lihat, tarikh adalah pada paksi-x dan harga pada paksi-y. Dalam kes ini, “selang berturut-turut” bermaksud bahawa hari pada paksi-x adalah selang 14 hari: Perhatikan perbezaan antara 7 Mac 2005 dan titik seterusnya, 31 Mac 2005 dan April 2005. 5 dan 19 April 2005.

Walau bagaimanapun, apabila anda menggunakan data siri masa, anda selalunya akan melihat lebih daripada sekadar lajur tarikh dan harga. Selalunya anda akan bekerja dengan data yang mengandungi lima lajur: Tempoh Data, Buka, Tinggi, Rendah dan Tutup. Ini bermakna jika tempoh data anda ditetapkan kepada tahap harian, perubahan harga tinggi, terbuka, rendah dan penutupan pada hari itu akan ditunjukkan dalam data siri masa ini.

Apakah itu Data Tick?

Data tick ialah struktur data transaksi yang paling terperinci dalam pertukaran. Ia juga merupakan bentuk lanjutan data siri masa yang dinyatakan di atas, termasuk: harga pembukaan, harga tertinggi, harga terendah, harga terkini, volum dagangan dan jumlah transaksi. Jika data perdagangan diibaratkan seperti sungai, data tick ialah data sungai pada keratan rentas tertentu.

Analisis Data Siri Masa dan Ujian Balik Data Tick

Seperti yang ditunjukkan dalam rajah di atas, setiap tindakan pertukaran asing akan ditolak ke pasaran dalam masa nyata. Pertukaran domestik menyemak dua kali sesaat Jika terdapat sebarang tindakan dalam tempoh ini, syot kilat dijana dan ditolak keluar. Sebagai perbandingan, tolakan data hanya boleh dianggap sebagai OnTime paling baik dan tidak boleh dipanggil OnTick.

Semua kod dan data siri masa untuk tutorial ini diperoleh pada Platform Kuantitatif Pencipta.

Data semak terkuantiti pencipta

Walaupun data tick domestik bukanlah tanda yang benar, menggunakan data ini untuk ujian belakang sekurang-kurangnya boleh mendekati dan memulihkan realiti. Setiap tanda semak memaparkan parameter utama produk di pasaran pada masa itu, dan dalam pasaran sebenar, kod kami dikira mengikut kadar tanda teoretikal sebanyak 2 kali sesaat.

Analisis Data Siri Masa dan Ujian Balik Data Tick

Bukan itu sahaja, dalam Kuantiti Pencipta, walaupun anda memuatkan data untuk tempoh 1 jam, anda masih boleh melaraskan kebutiran data, seperti melaraskan kebutiran data kepada 1 minit. Pada masa ini, talian K 1 jam terdiri daripada data 1 minit. Sudah tentu, semakin kecil saiz zarah, semakin tinggi ketepatannya. Apa yang lebih hebat ialah jika anda menukar data kepada tanda masa nyata, anda boleh memulihkan persekitaran masa nyata dengan lancar. Iaitu, data sebenar pertukaran ditanda dua kali sesaat.

Analisis Data Siri Masa dan Ujian Balik Data Tick

Anda kini mempunyai pemahaman tentang konsep asas yang perlu anda ketahui untuk melengkapkan tutorial ini. Kami akan kembali kepada konsep ini tidak lama lagi, dan anda akan mengetahui lebih lanjut mengenainya kemudian dalam tutorial ini.

Untuk maklumat lanjut tentang bahagian ini, sila layari: https://www.fmz.com/bbs-topic/1651

Menyediakan persekitaran kerja anda

Untuk melakukan kerja dengan baik, seseorang mesti mengasah alatannya terlebih dahulu merangkum antara muka API awam pelbagai pertukaran arus perdana dan butiran teknikal terperinci untuk penulisan strategi dan ujian belakang. Niat asal untuk menubuhkan sistem ini adalah untuk melegakan pedagang kuantitatif daripada keperluan untuk menumpukan pada penulisan dan reka bentuk strategi apabila menggunakan Platform Kuantitatif Pencipta ini dipersembahkan kepada pengarang strategi dalam bentuk yang dibungkus untuk menyelamatkan mereka daripada masalah Banyak masa dan tenaga.

  • Penggunaan sistem kustodian Platform Kuantitatif Pencipta

Terdapat dua cara untuk menggunakan hos:

Kaedah A: Pengguna menyewa atau membeli pelayan sendiri dan menggunakannya pada platform pengkomputeran awan utama seperti AWS, Alibaba Cloud, Digital Ocean dan Google Cloud. Kelebihannya ialah keselamatan strategi dan keselamatan sistem terjamin Untuk Platform Kuantitatif Pencipta, pengguna digalakkan untuk menggunakan kaedah yang diedarkan tersebut menghapuskan risiko serangan pelayan (sama ada untuk pelanggan atau platform itu sendiri).

Untuk bahagian ini, pembaca boleh merujuk kepada: https://www.fmz.com/bbs-topic/2848

Kaedah B: Gunakan penggunaan pelayan awam Platform Kuantitatif Pencipta Platform ini menyediakan penggunaan di Hong Kong, London dan Hangzhou Pengguna boleh menggunakan mengikut prinsip kedekatan berdasarkan lokasi pertukaran yang mereka ingin berdagang. Kelebihan aspek ini ialah ia mudah dan mudah, dan boleh diselesaikan dengan satu klik Ia amat sesuai untuk pengguna pemula. Mereka tidak perlu memahami banyak isu semasa membeli pelayan Linux, dan mereka juga menjimatkan masa dan tenaga dalam mempelajari arahan Linux Harganya juga agak murah, yang sesuai untuk pengguna dengan dana kecil, platform mengesyorkan menggunakan kaedah penyebaran ini.

Analisis Data Siri Masa dan Ujian Balik Data Tick

Untuk menjaga pemahaman pemula, artikel ini akan menggunakan kaedah B.

Operasi khusus ialah: log masuk ke FMZ.COM, klik pada pusat kawalan, hos, dan klik pada sewa satu klik hos pada halaman hos.

Masukkan kata laluan Selepas penggunaan berjaya, angka berikut ditunjukkan:

Analisis Data Siri Masa dan Ujian Balik Data Tick

  • Konsep sistem robot dan hubungannya dengan hos

Seperti yang dinyatakan di atas, hos adalah seperti sistem buruh pelabuhan, dan sistem buruh pelabuhan adalah seperti satu set piawaian Selepas kami menggunakan set piawaian ini, kami perlu menjana “contoh” untuk piawaian ini, dan “contoh” ini ialah satu. robot.

Ia sangat mudah untuk mencipta robot Selepas menggunakan hos, klik lajur robot di sebelah kiri, klik Buat Robot, isikan nama dalam nama label, dan pilih hos yang baru anda gunakan antara hos pengehosan. Pemilihan parameter dan tempoh K-line dalam kotak dialog di bawah boleh dipilih mengikut situasi tertentu, terutamanya untuk bekerjasama dengan pemilihan strategi dagangan.

Analisis Data Siri Masa dan Ujian Balik Data Tick

Pada ketika ini, persekitaran kerja kami telah disediakan Seperti yang anda lihat, ia sangat mudah dan berkesan, dan setiap fungsi melaksanakan fungsinya sendiri. Seterusnya, kita akan mula menulis strategi kuantitatif.

Melaksanakan strategi purata bergerak mudah dengan Python

Di atas kami menyebut konsep data siri masa dan data tanda Seterusnya, kami akan menggunakan strategi purata bergerak yang mudah untuk menghubungkan kedua-dua konsep ini.

  • Prinsip asas strategi purata bergerak

Melalui purata bergerak tempoh perlahan, seperti purata bergerak 7 hari dan purata bergerak tempoh cepat, seperti purata bergerak 3 hari. Menggunakannya pada carta garis K yang sama, apabila purata bergerak pantas melintasi purata bergerak perlahan, kami memanggilnya salib emas apabila purata bergerak perlahan melintasi purata bergerak pantas, kami memanggilnya salib kematian.

Asas untuk membuka kedudukan adalah untuk membuka susunan panjang apabila salib emas muncul dan untuk membuka susunan pendek apabila salib emas muncul. Prinsip yang sama digunakan untuk menutup kedudukan.

Mari buka FMZ.COM, log masuk ke akaun, pusat kawalan, perpustakaan strategi, cipta strategi baharu dan pilih Python dalam bahasa penulisan strategi di penjuru kiri sebelah atas. Berikut ialah kod untuk strategi ini. Setiap baris mempunyai ulasan yang sangat terperinci. Strategi ini bukan strategi langsung, jadi sila jangan bereksperimen dengan wang sebenar Ia adalah untuk memberi semua orang idea umum tentang penulisan strategi dan templat pembelajaran.

import types # 导入Types模块库,这是为了应对代码中将要用到的各种数据类型

def main(): # 主函数,策略逻辑从这里开始
    STATE_IDLE = -1 # 标记持仓状态变量
    state = STATE_IDLE # 标记当前持仓状态
    initAccount = ext.GetAccount() #这里用到了现货数字货币交易类库(python版),编写策略时记得勾选上,作用是获得账户初始信息
    while True: # 进入循环
        if state == STATE_IDLE : # 这里开始开仓逻辑
            n = ext.Cross(FastPeriod,SlowPeriod) # 这里用到了指标交叉函数,详情请查看https://www.fmz.com/strategy/21104
            if abs(n) >= EnterPeriod : # 如果n大于等于入市观察期,这里的入市观察期是为了防止一开盘就胡乱开仓。
                opAmount = _N(initAccount.Stocks * PositionRatio,3) # 开仓量,关于_N的用法,请查看官方API文档
                Dict = ext.Buy(opAmount) if n > 0 else ext.Sell(opAmount) # 建立一个变量,用于存储开仓状态,并执行开仓操作
                if Dict :  # 查看dict变量的情况,为下面的日志输出做准备
                    opAmount = Dict['amount']
                    state = PD_LONG if n > 0 else PD_SHORT # PD_LONG和PD_SHORT均为全局常量,分别用来表示多头和空头仓位。
                    Log("开仓详情",Dict,"交叉周期",n) # 日志信息
        else: # 这里开始平仓逻辑
            n = ext.Cross(ExitFastPeriod,ExitSlowPeriod) # 指标交叉函数,
            if abs(n) >= ExitPeriod and ((state == PD_LONG and n < 0) or (state == PD_SHORT and n > 0)) : # 如果经过了离市观察期且当前账户状态为持仓状态,进而判断金叉或者死叉
                nowAccount = ext.GetAccount() # 再次刷新和获取账户信息
                Dict2 = ext.Sell(nowAccount.Stocks - initAccount.Stocks) if state == PD_LONG else ext.Buy(initAccount.Stocks - nowAccount.Stocks) # 平仓逻辑,是多头就平多头,是空头就平空头。
                state = STATE_IDLE # 标记平仓后持仓状态。
                nowAccount = ext.GetAccount() # 再次刷新和获取账户信息
                LogProfit(nowAccount.Balance - initAccount.Balance,'钱:',nowAccount.Balance,'币:',nowAccount.Stocks,'平仓详情:',Dict2,'交叉周期:',n) # 日志信息
        Sleep(Interval * 1000) # 循环暂停一秒,防止API访问频率过快导致账户被限制。

  • Ujian Belakang Strategi Purata Pergerakan

Pada halaman penyuntingan strategi, kami telah menyelesaikan penulisan strategi Seterusnya, kami perlu menguji strategi ini untuk melihat prestasinya dalam keadaan pasaran sejarah memainkan peranan penting dalam pembangunan mana-mana strategi kuantitatif, tetapi ia juga hanya Ia boleh berfungsi sebagai rujukan penting. Backtesting tidak bermakna jaminan keuntungan, kerana pasaran sentiasa berubah-ubah hanya satu tindakan ke belakang dan masih tergolong dalam kategori induksi.

Klik pada ujian belakang simulasi, dan anda boleh melihat bahawa terdapat banyak parameter boleh laras, yang boleh diubah suai secara langsung di dalamnya Apabila strategi menjadi semakin kompleks dan bilangan parameter meningkat, kaedah pengubahsuaian ini boleh membantu pengguna mengelak daripada terpaksa. ubah suai satu demi satu dalam kod Proses pengubahsuaian adalah tanpa kerumitan, cepat dan mudah, dan teratur dengan jelas.

Analisis Data Siri Masa dan Ujian Balik Data Tick

Pilihan penalaan seterusnya secara automatik boleh mengoptimumkan parameter yang ditetapkan Sistem akan mencuba pelbagai parameter optimum untuk membantu pembangun strategi mencari pilihan terbaik.

Daripada contoh di atas, kita dapat melihat bahawa asas perdagangan kuantitatif adalah interaksi antara analisis data siri masa dan ujian belakang data tick Tidak kira betapa kompleksnya logiknya, ia tidak dapat dipisahkan daripada dua elemen asas ini. Perbezaannya hanyalah dimensi Sebagai contoh, perdagangan frekuensi tinggi memerlukan bahagian data yang lebih terperinci dan data siri masa yang lebih kaya. Sebagai contoh, perdagangan arbitraj memerlukan data yang agak tinggi untuk sampel ujian belakang Ia mungkin memerlukan lebih daripada sepuluh tahun data mendalam berterusan pada dua sasaran dagangan untuk mencari keputusan statistik pengembangan dan pengecutan sebaran kadar faedah mereka. Dalam artikel akan datang, saya akan memperkenalkan perdagangan frekuensi tinggi dan strategi perdagangan arbitraj, jadi nantikan.