Siri Pelaburan Kuantitatif Blockchain - Strategi Keseimbangan Dinamik

Penulis:Kebaikan, Dicipta: 2019-03-26 11:52:11, Dikemas kini:

Asal: FMZ Quantwww.fmz.com

hal sebenar tempat perhimpunan perdagangan kuantitatif di mana anda benar-benar boleh mendapat manfaat daripada.

NO.1

Mentor Warren Buffett, Benjamin Graham, pernah menyebut dalam buku <> sebuah model perdagangan di mana saham dan bon seimbang secara dinamik.imgModel perdagangan ini sangat mudah:

50% daripada dana yang ada di tangan dilaburkan dalam dana ekuiti, dan 50% yang selebihnya dilaburkan dalam dana bon.

Keseimbangan semula kedudukan aset berdasarkan selang masa tetap atau perubahan pasaran mengembalikan nisbah aset stok kepada aset bon kepada 1:1 awal.

Ini adalah keseluruhan logik keseluruhan strategi, termasuk bila untuk membeli dan menjual, dan berapa banyak untuk membeli dan menjual.

NO.2

Dalam kaedah ini, turun naik dana bon sebenarnya sangat kecil, jauh di bawah turun naik stok, jadi bon digunakan di sini sebagai perantaraan rujukan, iaitu, menggunakan bon untuk mengukur sama ada stok meningkat terlalu banyak atau terlalu sedikit.

Jika harga saham meningkat, nilai pasaran saham akan lebih besar daripada nilai pasaran bon. Apabila nisbah nilai pasaran kedua-dua ini melebihi set ambang, jumlah kedudukan akan diselaraskan semula, stok akan dijual, dan bon akan dibeli untuk membuat nilai saham kepada nisbah nilai bon untuk memulihkan ke 1:1 awal.

Sebaliknya, jika harga saham jatuh, nilai pasaran stok akan kurang daripada nilai pasaran bon. Apabila nisbah nilai pasaran kedua-dua ini melebihi set ambang, jumlah kedudukan akan disesuaikan semula, stok akan dibeli, dan bon akan dijual untuk membuat nisbah permodalan pasaran nilai bon kepada nilai saham untuk dipulihkan ke 1:1 awal.imgDengan cara ini, nisbah antara keseimbangan dinamik saham dan bon adalah cukup untuk menikmati keuntungan pertumbuhan saham dan mengurangkan turun naik aset.

Oleh kerana ini adalah strategi yang lengkap dan bersama, mengapa kita tidak menggunakannya di pasaran cryptocurrency?

NO.3

Strategi Keseimbangan Dinamik Aset Blockchain dalam BTC

Logik strategi

Menurut nilai semasa BTC, baki akaun dikekalkan pada $ 6400 tunai dan 1 BTC, iaitu nisbah awal tunai kepada nilai pasaran BTC adalah 1: 1.

Jika harga BTC meningkat kepada $7400, iaitu, nilai pasaran BTC lebih besar daripada baki akaun, dan perbezaan di antara mereka melebihi ambang yang ditetapkan, maka duit syiling (7400-6400)/7400/2 dijual.

Jika harga BTC jatuh kepada $5400, iaitu nilai pasaran BTC kurang daripada baki akaun dan perbezaan di antara mereka melebihi ambang yang ditetapkan, beli (6400-5400)/5400/2 syiling.

Dengan cara ini, tanpa mengira sama ada BTC dihargai atau terdepresiasi, baki akaun dan nilai pasaran BTC sentiasa disimpan secara dinamik sama.

NO.4

Jadi bagaimana anda menerapkannya dengan kod pengaturcaraan?

Mari kita ambil platform perdagangan kuantitatif FMZ sebagai contoh.

// strategy parameter
var threshold = 0.05; // Threshold
var LoopInterval = 60; // Polling interval(seconds)
var MinStock = 0.001; // Minimum transaction volume
var XPrecision = 4; // Quantity accuracy
var ZPrecision = 8; // Price accuracy

// Withdrawal order function
function CancelPendingOrders() {

}

// Placing Order function
function onTick() {

}

