Membangunkan Sistem Perdagangan Algoritma: 2 Pendekatan Utama, Pengujian, Alat

Membangunkan Sistem Perdagangan Algoritma: 2 Pendekatan Utama, Pengujian, Alat

Views: 467 views
Waktu membaca: 6 minit



Komponen utama sistem perdagangan algoritma adalah alat penyelidikan, prestasi, kemudahan pengembangan, ketahanan, dan pengujian, pemisahan masalah, keakraban, pemeliharaan, ketersediaan kod sumber, biaya pelesenan, dan kematangan perpustakaan. Sebelum memutuskan alat "terbaik", yang boleh digunakan untuk menggunakan sistem perdagangan automatik, perlu menentukan syarat:

  1. Berapa frekuensi perdagangan dan kemungkinan jumlah dagangan?
  2. Adakah sistem memerlukan pengurusan risiko atau modul pembinaan portfolio?
  3. Adakah sistem memerlukan backtester berprestasi tinggi?

Pedagang, yang memerlukan lebih banyak sistem yang dibuat khas dan kompleks, mungkin perlu melihat menggunakan C #, Matlab atau Python, tetapi saya katakan untuk 95% peniaga lain Perisian Dagangan Algoritma akan mencukupi.

1 - Kira di Python, Matlab, C #

Dalam kes ini, kemahiran pengaturcaraan adalah faktor penting dalam membuat algoritma automatik strategi dagangan. Berpengetahuan dalam bahasa pengaturcaraan, seperti Python atau R, akan membolehkan anda membuat sendiri penyimpanan data, mesin uji dan sistem pelaksanaan dari hujung ke hujung. Ini membolehkan anda meneroka strategi frekuensi yang lebih tinggi kerana anda akan mengawal sepenuhnya "timbunan teknologi" anda. Walaupun ini bermaksud bahawa anda dapat menguji perisian anda dan menghilangkan bug, ini juga bermaksud lebih banyak masa yang dihabiskan untuk mengekod infrastruktur dan lebih sedikit untuk melaksanakan strategi, sekurang-kurangnya pada bahagian awal kerjaya algotrading anda.

Aliran kerja asas adalah seperti berikut:

  • Strategi perdagangan algoritma memasukkan data pasaran (sejarah atau langsung) ke dalam program komputer (ujian belakang atau pelaksanaan automatik).
  • Program ini kemudian menghantar pesanan kepada broker melalui API dan menerima pemberitahuan status pesanan dari broker.

MATLAB dan Python telah menjadi platform pengujian semula kegemaran saya. Ia mempunyai antara muka yang sangat komprehensif dan mesra pengguna untuk mengembangkan dan men-debug program, dan ia mempunyai pelbagai kotak alat yang merangkumi hampir setiap teknik matematik atau komputasi yang mungkin anda akan temui dalam pengembangan strategi perdagangan.

Import data sejarah dari Yahoo Finance ke Python
Gambar: pengimportan data sejarah dari Yahoo Finance ke Python
Proses perdagangan algoritma
Gambar: proses perdagangan algoritma

2 - Perisian Dagangan Algoritma. Tiada kemahiran pengekodan

Pendekatan kedua adalah alat algoritma, seperti Multicharts, StrategyQuant, atau R Trader Strategy Builder (percuma dan mudah digunakan, berasaskan awan), dan banyak lagi.

Hari-hari ketika perdagangan algoritma dilaksanakan hanya oleh profesional yang berakhir. Tidak perlu menghabiskan berjam-jam belajar C # ketika hampir semua sistem dan strategi dapat dikodekan StrategiMenurut, Multicharts, atau Pembangun Strategi Pedagang R. Menurut pengalaman kami, sebilangan pedagang / pengaturcara ingin menempuh jalan panjang ke arah tujuan dengan alasan kedoktoran keunggulan teknikal, percayalah kepada kami, kebanyakan pengkodan lanjutan tidak diperlukan untuk strategi perdagangan algoritma rata-rata. Membuat API anda atau menyesuaikan segala-galanya dengan MetaTrader boleh menjadi sangat boros terutamanya jika anda terjebak dengan perincian teknikal dan bukannya mencipta nilai.

