Ujian Balik Berjaya Strategi Dagangan Algoritma - Bahagian I

Penulis:Kebaikan, Dicipta: 2019-03-20 17:00:16, Dikemas kini:

Artikel ini meneruskan siri mengenai perdagangan kuantitatif, yang bermula dengan Panduan Pemula dan Pengenalan Strategi. kedua-dua artikel yang lebih panjang dan lebih terlibat telah sangat popular jadi saya akan meneruskan dalam semangat ini dan memberikan butiran mengenai topik pengujian strategi.

Algoritma backtesting memerlukan pengetahuan tentang banyak bidang, termasuk psikologi, matematik, statistik, pembangunan perisian dan mikrostruktur pasaran / pertukaran. Saya tidak boleh berharap untuk merangkumi semua topik itu dalam satu artikel, jadi saya akan membahagikannya kepada dua atau tiga bahagian yang lebih kecil. Apa yang akan kita bincangkan dalam bahagian ini? Saya akan memulakan dengan menentukan backtesting dan kemudian saya akan menerangkan asas bagaimana ia dijalankan. Kemudian saya akan menerangkan bias yang kita sentuh dalam Panduan Pemula untuk Perdagangan Kuantitatif. Seterusnya saya akan membentangkan perbandingan pelbagai pilihan perisian backtesting yang ada.

Dalam artikel seterusnya kita akan melihat butiran pelaksanaan strategi yang sering jarang disebut atau diabaikan. Kami juga akan mempertimbangkan bagaimana untuk membuat proses backtesting lebih realistik dengan memasukkan idiosyncrasies bursa perdagangan. Kemudian kita akan membincangkan kos transaksi dan bagaimana untuk memodelkannya dengan betul dalam tetapan backtest. Kami akan menamatkan dengan perbincangan mengenai prestasi backtest kami dan akhirnya memberikan contoh strategi kuantum biasa, yang dikenali sebagai perdagangan pasangan pembalikan purata.

Mari kita mulakan dengan membincangkan apa yang backtesting dan mengapa kita harus menjalankan ia dalam dagangan algoritma kami.

Apakah Backtesting?

Perdagangan algoritma berbeza dengan jenis kelas pelaburan lain kerana kita dapat memberikan jangkaan yang lebih boleh dipercayai mengenai prestasi masa depan daripada prestasi masa lalu, akibat ketersediaan data yang banyak.

Dalam istilah yang mudah, backtesting dilakukan dengan mendedahkan algoritma strategi tertentu anda kepada aliran data kewangan sejarah, yang membawa kepada satu set isyarat perdagangan. Setiap perdagangan (yang kami maksudkan di sini sebagai perjalanan pulang-pergi dua isyarat) akan mempunyai keuntungan atau kerugian yang berkaitan. Pengumpulan keuntungan / kerugian ini selama tempoh backtest strategi anda akan membawa kepada keuntungan dan kerugian keseluruhan (juga dikenali sebagai P&L atau PnL). Itulah intipati idea, walaupun tentu saja iblis sentiasa dalam butiran!

Apakah sebab utama untuk menguji semula strategi algoritma?

  • Penapisan - Jika anda ingat dari artikel mengenai Identifikasi Strategi, matlamat kami pada peringkat penyelidikan awal adalah untuk menubuhkan saluran strategi dan kemudian menapis mana-mana strategi yang tidak memenuhi kriteria tertentu.
  • Pemodelan - Backtesting membolehkan kita menguji (dengan selamat!) model baru fenomena pasaran tertentu, seperti kos transaksi, laluan pesanan, latensi, kecairan atau isu-isu struktur mikro pasaran yang lain.
  • Pengoptimuman - Walaupun pengoptimuman strategi penuh dengan bias, pengujian belakang membolehkan kita meningkatkan prestasi strategi dengan mengubahsuai kuantiti atau nilai parameter yang berkaitan dengan strategi itu dan mengira semula prestasi.
  • Pengesahan - Strategi kami sering diperoleh dari luar, melalui paip strategi kami. Ujian belakang strategi memastikan bahawa ia tidak dilaksanakan dengan salah. Walaupun kita jarang mempunyai akses kepada isyarat yang dihasilkan oleh strategi luaran, kita sering mempunyai akses kepada metrik prestasi seperti nisbah Sharpe dan ciri penarikan. Oleh itu kita dapat membandingkannya dengan pelaksanaan kita sendiri.

