Sumber daya yang dimuat... Pemuatan...

Rangkaian Investasi Kuantitatif Blockchain - Strategi Keseimbangan Dinamis

Penulis:Kebaikan, Dibuat: 2019-03-26 11:52:11, Diperbarui:

Asli: FMZ Quantwww.fmz.com

hal-hal nyata dari perdagangan kuantitatif tempat pertemuan di mana Anda benar-benar bisa mendapatkan keuntungan dari.

No. 1

Mentor Warren Buffett, Benjamin Graham, pernah menyebutkan dalam bukunya <> sebuah model perdagangan di mana saham dan obligasi seimbang secara dinamis.imgModel perdagangan ini sangat sederhana:

50% dari dana di tangan diinvestasikan dalam dana ekuitas, dan 50% yang tersisa diinvestasikan dalam dana obligasi.

Re-balancing posisi aset berdasarkan interval tetap atau perubahan pasar mengembalikan rasio aset saham terhadap aset obligasi ke 1:1 awal.

Ini adalah seluruh logika dari seluruh strategi, termasuk kapan untuk membeli dan menjual, dan berapa banyak untuk membeli dan menjual.

No. 2

Dalam metode ini, volatilitas dana obligasi sebenarnya sangat kecil, jauh di bawah volatilitas saham, sehingga obligasi digunakan di sini sebagai reference anchors, yaitu, menggunakan obligasi untuk mengukur apakah saham meningkat terlalu banyak atau terlalu sedikit.

Jika harga saham naik, nilai pasar saham akan lebih besar dari nilai pasar obligasi. Ketika rasio nilai pasar dari keduanya melebihi batas yang ditetapkan, total posisi akan disesuaikan kembali, saham akan dijual, dan obligasi akan dibeli untuk membuat rasio nilai saham ke nilai obligasi untuk mengembalikan ke 1:1 awal.

Sebaliknya, jika harga saham turun, nilai pasar saham akan kurang dari nilai pasar obligasi. Ketika rasio nilai pasar dari keduanya melebihi batas, total posisi akan disesuaikan kembali, saham akan dibeli, dan obligasi akan dijual untuk membuat rasio kapitalisasi pasar nilai obligasi terhadap nilai saham untuk mengembalikan ke 1:1 awal.imgDengan cara ini, rasio antara keseimbangan dinamis saham dan obligasi cukup untuk menikmati keuntungan dari pertumbuhan saham dan mengurangi volatilitas aset.

Karena ini adalah strategi yang lengkap dan bersama, mengapa kita tidak menggunakannya di pasar cryptocurrency?

No.3

Blockchain Aset Strategi Balance Dinamis dalam BTC

Logika strategi

Menurut nilai BTC saat ini, saldo rekening dipertahankan sebesar $ 6400 tunai dan 1 BTC, yaitu rasio awal uang tunai terhadap nilai pasar BTC adalah 1: 1.

Jika harga BTC naik menjadi $7400, yaitu, nilai pasar BTC lebih besar dari saldo akun, dan perbedaan antara keduanya melebihi ambang batas yang ditetapkan, maka koin (7400-6400)/7400/2 dijual.

Jika harga BTC turun menjadi $5400, yaitu nilai pasar BTC kurang dari saldo akun dan perbedaan antara keduanya melebihi ambang batas yang ditetapkan, beli (6400-5400)/5400/2 koin.

Dengan cara ini, terlepas dari apakah BTC dihargai atau terdepresiasi, saldo rekening dan nilai pasar BTC selalu tetap dinamis sama.

NO.4

Jadi bagaimana Anda menerapkannya dengan kode pemrograman?

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 kerangka strategi sebenarnya sangat sederhana, main fungsi, onTick fungsi penempatan pesanan, CancelPendingOrders fungsi, dan parameter yang diperlukan.

No. 5

Modul pesanan

// 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
}

Logika transaksi pesanan jelas, dan semua komentar telah ditulis ke dalam kode. Anda dapat mengklik gambar untuk memperbesarnya.

Proses utamanya adalah sebagai berikut:

Dapatkan informasi akun.

Dapatkan data Tick.

Menghitung data Tick bid-ask spread.

Hitung saldo rekening dan spread nilai pasar BTC.

Menghitung kondisi pemicu perdagangan, harga pesanan, dan jumlah pesanan.

Tempatkan pesanan dan kembali benar.

No. 6

Batalkan modul pesanan yang sedang 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 order tertunda bahkan lebih sederhana, langkah-langkahnya adalah sebagai berikut:

