Strategi perdagangan kuantitatif untuk menganalisis dinamika harga menggunakan Python

Penulis:Kebaikan, Dicipta: 2019-08-09 15:49:06, Dikemas kini: 2023-10-20 20:13:38

img

Rancangan strategi perdagangan dinamika harga

Strategi dagangan momentum menganalisis perbandingan kekuatan kosong dengan menganalisis hubungan antara harga buka, harga tertinggi, dan harga minimum dalam tempoh tertentu, secara tidak langsung memahami pembahagian kekuatan kedua-dua pasaran kosong semasa. Menganalisis turun naik harga untuk tujuan mengikuti pergerakan harga masa depan.

Analisis dinamika harga mempunyai banyak kegunaan dalam senarai manual tradisional, terutama untuk menentukan trend satu sisi dalam sehari, topik yang sering dibincangkan oleh orang tua, apa yang merupakan aliran dan mengapa, untuk aliran yang terbaik adalah pengukuran kontras kekuatan kedua-dua pihak yang lebih kosong, analisis dinamika harga adalah salah satu penunjuk terbaik.

Dalam artikel ini, kami akan menggunakan strategi ini untuk membangunkan satu program perdagangan automatik mata wang digital secara langsung di TokenNet.

Rumus pengiraan dinamika harga

AR = [Jumlah N hari semua (High-Open) dan / N hari semua (Open-Low) ] * 100