Backtesting menyediakan pelbagai kelebihan untuk perdagangan algoritma. Walau bagaimanapun, tidak selalu mungkin untuk langsung menguji kembali strategi. Secara umum, apabila kekerapan strategi meningkat, menjadi lebih sukar untuk memodelkan dengan betul kesan struktur mikro pasaran dan bursa. Ini membawa kepada ujian belakang yang kurang boleh dipercayai dan dengan itu penilaian strategi yang dipilih lebih rumit. Ini adalah masalah tertentu di mana sistem pelaksanaan adalah kunci kepada prestasi strategi, seperti dengan algoritma frekuensi ultra tinggi.

Malangnya, pengujian ke belakang penuh dengan segala jenis bias.

Bias yang Memengaruhi Ujian Belakang Strategi

Terdapat banyak bias yang boleh menjejaskan prestasi strategi backtested. Malangnya, bias ini cenderung untuk membesarkan prestasi dan bukannya mengurangkannya. Oleh itu, anda harus selalu menganggap backtest sebagai batas atas yang ideal pada prestasi sebenar strategi. Hampir mustahil untuk menghapuskan bias dari perdagangan algoritma jadi tugas kita adalah untuk meminimumkannya sebaik mungkin untuk membuat keputusan yang tepat mengenai strategi algoritma kita.

Terdapat empat bias utama yang ingin saya bincangkan: Bias Optimasi, Bias Lihat ke hadapan, Bias Survival dan Bias Toleransi psikologi.

Bias pengoptimuman

Ini mungkin yang paling licik daripada semua bias backtest. Ia melibatkan penyesuaian atau pengenalan parameter perdagangan tambahan sehingga prestasi strategi pada set data backtest sangat menarik. Walau bagaimanapun, sekali hidup prestasi strategi boleh berbeza dengan ketara. Nama lain untuk bias ini adalah curve fitting atau data-snooping bias.

Bias pengoptimuman adalah sukar untuk dihapuskan kerana strategi algoritma sering melibatkan banyak parameter. Parameter dalam kes ini mungkin kriteria masuk / keluar, tempoh melihat kembali, tempoh purata (iaitu parameter kelancaran purata bergerak) atau kekerapan pengukuran turun naik. Bias pengoptimuman dapat diminimumkan dengan mengekalkan bilangan parameter kepada minimum dan meningkatkan jumlah titik data dalam set latihan. Sebenarnya, seseorang juga harus berhati-hati dengan yang terakhir kerana titik latihan yang lebih tua boleh tertakluk kepada rejim sebelumnya (seperti persekitaran peraturan) dan dengan itu mungkin tidak relevan dengan strategi semasa anda.

Salah satu kaedah untuk membantu mengurangkan bias ini adalah dengan melakukan analisis kepekaan. Ini bermakna mengubah parameter secara beransur-ansur dan merangka permukaan prestasi. Mendengar, penalaran asas untuk pilihan parameter harus, dengan semua faktor lain yang dipertimbangkan, membawa kepada permukaan parameter yang lebih licin. Jika anda mempunyai permukaan prestasi yang sangat melonjak, ia sering bermakna bahawa parameter tidak mencerminkan fenomena dan merupakan artifak data ujian. Terdapat kesusasteraan yang luas mengenai algoritma pengoptimuman berdimensi dan ia adalah bidang penyelidikan yang sangat aktif. Saya tidak akan tinggal di sini, tetapi simpan di belakang fikiran anda apabila anda mencari strategi dengan backtest yang hebat!

Bias Mengharap Masa Depan

Bias melihat ke hadapan diperkenalkan ke dalam sistem backtesting apabila data masa depan secara tidak sengaja dimasukkan ke dalam satu titik dalam simulasi di mana data itu sebenarnya tidak akan tersedia. Jika kita menjalankan backtest secara kronologi dan kita mencapai titik masa N, maka bias melihat ke hadapan berlaku jika data dimasukkan untuk mana-mana titik N + k, di mana k> 0.

  • Bug Teknikal - Array/vektor dalam kod sering mempunyai pengulangan atau pembolehubah indeks. Penghapusan indeks ini yang tidak betul boleh menyebabkan bias melihat ke hadapan dengan menggabungkan data pada N + k untuk k bukan sifar.
  • Pengiraan Parameter - Satu lagi contoh bias melihat ke hadapan berlaku semasa mengira parameter strategi optimum, seperti dengan regresi linear antara dua siri masa.
  • Maksimum / Minima - Strategi perdagangan tertentu menggunakan nilai melampau dalam tempoh masa apa pun, seperti menggabungkan harga tinggi atau rendah dalam data OHLC. Walau bagaimanapun, kerana nilai maksimum / minimum ini hanya boleh dikira pada akhir tempoh masa, bias melihat ke hadapan diperkenalkan jika nilai-nilai ini digunakan -selama- tempoh semasa.