Tunggu 1 detik sebelum menarik pesanan, karena beberapa kantor pertukaran mungkin memiliki keterlambatan server.

Lanjutkan untuk mendapatkan array perintah yang belum dieksekusi, dan jika pengecualian dikembalikan, terus mencoba sampai berhasil.

Jika array order yang belum dieksekusi kosong, akan segera mengembalikan status penarikan.

Jika ada perintah yang belum dieksekusi, seluruh array dilalui dan perintah ditarik sesuai dengan ID pesanan.

NO.7

Strategi ini semua kode sumber pemrogramanimg imgDi platform perdagangan kuantitatif FMZ, dengan hanya 80 baris kode, strategi keseimbangan dinamis BTC blockchain lengkap telah berhasil dibangun.

No. 8

Berikut ini adalah backtest pada data historis BTC, untuk referensi Anda saja.

Lingkungan pengujian balikimgKinerja backtestimgKurva uji mundurimgSatu lagi, grafik harga BTC periode yang samaimgApakah ada kejutan untuk Anda?

BTC terus menurun selama delapan bulan, dan bahkan penurunan terbesar telah melebihi 70%, yang menyebabkan banyak investor kehilangan kepercayaan pada aset blockchain.

Penghasilan kumulatif dari strategi ini setinggi 160%, dan rasio pengembalian risiko tahunan melebihi 5. Untuk strategi perdagangan yang sederhana, pengembalian investasi ini telah melebihi sebagian besar jenis pemain All-in.

NO.9

Strategi penyeimbangan ini, dengan hanya satu parameter inti (nilai ambang batas), adalah metode investasi yang sangat sederhana yang tidak mengejar hasil yang berlebihan tetapi keuntungan yang solid.

Berbeda dengan strategi tren, strategi keseimbangan dinamis adalah melawan tren. Strategi ini adalah untuk mengurangi posisi dan mendinginkan ketika pasar terlalu panas. Ketika pasar sepi, itu akan tersembunyi, yang mirip dengan regulasi makroekonomi.

Pada kenyataannya, strategi keseimbangan dinamis didasarkan pada gagasan bahwa harga tidak dapat diprediksi, sementara pada saat yang sama menangkap fluktuasi harga. inti utama dari strategi keseimbangan dinamis adalah untuk menetapkan dan menyesuaikan rasio alokasi aset, serta ambang trigger.

Karena panjangnya artikel, tidak mungkin sebuah artikel menjadi komprehensif tentang segalanya. Seperti pepatah lama Beri seorang pria ikan dan Anda memberi makan dia untuk sehari. Ajarkan seorang pria untuk memancing dan Anda memberi makan dia untuk seumur hidup.. Hal yang paling penting tentang strategi keseimbangan dinamis adalah ide investasi. Anda bahkan dapat mengganti aset BTC individu dalam artikel ini dengan keranjang portofolio aset blockchain.imgAkhirnya, mari kita selesaikan artikel ini dengan paragraf dari buku Benjamin Graham yang terkenal <>:

Pasar saham bukanlah alat ukur yang mengukur nilai dengan akurat. Sebaliknya, itu adalah mesin pemungutan suara. Keputusan yang dibuat oleh banyak orang adalah dopan rasional dan emosional. Ada banyak kali ketika pilihan ini dibuat. Ini jauh dari penilaian nilai akal. Rahasia berinvestasi adalah berinvestasi ketika harga jauh lebih rendah dari nilai intrinsik, dan percaya bahwa tren pasar akan meningkat.

  • Benjamin Graham

Untuk langsung menyalin kode sumber, silakan kunjungi strategi kami di:https://www.fmz.com/strategy/110900

Ada banyak strategi yang bisa Anda pelajari, unduh, sewa, atau beli.

NO.10

tentang kami

Alasan untuk mengoperasikan situs web ini adalah untuk mengubah status dunia perdagangan kuantitatif saat ini di mana kurangnya hal-hal nyata, di mana memiliki banyak penipuan dan komunikasi yang hampir tidak mendalam, dan menciptakan platform pembelajaran dan komunikasi perdagangan kuantitatif yang lebih murni.www.fmz.com)

Jika Anda merasa bahwa artikel ini bermanfaat bagi Anda, silakan kirimkan ke teman Anda dan dukung kami. Berbagi juga merupakan bentuk kebijaksanaan!

Hubungi kami

Telegram: FMZ Quant

Email:henry@fmz.com

Situs web:www.fmz.com


Lebih banyak