Semua platform mempunyai positif dan negatif, bagi kami, R Trader Strategy Builder adalah modul mudah digunakan berasaskan proprietari dalaman, yang membolehkan pedagang runcit merancang, menguji, dan menggunakan strategi perdagangan algoritma tanpa pengetahuan bahasa pengaturcaraan.

Platform perdagangan R Trader mempunyai cara yang lebih mudah bagi anda untuk menghentikan perdagangan titik-dan-klik tradisional. Direka untuk pedagang berpengalaman dan juga pendatang baru, antara muka mudah digunakan kami membolehkan anda mengautomasikan strategi perdagangan anda dalam beberapa minit. Tanpa pengekodan dan tanpa keributan - anda akan mula beroperasi dalam masa yang singkat.

Ujian Belakang. Wizard Strategi dalam Pembangun Strategi R Trader.
Gambar: Ujian Balik. Wizard Strategi dalam Pembangun Strategi R Trader.

Menguji dan Menilai Sistem Perdagangan

Penyelidikan berkaitan dengan penilaian prestasi strategi berbanding data sejarah. Proses menilai strategi perdagangan berbanding data pasaran sebelumnya dikenali sebagai backtesting.

Perdagangan algoritma berbeza daripada jenis kelas pelaburan yang lain kerana kami lebih dapat memberikan harapan mengenai prestasi masa depan daripada prestasi masa lalu. Secara sederhana, pengujian semula dilakukan dengan memperlihatkan algoritma strategi khusus anda ke aliran data harga sejarah, yang membawa kepada sekumpulan isyarat perdagangan. Setiap perdagangan akan mempunyai keuntungan atau kerugian yang berkaitan. Pengumpulan untung / rugi ini di sepanjang ujian strategi anda akan menghasilkan jumlah keuntungan dan kerugian.

Apakah sebab utama untuk menguji semula strategi algoritma?

Penapisan

tujuan kami pada peringkat penyelidikan awal adalah menyaring sebarang strategi yang tidak memenuhi kriteria tertentu. Backtesting memberi kita mekanisme penapisan yang lain, kerana kita dapat menghilangkan strategi yang tidak memenuhi keperluan prestasi kita.

Model

Ujian balik membolehkan kami (selamat!) Menguji model baru keadaan pasaran tertentu.

Dalam Contoh dan Di Luar Sampel

Semasa menguji idea mengenai data sejarah, ada baiknya anda menempah jangka masa data sejarah untuk tujuan pengujian. Data sejarah awal, di mana ideanya diuji dan dioptimumkan, disebut sebagai data dalam sampel. Kumpulan data yang telah dipesan dikenal sebagai data di luar sampel. Penyediaan ini adalah bahagian penting dari proses penilaian kerana menyediakan cara untuk menguji idea mengenai data yang belum menjadi komponen dalam model pengoptimuman. Akibatnya, ideanya tidak akan dipengaruhi oleh data di luar sampel, dan pedagang akan dapat menentukan seberapa baik sistem mungkin berkinerja pada data baru, iaitu, dalam perdagangan kehidupan nyata.

Pengoptimuman strategi perdagangan algoritma

Walaupun pengoptimuman strategi penuh dengan bias, pengujian semula memungkinkan kita untuk meningkatkan prestasi strategi dengan mengubah nilai parameter yang terkait dengan strategi itu dan menghitung semula kinerjanya. Overfitting (curve-fitting) adalah masalah serius di semua bidang yang berkaitan dengan perlombongan data, dan anda harus berhati-hati menggunakan validasi dan set ujian yang betul. Oleh sebab itu, terdapat banyak kaedah yang dapat dilaksanakan, seperti tes ulang dengan pengaturan yang berbeza, simulasi Monte-Carlo, Walk-Forward-Matrix, Walk-Forward-Optimization, Multiple of Out-Of-Sample.

Ujian Prestasi Ke Depan

Perdagangan demo atau perdagangan kertas memberikan pedagang dengan satu set data di luar sampel, yang mana untuk menilai sistem. Pengujian prestasi ke hadapan adalah simulasi perdagangan sebenar dan melibatkan mengikuti logik sistem di pasaran langsung. Aspek penting dalam ujian prestasi ke hadapan adalah mengikut logik sistem dengan tepat; jika tidak, menjadi sukar, jika tidak mustahil, untuk menilai tahap proses ini dengan tepat. Banyak broker, dan juga RoboMarkets, menawarkan akaun perdagangan simulasi di mana perdagangan boleh dilakukan dan keuntungan dan kerugian yang sesuai dihitung. Menggunakan akaun perdagangan demo dapat mewujudkan persekitaran separa realistik, untuk mempraktikkan perdagangan dan menilai sistem lebih lanjut.