// Main function
function main() {
    // Filter non-critical information
    SetErrorFilter("GetRecords:|GetOrders:|GetDepth:|GetAccount|:Buy|Sell|timeout");
    while (true) { // Polling mode
        if (onTick()) { // Execute the onTick function
            CancelPendingOrders(); // Cancel unexecuted pending orders
        }
        Sleep(LoopInterval * 1000); // Sleep
    }
}

Seluruh rangka kerja strategi sebenarnya sangat mudah, fungsi main, fungsi onTick meletakkan pesanan, fungsi CancelPendingOrders, dan parameter yang diperlukan.

NO.5

Modul Perintah

// Placing Order function
function onTick() {
    var acc = _C(exchange.GetAccount); // Get account information
    var ticker = _C(exchange.GetTicker); // Get Tick data
    var spread = ticker.Sell - ticker.Buy; // Get the bid-ask spread of Tick data
    // 0.5 times the difference between the account balance and the current position value
    var diffAsset = (acc.Balance - (acc.Stocks * ticker.Sell)) / 2;
    var ratio = diffAsset / acc.Balance; // diffAsset / Account Balance
    LogStatus('ratio:', ratio, _D()); // Print ratio and current time
    if (Math.abs(ratio) < threshold) { // If the absolute value of ratio is less than the specified threshold
        return false; // return false
    }
    if (ratio > 0) { // If ratio is greater than 0
        var buyPrice = _N(ticker.Sell + spread, ZPrecision); // Calculate the order price
        var buyAmount = _N(diffAsset / buyPrice, XPrecision); // Calculate the order quantity
        if (buyAmount < MinStock) { // If the order quantity is less than the minimum transaction volume
            return false; // return false
        }
        exchange.Buy(buyPrice, buyAmount, diffAsset, ratio); // Buy order
    } else {
        var sellPrice = _N(ticker.Buy - spread, ZPrecision); // Calculate the order price
        var sellAmount = _N(-diffAsset / sellPrice, XPrecision); // Calculate the order quantity
        if (sellAmount < MinStock) { // If the order quantity is less than the minimum transaction volume
            return false; // return false
        }
        exchange.Sell(sellPrice, sellAmount, diffAsset, ratio); // Sell order
    }
    return true; // return true
}

Logik urus niaga pesanan adalah jelas, dan semua komen telah ditulis ke dalam kod.

Proses utama adalah seperti berikut:

Dapatkan maklumat akaun.

Dapatkan data Tick.

Mengira data Tick bid-ask spread.

Mengira baki akaun dan perbezaan nilai pasaran BTC.

Mengira keadaan pencetus perdagangan, harga pesanan, dan kuantiti pesanan.

Buat pesanan dan kembali benar.

NO.6

Batalkan modul pesanan menunggu

// Withdrawal order function
function CancelPendingOrders() {
    Sleep(1000); // Sleep 1 second
    var ret = false;
    while (true) {
        var orders = null;
        // Continue to get an array of unexecuted orders, if an exception is returned, continue to get
        while (!(orders = exchange.GetOrders())) {
            Sleep(1000); // Sleep 1 second
        }
        if (orders.length == 0) { // If the order array is empty
            return ret; // Return to withdrawal status
        }
        for (var j = 0; j < orders.length; j++) { // Traversing the array of unexecuted orders
            exchange.CancelOrder(orders[j].Id); // Cancel unexecuted orders one by one
            ret = true;
            if (j < (orders.length - 1)) {
                Sleep(1000); // Sleep 1 second
            }
        }
    }
}

Modul pembatalan pesanan menunggu adalah lebih mudah, langkah-langkahnya seperti berikut:

Tunggu 1 saat sebelum menarik balik pesanan, kerana beberapa kedai pertukaran mungkin mempunyai kelewatan pelayan.

Teruskan untuk mendapatkan pelbagai perintah yang tidak dilaksanakan, dan jika pengecualian dikembalikan, terus cuba sehingga berjaya.

Jika barisan pesanan yang belum dilaksanakan kosong, ia akan mengembalikan status penarikan segera.

Jika terdapat pesanan yang tidak dilaksanakan, seluruh array dilalui dan pesanan ditarik balik mengikut ID pesanan.

NO.7

