Perkongsian lewat: Robot frekuensi tinggi Bitcoin dengan pulangan 5% setiap hari pada tahun 2014

Penulis:Lydia, Dicipta: 2023-01-17 16:12:15, Dikemas kini: 2023-09-20 09:27:14

img

Perkongsian lewat: Robot frekuensi tinggi Bitcoin dengan pulangan 5% setiap hari pada tahun 2014

Pengenalan strategi

Strategi itu dikongsi di:https://www.fmz.com/strategy/1088Strategi adalah strategi utama saya sejak saya bermula dengan mata wang digital. Selepas peningkatan dan pengubahsuaian berterusan, ia menjadi lebih rumit, tetapi idea utama tidak berubah. Versi yang dikongsi adalah versi asal tanpa bug yang jelas. Ia adalah yang paling mudah dan jelas. Tidak ada pengurusan kedudukan. Setiap transaksi penuh, dan tidak ada permulaan semula, tetapi cukup untuk menjelaskan masalah. Strategi ini berjalan dari Ogos 2014 hingga awal tahun ini, apabila caj pertukaran. Semasa tempoh itu, operasi agak baik, dan masa kerugian sangat sedikit. Modal telah meningkat dari 200 yuan kepada 80 Bitcoin. Proses khusus dapat dilihat dalamCara transaksi automatik mata wang mayasiri artikel dalamBlog Sina Xiaocao- Tidak. Gambar berikut adalah lengkung pulangan platform OKcoin yang saya hitung secara khusus. Modal awal adalah 1000 yuan. Anda dapat melihat bahawa modal awal telah meningkat dengan mantap. Garis tengahnya adalah bahawa strategi saya telah berhenti. Kemudian, kerana strategi telah diubah menjadi strategi pendapatan mata wang, pulangan dalam RMB turun naik dengan tajam. Proses khusus diterangkan dalam artikel ringkasan strategi perdagangan dua tahun.

img

Jadual berikut menunjukkan lengkung jumlah aset yang ditukar kepada mata wang:

img

Kenapa berkongsi strategi ini?

  1. Selepas pertukaran ditagih, hampir semua strategi frekuensi tinggi telah dibunuh, dan saya bukan pengecualian.
  2. Saya sudah lama tidak berkongsi apa-apa. Saya telah lama ingin menulis artikel ini.
  3. Berkomunikasi dan belajar dengan anda semua.

Prinsip strategi

Prinsip strategi ini sangat mudah. Ia boleh difahami sebagai strategi pembuatan pasaran frekuensi quasi tinggi. Anda mungkin ingin memukul orang selepas membacanya, bolehkah ia menghasilkan wang?! Pada masa itu, hampir semua orang dapat menulisnya. Saya tidak mengharapkannya begitu berkesan pada mulanya. Seperti semua strategi frekuensi tinggi, strategi ini juga berdasarkan buku pesanan. Rajah di bawah menunjukkan pengedaran pesanan pertukaran Bitcoin biasa:

img

Kita dapat melihat pesanan beli di sebelah kiri, menunjukkan jumlah pesanan pada harga yang berbeza, dan di sebelah kanan adalah pesanan jual. Kita boleh membayangkan bahawa jika seseorang ingin membeli Bitcoin, jika dia tidak mahu menunggu pesanan dan menunggu, dia boleh memilih untuk mengambil pesanan sahaja. Jika dia mempunyai sejumlah besar pesanan, ia akan menyebabkan sejumlah besar transaksi untuk menjual pesanan dan senarai, yang akan memberi kesan kepada harga. Walau bagaimanapun, kesan ini tidak akan berterusan. Sesetengah orang ingin mengambil pesanan dan menjual, dan harganya mungkin akan pulih dalam masa yang sangat singkat. Sebaliknya, ia serupa dengan memahami bahawa seseorang ingin menjual syiling. Sebagai contoh, jika anda ingin membeli 5 syiling secara langsung, harga akan mencapai 10377. Pada masa ini, jika seseorang ingin menjual 5 syiling secara langsung, harga akan mencapai 10348. Perbezaan harga adalah margin keuntungan. Strategi akan menunggu pesanan pada harga yang sedikit lebih rendah daripada 10377, seperti 10376.99, dan membeli pada harga yang sedikit lebih tinggi daripada 10348, seperti 10348.01. Ini kerana jika keadaan itu berlaku, ia akan menghasilkan perbezaan jelas. Walaupun tidak akan begitu sempurna setiap kali, peluang untuk menghasilkan wang sebenarnya sangat tinggi memandangkan kebarangkalian. Jelaskan operasi tertentu dengan parameter strategi semasa. Parameter ini sudah tentu tidak tersedia, hanya untuk ilustrasi. Ia akan mencari harga dengan jumlah terkumpul 8 syiling, di sini adalah 10377, maka harga jual pada masa ini adalah harga tolak 0.01 (jumlahnya boleh rawak). Begitu juga, ia akan mencari ke bawah untuk jumlah terkumpul 8 syiling, di sini adalah 10348, maka harga jual pada masa ini adalah 10348.01, dan perbezaan antara harga beli dan jual pada masa ini adalah 10376.99-10348.01 = 28.98, yang lebih besar daripada perbezaan harga yang telah ditetapkan terlebih dahulu 1.5, jadi ia akan mencari pesanan untuk menunggu transaksi dengan kedua-dua harga ini, jika perbezaan harga kurang daripada 1.5, ia juga akan mencari harga untuk melihat pesanan, seperti harga pembukaan tambah atau tolak minus 10, dan menunggu lebih lama (lebih sesuai untuk mengikuti pending melalui kedalaman ke bawah). Di samping itu, diperhatikan bahawa strategi ini hanya berkaitan dengan pesanan yang sedang menunggu dan tidak peduli dengan pasaran sejarah dan urus niaga sejarahnya sendiri. Strategi ini juga tidak mempunyai konsep kerugian tunggal. Malah, kadar kemenangan satu urus niaga sangat tinggi.