Seperti bias pengoptimuman, seseorang mesti sangat berhati-hati untuk mengelakkan pengenalansinya.

Kecenderungan Hidup

Bias kelangsungan hidup adalah fenomena yang sangat berbahaya dan boleh membawa kepada prestasi yang meningkat dengan ketara untuk jenis strategi tertentu. Ia berlaku apabila strategi diuji pada set data yang tidak merangkumi keseluruhan alam semesta aset sebelumnya yang mungkin telah dipilih pada satu ketika tertentu, tetapi hanya mempertimbangkan mereka yang telah "tertahan" hingga masa kini.

Sebagai contoh, pertimbangkan untuk menguji strategi pada pemilihan saham secara rawak sebelum dan selepas kejatuhan pasaran 2001. Beberapa saham teknologi muflis, sementara yang lain berjaya bertahan dan bahkan berkembang maju. Jika kita membatasi strategi ini hanya untuk saham yang berjaya melalui tempoh penarikan pasaran, kita akan memperkenalkan bias kelangsungan hidup kerana mereka telah menunjukkan kejayaan mereka kepada kita. Sebenarnya, ini hanya satu lagi kes bias melihat ke depan, kerana maklumat masa depan dimasukkan ke dalam analisis masa lalu.

Terdapat dua cara utama untuk mengurangkan bias kelangsungan hidup dalam backtest strategi anda:

  • Kumpulan data bebas bias kelangsungan hidup - Dalam hal data ekuiti, adalah mungkin untuk membeli set data yang merangkumi entiti yang tidak disenaraikan, walaupun mereka tidak murah dan hanya cenderung digunakan oleh firma institusi. Khususnya, data Yahoo Finance TIDAK bebas bias kelangsungan hidup, dan ini biasanya digunakan oleh banyak peniaga algos runcit. Seseorang juga boleh berdagang pada kelas aset yang tidak terdedah kepada bias kelangsungan hidup, seperti komoditi tertentu (dan derivatif masa depan mereka).
  • Menggunakan Data yang Lebih Baru - Dalam kes ekuiti, menggunakan set data yang lebih baru mengurangkan kemungkinan bahawa pemilihan saham yang dipilih diberi berat kepada survivors, hanya kerana terdapat kemungkinan yang lebih kecil untuk keseluruhan stok yang dikeluarkan dalam tempoh masa yang lebih singkat. Seseorang juga boleh mula membina set data bebas bias kelangsungan hidup peribadi dengan mengumpul data dari titik semasa ke depan. Selepas 3-4 tahun, anda akan mempunyai set data bebas bias kelangsungan hidup yang kukuh untuk menguji strategi selanjutnya.

Kami kini akan mempertimbangkan beberapa fenomena psikologi yang boleh mempengaruhi prestasi perdagangan anda.

Bias Toleransi Psikologi

Fenomena tertentu ini tidak sering dibincangkan dalam konteks perdagangan kuantitatif. Walau bagaimanapun, ia dibincangkan secara meluas mengenai kaedah perdagangan yang lebih diskresionari. Ia mempunyai pelbagai nama, tetapi saya telah memutuskan untuk menamakannya 'bias toleransi psikologi' kerana ia menangkap intipati masalah. Apabila membuat backtest selama tempoh 5 tahun atau lebih, mudah untuk melihat kurva ekuiti yang cenderung naik, mengira pulangan tahunan kompaun, nisbah Sharpe dan juga ciri penarikan dan berpuas hati dengan hasilnya. Sebagai contoh, strategi mungkin mempunyai penarikan relatif maksimum 25% dan tempoh penarikan maksimum 4 bulan. Ini tidak akan menjadi tidak biasa untuk strategi momentum.