Strategi ini semua kod sumber pengaturcaraanimg imgDi platform perdagangan kuantitatif FMZ, dengan hanya 80 baris kod, strategi penyeimbangan dinamik blockchain BTC yang lengkap telah berjaya dibina.

NO.8

Seterusnya, mari kita menguji strategi keseimbangan dinamik yang mudah ini untuk melihat apakah ia berfungsi. Berikut adalah ujian belakang pada data sejarah BTC, untuk rujukan anda sahaja.

Backtesting persekitaranimgPrestasi ujian belakangimgKurva ujian belakangimgSatu lagi, carta harga BTC tempoh yang samaimgAdakah ada kejutan untuk anda?

BTC telah meneruskan penurunan selama lapan bulan, dan bahkan penurunan terbesar telah melebihi 70%, yang menyebabkan banyak pelabur kehilangan keyakinan terhadap aset blockchain.

Pendapatan kumulatif strategi ini setinggi 160%, dan nisbah pengembalian risiko tahunan melebihi 5. Untuk strategi perdagangan yang sederhana, pulangan pelaburan ini telah melebihi majoriti pemain jenis All-in.

NO.9

Strategi penyeimbangan ini, dengan hanya satu parameter teras (nilai ambang), adalah kaedah pelaburan yang sangat mudah yang tidak mengejar pulangan yang berlebihan tetapi keuntungan yang kukuh.

Berbeza dengan strategi trend, strategi keseimbangan dinamik adalah menentang trend. Strategi ini adalah untuk mengurangkan kedudukan dan menyejukkan apabila pasaran terlalu panas. Apabila pasaran sunyi, ia akan tersembunyi, yang serupa dengan peraturan makroekonomi.

Sebenarnya, strategi imbangan dinamik adalah berdasarkan idea bahawa harga tidak dapat diramalkan, sementara pada masa yang sama menangkap turun naik harga.

Memandangkan panjang artikel, adalah mustahil untuk sebuah artikel menjadi komprehensif mengenai segala-galanya. Seperti pepatah lama Berikan seorang lelaki ikan dan anda memberi makan dia untuk sehari. Ajar seorang lelaki untuk memancing dan anda memberi makan dia untuk seumur hidup.. Perkara yang paling penting mengenai strategi baki dinamik adalah idea pelaburan. Anda bahkan boleh menggantikan aset BTC individu dalam artikel ini dengan bakul portfolio aset blockchain.imgAkhirnya, mari kita akhiri artikel ini dengan satu perenggan dalam buku Benjamin Graham yang terkenal <>:

Pasaran saham bukanlah pengukur berat yang mengukur nilai dengan tepat. Sebaliknya, ia adalah mesin mengundi. Keputusan yang dibuat oleh orang yang tidak terhitung jumlahnya adalah dopan rasional dan emosi. Terdapat banyak kali apabila pilihan ini dibuat. Ia jauh dari penilaian nilai alasan. Rahsia pelaburan adalah untuk melabur apabila harga jauh lebih rendah daripada nilai intrinsik, dan percaya bahawa trend pasaran akan meningkat.

  • Benjamin Graham

Untuk langsung menyalin kod sumber, sila lawati strategi kami di:https://www.fmz.com/strategy/110900

Terdapat banyak strategi yang boleh anda pelajari, muat turun, sewa, atau beli.

NO.10

Mengenai kami

Alasan untuk menjalankan laman web ini adalah untuk mengubah status dunia perdagangan kuantitatif semasa di mana kekurangan barang sebenar, di mana mempunyai banyak penipuan dan komunikasi yang hampir tidak mendalam, dan mewujudkan platform pembelajaran dan komunikasi perdagangan kuantitatif yang lebih murni.www.fmz.com)

Penghantaran anda akan menjadi kekuatan pendorong untuk menyokong kami untuk terus membuat lebih banyak barang sebenar! Jika anda merasakan bahawa artikel ini membantu anda, sila hantarkan kepada rakan anda dan menyokong kami. Berkongsi juga merupakan bentuk kebijaksanaan!

Hubungi kami

Telegram: FMZ Quant

E-mel:henry@fmz.com

Laman web:www.fmz.com


Lebih lanjut