Penjelasan lanjut

    1. Apa yang perlu saya lakukan jika saya kehabisan wang atau mata wang? situasi ini sangat biasa apabila saya mempunyai lebih sedikit wang. kebanyakan masa, saya hanya menunggu satu sisi pesanan, tetapi ia bukan masalah yang besar. sebenarnya, kita boleh menambah logik menyeimbangkan mata wang dan wang, tetapi tidak dapat dielakkan untuk kehilangan dalam proses keseimbangan. Lagipun, setiap transaksi adalah masalah kebarangkalian. saya memilih untuk menunggu transaksi di satu sisi. sudah tentu, ini juga membuang peluang transaksi di sisi lain.
    1. Bagaimana jawatan dikendalikan? Pada mulanya, mereka semua berada dalam kedudukan penuh untuk membeli dan menjual. kemudian, mereka dibahagikan kepada kumpulan yang berbeza mengikut parameter yang berbeza, dan mereka tidak akan ditutup sepenuhnya pada satu masa.
    1. Adakah ada stop-loss? Strategi ini mempunyai logik pembelian dan penjualan pesanan yang lengkap. Saya fikir tidak perlu menghentikan kerugian (yang boleh dibincangkan), dan terdapat juga keutamaan kebarangkalian. Transaksi adalah peluang, dan kehilangan berhenti adalah kesian.
    1. Bagaimana untuk menyesuaikan diri dengan strategi mendapatkan mata wang? Pada masa ini, parameter adalah simetri, iaitu, pesanan jualan kumulatif 8 syiling ke atas dan pesanan pembelian kumulatif 8 syiling ke bawah sedikit tidak seimbang. Sebagai contoh, pesanan penjualan kumulatif 15 syiling membuat peluang penjualan lebih sukar, dan terdapat peluang yang lebih besar bahawa mereka akan dikembalikan pada harga yang lebih rendah, yang akan menghasilkan mata wang, dan seterusnya menghasilkan wang. Sebenarnya, strategi awal sangat berkesan sehingga mata wang dan wang meningkat.
    1. Bagaimana untuk menangani kerugian terapung? Sudah tentu, akan ada kerugian dalam satu transaksi, seperti kenaikan harga mata wang selepas penjualan dan kejatuhan harga mata wang selepas pembelian. Kerugian terapung seperti itu tidak perlu ditangani, kerana transaksi sering, dan ia adalah normal untuk beribu-ribu kali setiap hari. Kerugian terapung adalah normal, selagi kebarangkalian keuntungan lebih besar.
    1. Bagaimana untuk mengelakkan black swans? Bitcoin mempunyai banyak masa Black Swan, kadang-kadang ia hanya turun sepanjang jalan, dan tidak ada peluang untuk menjualnya. Situasi ini tidak boleh terlalu bimbang, kerana masa Black Swan sering membawa turun naik yang tinggi, dan strategi membuat tepat bahagian ini wang, dan kerugian juga boleh diperoleh kembali dengan cepat.

Penjelasan kod