Jika penarikan sejarah 25% atau lebih berlaku dalam backtests, maka dengan semua kebarangkalian anda akan melihat tempoh penarikan yang sama dalam perdagangan langsung. Tempoh penarikan ini secara psikologi sukar untuk ditanggung. Saya telah memerhatikan sendiri bagaimana penarikan lanjutan boleh seperti, dalam persekitaran institusi, dan ia tidak menyenangkan - walaupun backtests mencadangkan tempoh sedemikian akan berlaku.

Pakej Perisian untuk Backtesting

Pelancongan perisian untuk pengujian balik strategi adalah luas. Penyelesaian berkisar dari perisian canggih gred institusi yang bersepadu sepenuhnya hingga bahasa pengaturcaraan seperti C ++, Python dan R di mana hampir semuanya mesti ditulis dari awal (atau plugins yang sesuai diperoleh). Sebagai peniaga kuant kita berminat dalam keseimbangan untuk dapat memiliki tumpukan teknologi perdagangan kita berbanding kelajuan dan kebolehpercayaan metodologi pembangunan kita. Berikut adalah pertimbangan utama untuk pemilihan perisian:

  • Kemahiran Pengaturcaraan - Pilihan persekitaran akan sebahagian besarnya datang kepada keupayaan anda untuk memprogram perisian. Saya berpendapat bahawa mengawal keseluruhan timbunan akan mempunyai kesan yang lebih besar terhadap P&L jangka panjang anda daripada melakukan outsourcing sebanyak mungkin kepada perisian vendor. Ini disebabkan oleh risiko negatif mempunyai bug luaran atau keanehan yang tidak dapat anda perbaiki dalam perisian vendor, yang sebaliknya akan dengan mudah diperbaiki jika anda mempunyai lebih banyak kawalan ke atas tech stack anda. Anda juga mahu persekitaran yang mencapai keseimbangan yang tepat antara produktiviti, ketersediaan perpustakaan dan kelajuan pelaksanaan. Saya membuat cadangan peribadi saya di bawah.
  • Keupayaan Pelaksanaan / Interaksi Broker - Perisian backtesting tertentu, seperti Tradestation, berkaitan secara langsung dengan broker. Saya bukan peminat pendekatan ini kerana mengurangkan kos transaksi sering merupakan komponen besar untuk mendapatkan nisbah Sharpe yang lebih tinggi. Jika anda terikat dengan broker tertentu (dan Tradestation memaksa anda melakukan ini), maka anda akan mengalami masa yang lebih sukar untuk beralih ke perisian baru (atau broker baru) jika perlu. Broker Interaktif menyediakan API yang kukuh, walaupun dengan antara muka yang sedikit tumpul.
  • Penyesuaian - Persekitaran seperti MATLAB atau Python memberi anda banyak fleksibiliti ketika membuat strategi algo kerana mereka menyediakan perpustakaan yang hebat untuk hampir semua operasi matematik yang dapat dibayangkan, tetapi juga membolehkan penyesuaian yang luas jika perlu.
  • Kerumitan Strategi - Perisian tertentu tidak sesuai untuk penghitungan nombor berat atau kerumitan matematik. Excel adalah salah satu perisian seperti itu. Walaupun ia baik untuk strategi yang lebih mudah, ia tidak dapat menangani banyak aset atau algoritma yang lebih rumit, dengan cepat.
  • Pengurangan bias - Adakah perisian atau data tertentu lebih sesuai untuk bias perdagangan? Anda perlu memastikan bahawa jika anda ingin membuat semua fungsi sendiri, anda tidak memperkenalkan bug yang boleh membawa kepada bias.
  • Kelajuan Pembangunan - Seseorang tidak perlu menghabiskan bulan dan bulan untuk melaksanakan enjin backtest. Prototaip hanya perlu mengambil masa beberapa minggu. Pastikan perisian anda tidak menghalang kemajuan anda dengan tahap yang besar, hanya untuk mendapatkan beberapa mata peratusan tambahan kelajuan pelaksanaan. C ++ adalah gajah di dalam bilik di sini!
  • Kelajuan Pelaksanaan - Jika strategi anda sepenuhnya bergantung pada ketepatan masa pelaksanaan (seperti dalam HFT / UHFT) maka bahasa seperti C atau C ++ akan diperlukan.
  • Kos - Banyak persekitaran perisian yang boleh anda programkan strategi dagangan algoritma adalah benar-benar percuma dan sumber terbuka. Malah, banyak dana lindung nilai menggunakan perisian sumber terbuka untuk keseluruhan timbunan dagangan algo mereka. Di samping itu, Excel dan MATLAB keduanya agak murah dan bahkan terdapat alternatif percuma untuk masing-masing.