Di antara mereka:

  • N: Jendela statistik untuk kitaran waktu siang, secara lalai adalah 30 hari, kerana hari dagangan yang sah dalam sebulan adalah kira-kira 30 hari ((dagang mata wang digital 24/7, mungkin angka ini agak konservatif)

  • Tinggi: Harga tertinggi dalam sehari

  • Terbuka: Harga pembukaan untuk satu hari

  • Low: Harga terendah sehari

Cara menggunakan dinamika harga

Gerakan harga dalam jangka masa tertentu, bertindak balas terhadap harga bukaan di antara harga tertinggi dan harga terendah, dan kedudukan ini adalah asas kita untuk menilai daya tarik kedua-dua belah pihak.

  • Kita anggap nilai ini adalah kira-kira 100, lebih daripada 100, maka daya banyak kepala mula meningkat, kurang daripada 100, maka daya kosong mula berkumpul.
  • Nilai AR yang tinggi menunjukkan pasaran yang aktif, popular, dan ramai yang melonjak, tetapi terlalu tinggi menunjukkan harga memasuki kawasan beli-beli, dan harus memilih waktu yang stabil. Tidak ada kriteria tertentu untuk ketinggian nilai AR, dalam keadaan umum, apabila nilai AR meningkat kepada 120 atau lebih, harga mungkin akan kembali ke bawah.
  • Apabila nilai AR menurun menunjukkan kemelesetan pasaran, keadaan udara sedang baik, memerlukan usaha yang lebih besar, dan terlalu rendah menunjukkan harga mungkin telah jatuh ke kawasan oversold, boleh dianggap lebih banyak.

Perhatikan: Semua angka di atas adalah nilai lalai dan tidak pernah menjadi kenyataan. Dalam proses dagangan sebenar, kita perlu menyesuaikan jarak ini dengan perubahan pasaran untuk menyesuaikan keadaan pasaran yang sesuai.

Strategi dagangan kuantitatif dinamika harga dengan Python

Peraturan lama, kita buka.FMZ.COM, log masuk akaun, klik Pusat Kawalan, menyebarkan pentadbir dan bot.

Untuk maklumat mengenai cara menggunakan pentadbir dan bot, sila rujuk artikel saya sebelum ini:https://www.fmz.com/bbs-topic/4140

Untuk pembaca yang ingin membeli pelayan pelayaran pelayaran awan mereka sendiri, lihat artikel ini:https://www.fmz.com/bbs-topic/2848

Seterusnya, kita mengklik Perpustakaan Dasar di menu sebelah kiri, dan klik Buat Dasar Baru.

Di sudut kanan atas halaman Dasar Penulisan, ingatlah untuk memilih bahasa pengaturcaraan Python, seperti di bawah:

img

Kemudian kami menulis kod Python ke dalam halaman penyuntingan kod, di bawah kod, dengan nota baris-baris yang sangat terperinci, yang boleh anda baca perlahan-lahan memahami dan memahami, yang lebih penting, walaupun strategi ini ditulis berdasarkan perdagangan segera, tetapi aspek skalabiliti kod berikut juga dipertimbangkan perdagangan hadapan, pembaca yang berminat boleh cuba menulis semula kod berikut untuk perdagangan hadapan, logik strategi itu sendiri adalah sejagat. Pada platform pencipta kuantiti, kami telah menyediakan antara muka API untuk semua pertukaran segera dan masa depan yang besar, jadi kerja penulisan akan menjadi sangat mudah dan mudah.

Kami mula melaksanakan strategi ini dengan menggunakan token Bitcoin yang ada di TokenNet sebagai tanda dagangan:

import types # 导入Types模块库,这是为了应对代码中将要用到的各种数据类型
def main(): # 主函数,策略逻辑从这里开始
    IDLE = 0 # 用来标记持仓状态,可以理解为0即为空闲状态,也就是空仓状态
    LONG = 1 # 多头持仓
    SHORT = 2 # 空头持仓,注意,此策略应用于现货市场,所以不存在空头开仓或者持仓情况,这里这样写,是为了方便理解策略和以后的扩展(如扩展到期货市场)
    state = IDLE # 标记持仓状态的变量
    while True: # 进入循环
        r = exchange.GetRecords() #GetRecords是发明者量化平台的官方API,详细用法请参见:https://www.fmz.com/api
        if len(r) <= 1: # 判断K线是否大于一根,也就是当前是否为开盘状态,否则可能会进入死循环,这里也方便读者进行扩展,大一些的K线周期趋势状态更稳定。
           Log("bar的数量不足, 等待下一根bar...") # 输出日志
           continue # Python循环控制语句,继续下边的循环内容

        # 开始进行价格动量的量化分析
        ar = sum(r.High - r.Open) / sum(r.Open - r.Low) * 100 # 计算公式

        account = _C(exchange.GetAccount) # 获取账户信息,_C同样为发明者量化平台的官方API,用法请参见:https://www.fmz.com/api

        if ar < 95 and (state == IDLE or state == SHORT) :  # AR值小于超卖线且账户拥有资金,则全仓买入
           
           if account["Balance"] > 50:
                exchange.Buy(-1, account["Balance"] * 0.9) # 市价单全仓买入
                state = LONG # 改变持仓状态为LONG
                  
        elif ar > 80 and (state == IDLE or state == LONG):  # AR值大于超买线且账户有持仓,则全仓卖出
            
           if account["Stocks"] > 0.01:
                exchange.Sell(-1, account["Stocks"] * 0.9) # 市价单全仓卖出
                state = SHORT # 改变持仓状态为SHORT
                      
        LogStatus(_D(), exchange.GetAccount() , state) # 更新日志信息

Ujian semula strategi

Selepas menulis strategi, perkara pertama yang perlu kita lakukan ialah mengulanginya dan melihat bagaimana ia beraksi dalam data sejarah, tetapi harap maklum kepada pembaca, hasil pengulangannya tidak sama dengan perkiraan masa depan, pengulangannya hanya boleh digunakan sebagai satu maklumat rujukan untuk mempertimbangkan keberkesanan strategi kita. Sebaik sahaja pasaran berubah dan strategi mula mengalami kerugian besar, kita harus segera menemui masalah dan kemudian mengubah strategi untuk menyesuaikan diri dengan persekitaran pasaran yang baru, seperti ambang yang disebutkan di atas. Jika strategi menunjukkan kerugian lebih besar daripada 10 peratus, kita harus segera menghentikan strategi, dan kemudian mencari masalah, dan mulakan dengan menyesuaikan ambang.

Pada halaman penyuntingan, parameter boleh disesuaikan mengikut keperluan yang berbeza, untuk membuat debugging yang mudah dan cepat, terutamanya untuk dasar yang kompleks secara logik, banyak parameter, tanpa perlu kembali ke kod sumber, untuk membuat perubahan secara individu.

Kami memilih bulan terakhir, klik tambah bursa tunai token, tanda dagangan BTC.

img

Lihat hasil ujian semula

img

Seperti yang anda lihat, strategi ini telah berjaya dalam ujian semula bulan ini.

Kelemahan strategi dinamika harga

  • Kelebihan

Kelebihan dinamika harga berbanding dengan beberapa penunjuk teknikal tradisional yang lain ialah ia menggunakan harga tertinggi dan terendah yang diperkenalkan dan bukan harga bukaan atau penutupan tunggal. Perbandingan dinamik dilakukan terhadap mereka, melalui turun naik harga dalam hari, yang menjadikan maklumat pasaran lebih menyeluruh, bertindak balas dengan lebih cepat, dan juga lebih makro.

  • Kelemahan

Menggunakan nilai pergerakan harga secara bebas untuk menentukan sama ada harga terlalu tinggi atau rendah, untuk menentukan terlalu banyak / terlalu banyak, adalah mungkin untuk turun terlalu awal dalam gelombang tren besar, atau terlalu awal dalam gelombang pasaran besar. Secara keseluruhan, strategi ini masih merupakan strategi keberkesanan gegaran.

Tetapan ambang strategi juga perlu ditentukan mengikut ciri-ciri tanda dagangan. Harga pasaran mata wang digital adalah sangat besar dan jumlah dagangan sangat besar, terutama pada mata wang utama seperti Bitcoin, dan tidak ada had ambang, jadi ambang adalah lebih tinggi daripada pasaran saham tradisional, 80 garis oversold, biasanya sukar untuk disentuh, dan menghasilkan sedikit isyarat beli; sementara 170 garis oversold juga sering berada di bawah ambang, tetapi isyarat jual sering dipicu.

Oleh itu, pasaran ini tidak pernah mempunyai apa-apa strategi perdagangan piala suci, yang boleh membuat wang selama-lamanya tanpa ujian semula, tanpa latihan. Kami pedagang kuantitatif dan pedagang subjektif, akhirnya sama, perlu menyesuaikan diri dengan perubahan pasaran, sesuai dengan keadaan, apabila strategi tidak berkesan, perlu disesuaikan dengan tepat pada masanya.

Teman yang mempunyai masalah boleh datang.https://www.fmz.com/bbsPerhatikan, sama ada mengenai strategi atau teknologi platform, pencipta platform kuantiti mempunyai pakar yang sentiasa bersedia untuk menjawab soalan anda.


Berkaitan

Lebih lanjut

MAIKEOTerima kasih banyak!