Kod lengkap boleh dilihat dalam perkongsian strategi saya diwww.fmz.com. Di sini, hanya fungsi logik teras dijelaskan. Tanpa sebarang perubahan, bot simulasi yang datang dengan botvs sebenarnya berfungsi dengan sempurna. Ini adalah strategi lebih dari tiga tahun yang lalu, dan platform masih menyokongnya sekarang. Ia sangat menarik. Pertama sekali, untuk mendapatkan fungsi harga tawaran-tanyakan GetPrice ((), anda perlu mendapatkan maklumat kedalaman pesanan. Perhatikan bahawa panjang maklumat kedalaman pesanan platform yang berbeza adalah berbeza, dan walaupun semua pesanan dilalui, masih tidak ada kuantiti yang diperlukan (situasi ini akan disebabkan oleh banyak pesanan grid 0.01 pada peringkat kemudian). Panggilan adalah GetPrice (Buy), yang adalah untuk mendapatkan harga pembelian.

function GetPrice(Type) {
   //_C() is the fault-tolerant function of the platform
    var depth=_C(exchange.GetDepth);
    var amountBids=0;
    var amountAsks=0;
    //Calculate the buy price and get the cumulative depth to a preset price
    if(Type=="Buy"){
       for(var i=0;i<20;i++){
           amountBids+=depth.Bids[i].Amount;
           //The parameter floatamountbuy is the preset accumulated depth
           if (amountBids>floatamountbuy){
               //Add 0.01 to make the order in the front
              return depth.Bids[i].Price+0.01;}
        }
    }
    //Calculate the selling price similarly
    if(Type=="Sell"){
       for(var j=0; j<20; j++){
    	   amountAsks+=depth.Asks[j].Amount;
            if (amountAsks>floatamountsell){
            return depth.Asks[j].Price-0.01;}
        }
    }
    //After traversing the full depth but still not meeting the demand, a price is returned to avoid bugs
    return depth.Asks[0].Price
}

Fungsi utama setiap gelung adalah onTick(). Masa gelung yang ditetapkan di sini adalah 3.5s. Setiap gelung akan membatalkan pesanan asal dan menunggu semula pesanan. Semakin mudah, semakin sedikit ia akan menghadapi bug.

function onTick() {
    var buyPrice = GetPrice("Buy");
    var sellPrice= GetPrice("Sell");
    //diffprice is the preset spread, if the bid/ask spread is less than the preset spread, it will pend a relatively deeper price.
    if ((sellPrice - buyPrice) <= diffprice){
            buyPrice-=10;
            sellPrice+=10;}
    //Cancel all the original orders. In fact, the new price is often the same as the price of the order. At this time, it is not necessary to cancel.
    CancelPendingOrders() 
    //Get account information to determine how much money and how many currencies are currently in the account.
    var account=_C(exchange.GetAccount);
    //The amount of Bitcoins that can be bought, _N() is the precision function of the platform.
    var amountBuy = _N((account.Balance / buyPrice-0.1),2); 
    //The amount of Bitcoin that can be sold, note that there is no position limit, buy and sell as much as you can, as I had very little money at the time.
    var amountSell = _N((account.Stocks),2); 
    if (amountSell > 0.02) {
        exchange.Sell(sellPrice,amountSell);}
    if (amountBuy > 0.02) {
        exchange.Buy(buyPrice, amountBuy);}
    //Sleep and enter the next loop
    Sleep(sleeptime);
}

Penghujung

Keseluruhan program ini hanya lebih daripada 40 baris, yang kelihatan sangat mudah, tetapi ia juga mengambil masa lebih dari seminggu pada masa itu, yang berada di platform botvs. Kelebihan terbesarnya adalah bahawa ia bermula awal. Pada tahun 2014, pasaran didominasi oleh batu bata bergerak, dan strategi frekuensi tinggi grid dan rampasan inventori tidak terlalu banyak, yang menjadikan strategi seperti ikan di dalam air. Kemudian, persaingan menjadi semakin sengit, dan saya mempunyai lebih banyak wang dan menghadapi banyak cabaran. Saya terpaksa membuat perubahan besar setiap kali untuk menghadapinya, tetapi secara umumnya lancar. Dengan syarat bahawa platform perdagangan tidak mengenakan bayaran, ia adalah syurga untuk perdagangan terprogram. Kerana pelabur runcit cenderung beroperasi jika tidak ada bayaran, ia memberikan peluang untuk bayaran frekuensi tinggi dan bayaran arbitraj. Semua ini pada dasarnya berakhir dengan bayaran dua arah 0.1-0.2%. Walau bagaimanapun, masih banyak ruang untuk strategi kuantitatif frekuensi tinggi.


Berkaitan

Lebih lanjut