Sekarang bahawa kita telah disenaraikan kriteria dengan yang kita perlu memilih infrastruktur perisian kita, saya mahu berjalan melalui beberapa pakej yang lebih popular dan bagaimana mereka membandingkan:

Nota: Saya hanya akan memasukkan perisian yang tersedia untuk kebanyakan pengamal runcit dan pemaju perisian, kerana ini adalah pembaca laman web ini. Walaupun perisian lain tersedia seperti alat gred institusi yang lebih, saya merasakan ini terlalu mahal untuk digunakan secara berkesan dalam persekitaran runcit dan saya secara peribadi tidak mempunyai pengalaman dengan mereka.

Perbandingan Perisian Backtesting

MS Excel

Penerangan: Perisian spreadsheet WYSIWYG (what-you-see-is-what-you-get). Sangat meluas dalam industri kewangan. Data dan algoritma berkait rapat.

Pelaksanaan: Ya, Excel boleh dihubungkan ke kebanyakan broker.

Penyesuaian: Makro VBA membolehkan fungsi yang lebih maju dengan mengorbankan penyamaran pelaksanaan.

Kerumitan Strategi: Alat statistik yang lebih maju lebih sukar untuk dilaksanakan seperti strategi dengan beratus-ratus aset.

Pengurangan Bias: Bias Look-ahead mudah dikesan melalui fungsi pencahayaan sel (dengan mengandaikan tidak ada VBA).

Kelajuan Pembangunan: Cepat melaksanakan strategi asas.

Kelajuan pelaksanaan: Kelajuan pelaksanaan yang perlahan - hanya sesuai untuk strategi frekuensi rendah.

Kos: Murah atau percuma (bergantung kepada lesen).

Alternatif: OpenOffice

MATLAB

Penerangan: Kawasan pengaturcaraan yang pada asalnya direka untuk matematik pengkomputeran, fizik dan kejuruteraan. Sangat sesuai untuk operasi vektor dan yang melibatkan aljabar linear numerik. Menyediakan pelbagai pemalam untuk perdagangan kuant. Digunakan secara meluas dalam dana lindung nilai kuantitatif.

Pelaksanaan: Tidak ada keupayaan pelaksanaan asli, MATLAB memerlukan sistem pelaksanaan yang berasingan.

Penyesuaian: Kumpulan besar plugin komuniti untuk hampir semua bidang matematik pengiraan.

Kerumitan Strategi: Banyak kaedah statistik canggih yang sudah tersedia dan diuji dengan baik.

Pengurangan bias: Lebih sukar untuk mengesan bias melihat ke hadapan, memerlukan ujian yang luas.

Kelajuan Pembangunan: Skrip pendek boleh membuat backtest yang canggih dengan mudah.

Kelajuan pelaksanaan: Dengan mengandaikan algoritma vektor / paralel, MATLAB sangat dioptimumkan.

Kos: ~ 1,000 USD untuk lesen.

Alternatif: Octave, SciLab

Python

Penerangan: Bahasa peringkat tinggi yang direka untuk kelajuan pembangunan. Pelbagai perpustakaan untuk hampir semua tugas programatik yang dapat dibayangkan. Mendapat penerimaan yang lebih luas dalam komuniti dana lindung nilai dan bank pelaburan. Tidak begitu pantas seperti C / C ++ untuk kelajuan pelaksanaan.

Pelaksanaan: Plugin Python wujud untuk broker yang lebih besar, seperti Interactive Brokers. Oleh itu backtest dan sistem pelaksanaan semua boleh menjadi sebahagian daripada tech stack yang sama.

Penyesuaian: Python mempunyai komuniti pembangunan yang sangat sihat dan merupakan bahasa yang matang. NumPy / SciPy menyediakan perisian pengkomputeran saintifik dan analisis statistik yang pantas yang relevan untuk perdagangan kuant.

Kerumitan Strategi: Banyak pemalam wujud untuk algoritma utama, tetapi tidak begitu besar komuniti kuant seperti yang ada untuk MATLAB.

Pengurangan bias: Masalah pengurangan bias yang sama wujud seperti untuk bahasa peringkat tinggi. Perlu berhati-hati tentang ujian.