Gambar: ujian belakang. Carta di Python.
Gambar: ujian belakang. Carta di Python.
Ujian Belakang. Perdagangan bersejarah di R Trader Strategy Builder.
Gambar: ujian belakang. Perdagangan bersejarah di R Trader Strategy Builder.

Akhir sekali, saya ingin membincangkan alat yang akan membantu dalam bidang ini.

Alatan

Perisian penyelidikan dan perdagangan automatik

Pembangun Strategi Excel, R Trader (https://rtrader.umstel.com - perisian percuma), StrategyQuant (yuran lesen), MultiCharts (yuran lesen), TradeStation (yuran lesen), Wealth-lab (yuran lesen).

Kod

Matlab, Python, R, C #

Tarikh

  1. Data Sentimen Sosial (dari Twitter dan media sosial lain, lihat ISentium, TickerTags)
  2. Data Berasaskan Orang (lihat Anggarkan)
  3. Data Tingkah Laku (lihat Penyelidikan Cabot)
  4. Gambar satelit dan udara (lihat Orbital Insight)
  5. Data tingkah laku pengguna (lihat Kesetiaan Jenama)
  6. Sumber dalam talian bukan tradisional (lihat Knowsis)
  7. OTAS (Data Teknikal)

Pembekal lain

Kumpulan TIM, Discern, Essentia, Kensho, RavenPack, SocialMediaAnalytics, Ayasdi, TheySay Analytics, Quid, Rage Frameworks, Dataminr.

Buku (dalam Bahasa Inggeris)

  1. Perdagangan Kuantitatif: Bagaimana Membangun Perniagaan Dagangan Algoritma Sendiri - Ernest Chan
  2. Perdagangan Algoritma: Strategi Menang dan Rasionalnya - Ernest Chan
  3. Perdagangan Mesin: Menggunakan Algoritma Komputer untuk Menakluk Pasaran - Ernest Chan
  4. Perdagangan Algoritma dan DMA: Pengenalan strategi perdagangan akses langsung - Barry Johnson
  5. Perdagangan dan Pertukaran: Struktur Mikro Pasaran untuk Pengamal - Larry Harris

1. arXiv http://arxiv.org/archive/q-fin
2. SSRN https://www.ssrn.com/en/
3. Jurnal Strategi Pelaburan https://www.risk.net/journal-of-investment-strategies
4. Jurnal Kewangan Komputasi https://www.risk.net/journal-of-computational-finance
5. Kewangan Matematik https://onlinelibrary.wiley.com/journal/14679965

Ringkasan

Seperti yang dapat kita lihat, terdapat pendekatan yang berbeza untuk membuat strategi perdagangan algoritma. Anda boleh memilih mana-mana yang sesuai dengan tahap pengetahuan dan peluang anda. Juga, pengujian semula dan pengembangan selanjutnya, selepas itu hanya kita yang boleh beralih ke latihan.

Sekiranya anda mempunyai sebarang pertanyaan, saya dengan senang hati akan menjawabnya dalam komen di bawah.

Buka Akaun Dagangan




Komen-komen

Artikel sebelumnya

Seminggu Di Pasaran (01/13 - 01/19): Statistik dan Keputusan Bank Pusat

Minggu baru Januari kelihatan seperti biasa. Kami mempunyai statistik, politik, dan juga beberapa keputusan kewangan. Nampaknya ekonomi global dan pasaran modal beroperasi secara besar-besaran selepas cuti Krismas dan Tahun Baru.

Artikel seterusnya

3 Stok yang Akan Dibeli pada 2020: Delta Air Lines, HP, Morgan Stanley

Kitaran pertumbuhan ekonomi AS selama 12 tahun sedang berlangsung. Ini adalah tempoh paling lama tanpa krisis. Awal tahun 2020 terus menggembirakan pelabur, saham terus diperbaharui sepanjang masa. Orang yang membelinya lebih awal bertambah gembira.