Kelajuan Pembangunan: Kelebihan utama Python adalah kelajuan pembangunan, dengan keupayaan pengujian yang kukuh.

Kelajuan pelaksanaan: Tidak secepat C ++, tetapi komponen pengkomputeran saintifik dioptimumkan dan Python boleh bercakap dengan kod C asli dengan pemalam tertentu.

Kos: Percuma / Sumber Terbuka

Alternatif: Ruby, Erlang, Haskell

R

Penerangan: Persekitaran yang direka untuk kaedah statistik canggih dan analisis siri masa. Pelbagai set alat statistik, ekonometri dan grafik asli. Komuniti pembangun yang besar.

Pelaksanaan: R mempunyai pemalam untuk beberapa broker, khususnya Interactive Brokers.

Penyesuaian: R boleh disesuaikan dengan sebarang pakej, tetapi kekuatannya terletak di domain statistik / ekonometri.

Kerumitan Strategi: Kebanyakan berguna jika menjalankan strategi ekonometrik, statistik atau pembelajaran mesin kerana pemalam yang tersedia.

Pengurangan bias: Kemungkinan bias yang sama untuk mana-mana bahasa peringkat tinggi seperti Python atau C ++. Oleh itu, ujian mesti dilakukan.

Kelajuan Pembangunan: R adalah pantas untuk menulis strategi berdasarkan kaedah statistik.

Kelajuan pelaksanaan: R lebih perlahan daripada C ++, tetapi tetap relatif dioptimumkan untuk operasi vektor (seperti dengan MATLAB).

Kos: Percuma / Sumber Terbuka

Alternatif: SPSS, Stata

C++

Penerangan: Bahasa peringkat tinggi yang matang yang direka untuk kelajuan pelaksanaan. Pelbagai perpustakaan kewangan kuantitatif dan berangka. Lebih sukar untuk debug dan sering mengambil masa yang lebih lama untuk dilaksanakan daripada Python atau MATLAB. Sangat lazim di kedua-dua bahagian beli dan jual.

Pelaksanaan: Kebanyakan API pembrokeran ditulis dalam C ++ dan Java. Oleh itu banyak pemalam wujud.

Penyesuaian: C / C ++ membolehkan akses langsung ke memori asas, oleh itu strategi frekuensi ultra tinggi dapat dilaksanakan.

Kerumitan Strategi: C ++ STL menyediakan pelbagai algoritma yang dioptimumkan.

Bias Minimisation: Bias Look-ahead boleh menjadi rumit untuk dihapuskan, tetapi tidak lebih sukar daripada bahasa peringkat tinggi yang lain.

Kelajuan Pembangunan: C ++ agak banyak perkataan berbanding Python atau MATLAB untuk algoritma yang sama.

Kelajuan pelaksanaan: C / C ++ mempunyai kelajuan pelaksanaan yang sangat cepat dan boleh dioptimumkan dengan baik untuk seni bina pengkomputeran tertentu.

Kos: Pelengkap yang berbeza: Linux / GCC adalah percuma, MS Visual Studio mempunyai lesen yang berbeza.

Alternatif: C #, Java, Scala

Strategi yang berbeza akan memerlukan pakej perisian yang berbeza. Strategi HFT dan UHFT akan ditulis dalam C / C ++ (hari ini mereka sering dijalankan pada GPU dan FPGA), sedangkan strategi ekuiti arah frekuensi rendah mudah dilaksanakan di TradeStation, kerana sifat all in one perisian / broker.

Saya lebih suka Python kerana ia menyediakan tahap penyesuaian yang tepat, kelajuan pembangunan, keupayaan ujian dan kelajuan pelaksanaan untuk keperluan dan strategi saya. Jika saya memerlukan sesuatu yang lebih cepat, saya boleh drop in ke C ++ terus dari program Python saya. Salah satu kaedah yang disukai oleh banyak peniaga kuant ialah membuat prototaip strategi mereka di Python dan kemudian menukar bahagian pelaksanaan yang lebih perlahan ke C ++ dengan cara berulang. Akhirnya seluruh algoritma ditulis dalam C ++ dan boleh dibiarkan sendiri untuk berdagang !

Dalam beberapa artikel seterusnya mengenai backtesting, kita akan melihat beberapa isu tertentu yang berkaitan dengan pelaksanaan sistem backtesting perdagangan algoritma, serta cara menggabungkan kesan bursa perdagangan.


Lebih lanjut