Trading-strategy-matlab-code

Trading-strategy-matlab-code

Pangeran-forex-gk
Bagaimana-kami-trade-options-book-review
Nifty-200-hari-moving-average-chart


Apa-is-forex-market-in-india How-to-learn-currency-trading-online Online-trading-academy-free-workshop Instaforex-forum-posting Trading-strategi-bollinger Opsi saham-vs-non-berkualitas-terbatas

Bitfinex hari ini mengumumkan dimulainya kontrak pertambangan sebagai produk perdagangan di platform mereka. Total 100 THS (terahashes per second) yang kadaluarsa dalam 3 bulan telah tersedia untuk diperdagangkan dengan nama TH1BTC. 100 THS adalah bagian dari kolam yang lebih besar dari 3.500 THS sehingga lebih banyak kontrak pertambangan mungkin tersedia di masa depan. Menariknya, ini menandai pertama kalinya bahwa adalah mungkin untuk mempersingkat kontrak pertambangan. Korsletan kontrak penambangan berarti menerima sejumlah Bitcoin sekarang (harga yang kami jual) dan kemudian membayar dividen (di Bitcoin) selama 3 bulan berikutnya sampai kontrak berakhir pada pertengahan Desember. Keuntungan dibuat jika jumlah semua dividen dibayarkan (ditambah bunga yang kami bayar untuk kontrak) kurang dari yang kami terima pada awalnya saat kami menjual kontrak (kepada orang lain dengan jelas). Ini berarti harga TH1BTC harus bergantung pada 3 variabel (dalam penurunan urutan kepentingan): Perubahan kesulitan pertambangan sampai 15 Desember Waktu yang tersisa sampai 15 Desember Tingkat bunga (tingkat swap) Jika kesulitan meningkatkan pembayaran dividen menjadi lebih kecil karena 1 THS mewakili sebagian kecil dari keseluruhan hashing jaringan. Oleh karena itu harga satu kontrak harus turun jika kesulitan meningkat. Semakin dekat kita sampai kadaluwarsa demam Bitcoin bisa dipikirkan dengan total 1 THS. Oleh karena itu harga satu kontrak harus turun mendekati kita sampai kadaluarsa dan mencapai harga 0 saat kadaluarsa. Semakin tinggi tingkat suku bunga semakin mahal harganya masuk dan mempertahankan kontrak selama 3 bulan penuh. Bitfinex tidak menawarkan swap 90 hari, oleh karena itu memasukkan sebuah kontrak dengan tujuan untuk menahannya sampai akhiran mengandung sedikit risiko suku bunga karena pada suatu titik swap baru harus diambil (dengan tingkat bunga yang berpotensi tidak menguntungkan). Hal ini kurang menjadi masalah saat terjadi lama (tingkat Bitcoin biasanya rendah) daripada saat akan mengalami short (hanya ada maksimum 100 kontrak yang tersedia secara total, tidak ada korslet telanjang). Untuk mengimbangi harga risiko harus meningkat saat tingkat swap meningkat. Yang tidak diketahui besar tentu saja perubahan dalam kesulitan pertambangan selama 90 hari ke depan. Pada gambar berikut kita melihat bagaimana kesulitan berubah selama 6 bulan sebelumnya. Data berasal dari Tradeblock dan ini tidak hanya menunjukkan representasi grafis dari perubahan masa lalu dalam kesulitan (perubahan kesulitan setiap 14 hari tergantung pada tingkat hash masa lalu. Informasi lebih lanjut dapat ditemukan di wiki) tetapi juga beberapa statistik ringkasan dasar. Kesulitan rata-rata meningkat 27 selama 30 hari terakhir dan 77 selama 60 hari terakhir. Untuk memperkirakan harga wajar satu TH1BTC, kita akan mengasumsikan bahwa tingkat kesulitan akan meningkat rata-rata 15 per bulan selama 3 bulan ke depan. Saat ini harga beli satu kontrak senilai 1 THS adalah 2 BTC. Biaya renang adalah 3 dan kami akan mengabaikan suku bunga. Mengisi semua informasi, kita mendapatkan hasil sebagai berikut: Oleh karena itu jika kita memiliki satu kontrak panjang berdasarkan asumsi kita, kita akan rugi sekitar 0,39 Bitcoin (sedikit lebih nyata karena kita akan mulai menambang pada pertengahan September sampai tengah Dari Desember) karena dividen yang diharapkan (pendapatan bulanan) tidak akan mencakup biaya awal 2 BTC sebelum kontrak berakhir. Di sisi lain, akan mengalami short on harga 2 Bitcoin akan menghasilkan keuntungan sekitar 0,39 Bitcoin per kontrak. Ingatlah bahwa kita tidak termasuk biaya swap yang saat ini sekitar 1 per hari (). Ada dua cara untuk melihat hasilnya. Bisa dikatakan harga TH1BTC saat ini dinilai terlalu tinggi dan harus mendekati sekitar 1,5 BTC. Jika kita asumsikan kesulitan akan meningkat lebih dari 15 per bulan maka harga harus lebih rendah dari itu. Atau kita bisa mengatakan bahwa pasar itu efisien dan harganya benar, yang akan menyiratkan bahwa pasar memperkirakan akan mengalami penurunan rata-rata sekitar 2 per bulan selama 90 hari berikutnya. Either way, hasilnya akan diketahui dengan pasti dalam 90 hari. Berjuang untuk pulih dari kecelakaan flash Bitcoin terbaru yang berasal dari Bitfinex hanya empat hari lagi. Harga Bitcoin naik lagi hari ini karena pedagang margin mendapat posisi mereka dilikuidasi di BTC-e. Acara dimulai pada pukul 13:36 (UTC1) saat pesanan jual besar mulai muncul di bursa bertipe Bitcoin terbesar ketiga BTC-e. Momentum ke bawah meningkat dengan mantap saat orderbook menjadi semakin tipis, menabrak harga hingga rendah USD 309 per Bitcoin pada 1,43 PM. Dalam beberapa menit berikutnya harga rebound dengan cepat pada volume tipis kembali ke sekitar USD 442 karena pedagang arbitrase mulai mengambil keuntungan dari diskon tersebut dibandingkan dengan bursa lainnya. BTC-e adalah satu dari sedikit bursa besar yang menawarkan perdagangan margin ke klien mereka melalui platform MetaTrader sejak November 2013, namun rincian tentang siapa yang secara tepat memberikan dana yang diperlukan untuk perdagangan marjin tetap tidak jelas. Bentuk dan terutama timing titik tabrakan terhadap pedagang margin yang dilikuidasi (atau stop order dieksekusi), mirip dengan apa yang terjadi pada Bitfinex beberapa hari yang lalu. Namun, tidak seperti Bitfinex yang transparan tentang posisi open swap. BTC-e tidak menyediakan data penting yang diperlukan untuk memberikan analisis yang lebih menyeluruh sehingga pernyataan terakhir ini hanya bisa dianggap sebagai tebakan yang bagus. Tidak seperti Bitfinex, yang mengandalkan algoritma tersembunyi dalam upaya mengendalikan aliran pesanan. BTC-e tampaknya tidak memiliki perlindungan khusus untuk mengurangi kejadian tersebut. Penurunan di bawah 400 terutama disebabkan oleh kurangnya tawaran di pasar saham dan bukan karena pasar percaya bahwa nilai sebenarnya di bawah 400, karena rebound kembali ke 440 hanya beberapa menit kemudian pada dasarnya terbukti. Oleh karena itu, menghentikan perdagangan pada volatilitas ke bawah yang ekstrim dapat dengan mudah mencegah pertumpahan darah di antara pedagang margin dengan memberi kesempatan kepada pelaku pasar lainnya untuk menebalkan orderbook. Update 4:58 PM (UTC1): BrCapoeira mengeposkan di Reddit sebuah grafik menarik berdasarkan data dari platform Metatrader: Grafik ini menyiratkan bahwa satu pesanan besar adalah penyebab acara ini. Apakah pesanan ini dibuat karena margin call, kesalahan sederhana, memanipulasi pasar, atau membuka posisi short besar tetap tidak jelas. Akal sehat menyarankan bahwa itu mungkin hasil dari margin call dari satu trader besar. Pos saya sebelumnya tentang topik ini telah dibicarakan saat diskusi setelah terjadinya kecelakaan flash Bitcoin yang terbaru. Coindesk adalah salah satu yang pertama memungutnya dan sejak itu berbagai pos tentang transparansi dan kemungkinan tanggung jawab pertukaran untuk mengelola eksekusi order secara aktif mulai muncul. Sebagai hasil dari peristiwa tersebut, Josh Rossi, Wakil Presiden Pengembangan Bisnis di Bitfinex, melanjutkan Reddit untuk secara terbuka membahas beberapa masalah yang diajukan melawan pertukaran tersebut. Fakta yang kami tahu pasti ada beberapa perintah penjualan besar sesaat sebelum kecelakaan dimulai, misalnya order sell 500 di Bitstamp pukul 9.49 (UTC1), sekitar 6 menit sebelum order sell besar di Bitfinex memicu tabrakan tersebut. Namun, datanya tidak memberitahu kita apakah itu insider trading, beberapa bentuk manipulasi pasar. Atau kesalahan sederhana Faktanya adalah bahwa setelah posisi crash over swap Bitcoin dibuka dari sekitar 28m sampai 24m yang mengindikasikan sekitar 8400 posisi margin long ditutup (dengan asumsi rata-rata 475) dengan satu cara (margin call) atau lainnya (stop order hit). Data tidak memberi tahu kami apa rasionya tapi menurut Josh hanya sekitar 650 Bitcoin yang dijual sebagai hasil dari margin call. Seperti yang ditunjukkan dengan benar oleh Jonathan Levin. Faktanya adalah bahwa sekitar 24 jam sebelum crash flash bitcoin sampai kecelakaan itu sendiri 1000 Bitcoin tambahan dibawa keluar dalam posisi pendek dan sekitar 2.500 celana pendek kemudian ditutup saat kecelakaan terjadi. Apakah celana pendek itu dibuka untuk melindungi posisi yang ada, karena usaha jahat untuk memicu margin call, atau cara untuk menjalankan pasar dengan menggunakan informasi pribadi tidak dapat ditentukan dari data yang ada (memang terlihat curiga sekalipun). Apa yang tak terduga Secara pribadi, yang menarik bukanlah bahwa flash Bitcoin jatuh. Fluktuasi harga yang mendadak terjadi di masa lalu dan akan terjadi di masa depan, terutama di pasar yang tidak likuid seperti Bitcoin. Yang menarik adalah keterlibatan Bitfinex dan bagaimana mereka secara aktif mengatur pelaksanaan order tanpa menginformasikan pelaku pasar terlebih dahulu. Mesin pencocokan Bitfinex tidak dihentikan selama seluruh benturan meskipun hal itu melambat (tapi tidak seburuk ketertinggalan 70 menit yang terkenal di bursa MtGox yang sekarang sudah tidak berfungsi lagi saat kecelakaan di tahun 2012). Namun, yang dilakukan Bitfinex adalah mereka mengenalkan sesuatu yang sekarang mereka anggap sebagai gundukan kecepatan. Apa artinya adalah bahwa mereka pada dasarnya menandai perintah yang mereka anggap tidak valid atau berpotensi berbahaya dan memperlambatnya secara sengaja. Pada pandangan pertama ini mungkin tampak seperti ide bagus. Siapa yang tidak ingin filter untuk menghapus atau memperlambat perintah jahat Namun, begitu sering dengan hal-hal semacam itu, iblis ada dalam detailnya. Masalahnya adalah bahwa Bitfinex belum (dan mungkin tidak akan pernah) membuat publik bagaimana tepatnya mereka mengkategorikan sebuah perintah saat 8220bad8221 dan 8220slow turun8221. Jika peserta pasar memutuskan untuk memasang order jual besar terhadap orderbook tipis maka itu adalah keputusannya. Entah tindakannya memang dimaksudkan atau tidak tidak sampai ke bursa untuk memutuskan. Mungkin saja peserta pasar ini hanya orang pertama yang bereaksi terhadap peristiwa besar dan sepenuhnya bersedia menanggung biaya tambahan selip yang dihasilkan untuk mengantisipasi pergerakan harga yang besar. Sama sekali tidak ada cara untuk secara akurat mengklasifikasikan pesanan secara apriori sebagai barang berkualitas baik yang secara otomatis akan mengasumsikan pengetahuan tentang semua kejadian di masa depan. Apa yang bisa diperbaiki Kesalahan (8220fat finger8221, kekacauan algoritme) terjadi, margin dipanggil dan orang mencoba memainkan sistem dengan segala cara. Logikanya harus ada perlindungan untuk melindungi pasar dan partisipannya. Bitfinex benar-benar menyadari potensi aliran toksik dan tindakan balasan yang disiapkan. Satu-satunya hal yang mereka lupakan adalah memberi tahu klien mereka tentang fitur keamanan tersembunyi. Menyembunyikan perlindungan tersebut dari masyarakat menambah ketidakpastian ke pasar (terutama sekarang kita tahu mereka ada dan kadang melakukan sesuatu) dan pada dasarnya menempatkan setiap kepercayaan pedagang ke tangan Bitfinex. Pada titik ini trader hanya bisa berharap bahwa Bitfinex akan selalu bertindak sesuai dengan keinginan klien mereka. Harapan ini mungkin sia-sia, karena Bitfinex menghasilkan uang dari biaya perdagangan, secara independen apakah seorang pedagang benar-benar menghasilkan uang. Kita tidak perlu memikirkan lama untuk menyadari potensi tersembunyi penyalahgunaan dalam sistem semacam itu. Alasan utama dibesarkan oleh Josh mengapa Bitfinex tidak bermaksud mempublikasikan algoritme mereka adalah untuk menghindari memberi para pedagang kemungkinan untuk memanfaatkannya itu palsu dan berikut ini menunjukkan mengapa. Itu adalah pemutus arus pasar resmi yang digunakan oleh NASDAQ, diposkan secara online dan sepenuhnya transparan untuk setiap peserta pasar. Aturan tersebut tentu saja tidak sempurna namun sederhana, transparan, dan bekerja untuk salah satu pasar saham terbesar di dunia. Sekarang, saya sangat menghormati orang-orang yang bekerja di platform Bitfinex, namun saya meragukan bahwa mereka berhasil menemukan algoritma yang melindungi peserta pasar dengan lebih baik daripada yang digunakan oleh perdagangan valuta asing lebih dari 900 juta saham per hari rata-rata. . Dan jika mereka melakukannya, sekarang adalah kesempatan bagi Bitfinex untuk membuktikannya kepada dunia dan mungkin menulis sejarah dengan mengajarkan anak laki-laki besar bagaimana cara menjalankan pertukaran dengan benar. Bila menyangkut transparansi bursa publik adalah suatu keharusan, tidak hanya untuk Bitfinex tapi juga untuk pertukaran apapun. Pelaku pasar harus tahu persis apa yang terjadi saat mereka melakukan pemesanan dan seharusnya tidak bergantung pada itikad baik saja. Pengamanan penting karena kecelakaan terjadi dan pasar mogok namun tidak sampai pada pertukaran untuk terlibat dalam diskriminasi perintah rahasia. Ada berbagai cara untuk melindungi pasar keuangan dan tidak satupun dari mereka sempurna. Menambahkan kompleksitas biasanya meningkatkan kesempatan untuk efek samping yang tidak diinginkan dan oleh karena itu pendekatan sederhana dan transparan tampaknya lebih tepat daripada yang tersembunyi dan rumit. Dua hari yang lalu BitMEX mengurangi biaya perdagangan mereka menjadi 0 dan merayakannya dengan merilis basis pasar yang membuat bot di Github. BitMEX saat ini menjalankan tantangan perdagangan sampai 29 Agustus 2014 untuk mempromosikan platform baru mereka. Melepaskan marking pasar mungkin merupakan cara yang menarik dan efektif untuk meningkatkan lalu lintas API dan menguji tegangan sedikit platform. Tentu saja aku tidak tahan dan melihat-lihat. Pembuat pasar adalah sebuah cabang dari Liquidbot. Yang asli dirancang untuk berjalan di bursa MtGox sekarang obsolet. Ada beberapa perubahan kecil (kelas api baru yang terhubung ke BitMEX, beberapa cetakan tambahan untuk konsol, perubahan untuk menyesuaikan kontrak berjangka, dan cetak besar dan tidak perlu untuk konsol saat memulai) namun tidak ada perubahan signifikan pada logika perdagangan. Algoritma menggunakan REST dan hanya memeriksa perubahan setiap 60 detik. Ini sudah mendiskualifikasi bot karena sangat penting terlalu lambat untuk bereaksi terhadap perubahan yang terjadi dalam orderbook. BitMEX membatasi permintaan ke API REST sampai 150 per 5 menit sehingga Anda dapat mencoba mengurangi waktu 60 detik menjadi seperti 3 tapi tidak berhasil mengubah kenyataan bahwa begitu pasar mulai bergerak, Anda akan mencapai batas dan terjebak dengan posisi terbuka. Agar adil, BitMEX menyediakan bot lebih sebagai aksi pemasaran dan secara eksplisit menyatakan bahwa beralih ke WebSocket akan sangat bermanfaat karena memungkinkan pembaruan waktu nyata. Secara keseluruhan, algoritma ini ditulis dengan kuat, bekerja secara teknis dan mudah dilakukan, namun tidak menghasilkan banyak uang dalam jangka panjang. Jika seseorang secara serius mempertimbangkan untuk menggunakan bot ini, saya akan merekomendasikan perubahan kecil berikut untuk membuat kode lebih bermanfaat: 1. Ubah ke Websocket 2. Posisi keluar di dekat: 3. Bangun perintah mulai dari titik tengah: Selain itu, saya sarankan untuk mengukur Volatilitas dalam beberapa cara dan menyesuaikan jarak antara pesanan secara dinamis maupun ukurannya. Selama pengujian, API selalu responsif dan akurat. Volume pada bursa masih rendah namun dasar-dasar platform terlihat menjanjikan. Bot ini adalah alat yang menyenangkan untuk mengenalkan pengguna ke dalam dunia pembuatan pasar dan perdagangan algoritmik namun tidak berhasil melawan algoritma yang sudah mapan. Catatan: Jika Anda mempertimbangkan untuk menggunakan algoritma ini, ingatlah bahwa pembuatan pasar adalah pekerjaan penuh waktu. Apapun yang kurang dari dedikasi lengkap, waktu reaksi cepat, dan 100 uptime akan menyebabkan Anda kehilangan uang. Edit: Tindak lanjuti di sini Hari Ini harga Bitcoin mengambil menyelam sebagai pedagang margin di salah satu bursa terbesar Bitfinex mendapat perintah mereka dilikuidasi. Bagi banyak pengamat pasar yang dekat dan pedagang yang lebih canggih, hal ini tidak mengejutkan. Kenyataannya, posisi lama terus berkembang selama beberapa bulan terakhir untuk mengantisipasi gelembung baru harga Bitcoin dan mencapai level 30m dalam posisi swap pada Bitfinex. Sekarang, ini tidak menjadi masalah sendirian karena ada cukup modal yang mendukung pinjaman. Sayangnya, sebagian besar posisi panjang itu masuk sekitar 600 8211 640 USDBTC dan agunannya sebagian besar disediakan di Bitcoins itu sendiri. Bagan berikut menunjukkan dengan baik penumpukan posisi panjang, mendekati sekitar 14 Juli dengan nilai tukar mendekati 32m. Menjalankan beberapa matematika cepat berdasarkan margin pemeliharaan Bitfinex dari 13 dan dengan asumsi Bitcoin sebagai jaminan, kami mendapati bahwa margin call harus dimulai di sekitar tanda 520 8211 540 USDBTC. Kemarin, harga tutup dan hari ini mereka akhirnya melompati tebing. Masalahnya adalah bahwa sekali margin call yang ada di dalam Anda memiliki efek cascading yang merobek-robek buku pesanan, menyebabkan pesanan lebih banyak lagi mencapai titik tidak dapat kembali dan meningkatkan momentum ke bawah lebih jauh. Peristiwa semacam ini tidak terbatas pada pertukaran Bitcoin namun juga dapat terjadi pada bursa utama seperti pada saat terjadi kecelakaan flash 2010 di AS. Penyebab seperti kilapan kilat bisa bervariasi dan beralih dari kesalahan jari gemuk ke kesalahan pemrograman hingga turunan margin. Sangat menarik untuk melihat bagaimana pertukaran berurusan dengan kejadian ini. Di AS, Nasdaq menerapkan pemutus arus pasar yang akan menyebabkan perdagangan berhenti dalam keadaan ekstrem seperti itu. Pasar Bitcoin belum begitu maju dan biasanya terus diperdagangkan. Jika kita melihat tindakan pesanan pada Bitfinex hari ini, kita melihat sesuatu yang sangat aneh: Sepertinya (dan ini hanya tebakan karena tidak ada komentar resmi dari bursa) seolah-olah Bitfinex menjalankan algoritma untuk menangani margin calls. Algoritma mulai menjual namun membatasi diri pada penurunan harga 10 dalam waktu 1 menit. Jika harga turun lebih dari 10 dalam 1 menit maka akan berhenti menjual dan menunggu pesanan beli masuk. Sekali lagi ada sejumlah pesanan beli di orderbook yang mulai dijual lagi sampai semua panggilan margin terpenuhi. Edit: LeMogawai adalah orang pertama yang menunjukkan hal ini di pos ini dan ini sesuai dengan pengamatan pribadi saya pada saat acara berlangsung. Hal ini nampaknya menjadi cara yang menarik untuk menghadapi cascading margin call namun bisa juga dianggap sebagai manipulasi pasar batas dari sisi bursa. Dengan menyebarkan pesanan jual dari waktu ke waktu momentum turun berkurang, namun pedagang akhirnya melakukan trading melawan bursa itu sendiri dan bukan pasar lagi. Pertukaran memiliki keuntungan informasi pada saat itu dan karena itu lebih cenderung menguntungkan daripada para pedagang. Untungnya, ini hanya berlangsung sekitar 10 menit setelah kontrol diberikan kembali ke pasar. Bursa lain yang juga menawarkan margin trading seperti BTC-e dan OKcoin sekarang berada dalam posisi yang menguntungkan dan bisa belajar dari berbagai event. Menerapkan sistem yang lebih mirip dengan pemutus arus bursa besar seperti Nasdaq mungkin merupakan langkah awal yang cerdas. Baru-baru ini saya bekerja untuk mendapatkan platform trading baru saya. Versi baru ini didasarkan pada Python, menggunakan MySQL untuk menyimpan database dari semua seri waktu mata uang virtual yang berbeda dengan isi ulang otomatis dari BitcoinCharts dan mengintegrasikan 3 bursa utama MtGox, BTC-E dan Bitstamp. Platform ini akan digunakan sebagai cara untuk mendukung beberapa strategi dan terlibat dalam perdagangan otomatis. Selama berjalan sampai ini, saya memutuskan untuk menarik beberapa data BTC terhadap USD dari BitcoinCharts dan berdasarkan gagasan makalah oleh Hashem dan Timmermann (1995) menerapkan strategi perdagangan sederhana. Idenya adalah untuk meramalkan tanda dari return periode t1 berdasarkan regresi, yang diperkirakan pada pemilihan otomatis indikator teknis selama periode n terakhir sampai t. Kemudian, setelah t1 terjadi, kita me-refresh model dan mencoba memprediksi t2 dengan menggunakan semua data yang tersedia dari n periode terakhir sampai t1 dan seterusnya. Untuk Tesis Sarjana saya, saya memeriksa empat peraturan perdagangan teknis yang berbeda di pasar Forex. Ini menggunakan uji MCS dan SPA untuk mencari model yang valid di antara parameter yang berbeda yang tidak tunduk pada pengintaian data. Dengan memperhitungkan biaya transaksi yang realistis, kami tidak menemukan bukti kelebihan imbal hasil, yang konsisten dengan efisiensi pasar. Dengan kode ini Anda harus bisa mencari peluang arbitrase Bitcoin di BTC-e. Ini menggunakan gagasan satu harga dan menerapkan arbitrase segitiga, dengan mempertimbangkan biaya dan spread. Alasan saya posting di sini adalah meskipun itu berhasil, kemungkinan Anda akan terlalu lambat untuk bersaing dengan investor lain melakukan hal yang sama. Perbaikan yang mungkin dilakukan adalah memperhitungkan kedalaman buku pesanan dan membagi perdagangan secara dinamis, mencoba melemahkan pedagang lain yang melakukan hal yang sama. Juga mengatur semuanya di server khusus yang dekat dengan lokasi fisik mesin pencocokan BTC-e secara drastis akan mengurangi ketertinggalan dan memberi Anda potensi tepi. Post navigation Fungsi ini melakukan kerangka kerja perdagangan pasangan klasik dengan harga tertentu Dari Wikipedia, ensiklopedia bebas: Perdagangan pasangan dikembangkan pada akhir 1980an oleh analis kuantitatif dan dipelopori oleh Gerald Bamberger saat Morgan Stanley. Dengan bantuan orang lain di Morgan Stanley pada saat itu, termasuk Nunzio Tartaglia, Bamberger menemukan bahwa sekuritas tertentu, yang sering menjadi pesaing di sektor yang sama, berkorelasi dalam pergerakan harga sehari-hari mereka. Ketika korelasi itu turun, yaitu satu saham diperdagangkan sementara yang lain diperdagangkan turun, mereka akan menjual saham unggulan tersebut dan membeli saham berkinerja buruk, bertaruh bahwa spread antara keduanya pada akhirnya akan bertemu. Sumber: en.wikipedia.orgwikiPairstradeAlgorithmicpairstrading Lihat juga buku besar Demon of Our Own Design karya Richard Bookstaber, yang memberikan latar belakang yang menarik bagi strategi perdagangan pasangan. Ada banyak cara untuk menerapkan framework trading pasangan. Untuk paket ini, saya menggunakan seperangkat aturan yang sangat sederhana. Rincian dapat ditemukan di dalam kode komentar. Harap dicatat bahwa paket ini telah dikembangkan selama bertahun-tahun dan tidak akan lagi persis meniru hasil dari kertas 2007 saya. Kualitas paket: - Menangani sejumlah aset - Keluarkan secara terpisah plot untuk keuntungan kumulatif total dari posisi panjang, pendek dan gabungan. - Keluarkan semua perdagangan, termasuk harga yang diperdagangkan dan waktu perdagangan. - Menyediakan pengguna sejumlah besar pilihan input untuk algoritma perdagangan pasangan, termasuk: jumlah uang untuk dimasukkan ke dalam posisi masing-masing (panjang dan pendek) nilai biaya transaksi (dalam satuan uang) ukuran jendela bergerak untuk menemukan pasangan di atas Data harga periodisitas pasangan update jumlah hari maksimum untuk menjaga perdagangan (tanpa konvergensi). Nilai ambang batas variabel NATH, P. (2003) Perdagangan Pasangan Frekuensi Tinggi dengan Surat Berharga Treasury A.S.: Resiko dan Imbalan untuk Hedge Funds, Working Paper, London Business School. GATEV, E. GOETZMANN, W. N. ROUWENHORST, K. G. (1999) Perdagangan Pasangan: Kinerja Aturan Arbitrase Nilai Relatif, Kertas Kerja, Manajemen Sekolah Yale. Tersedia di SSRN: ssrnabstract141615. PERLIN, M. S. (2009) Evaluasi Strategi Perdagangan Pasangan di Jurnal Pasar Keuangan Brasil Derivatif amp Hedge Funds, V. 15, N. 2, hlm. 122-136. PERLIN, M. S. (2007b) M dari Jenis: Pendekatan Multivariat pada Perdagangan Pasangan. Makalah kerja. Tersedia di SSRN: ssrnabstract952782.Real-time trading system demo Halo di sana Jika Anda baru di sini, Anda mungkin ingin berlangganan umpan RSS atau umpan email untuk pembaruan tentang topik Matlab yang tidak berdokumen. Pada 23 Mei 2013 saya memberikan presentasi di Konferensi Komputasi Keuangan MATLAB di New York. Ruangan itu penuh sesak-penuh dengan hampir 200 profesional di industri keuangan. Energi dan umpan baliknya luar biasa, itu adalah pengalaman yang hebat. Jika Anda datang ke konferensi, terima kasih telah menjadi pendengar yang hebat. Pada tanggal 19 September 2013 saya memberikan variasi presentasi di MATLAB Computational Finance Virtual Conference. Presentasi (format PDF) disediakan disini. Rekaman video tersedia disini Dalam kedua kasus tersebut, saya mengajukan aplikasi demo yang menunjukkan bagaimana Matlab dapat digunakan untuk menciptakan sistem perdagangan end-to-end penuh, yang menyoroti potensi Matlab8217 sebagai platform pilihan. Saya menggunakan Pialang Interaktif untuk menunjukkan umpan data pasar langsung dan masukan asesor, serta untuk mengirim pesanan perdagangan ke pasar, melalui konektor IB-Matlab: Algoritma trading yang digunakan dalam demo adalah sepele sederhana (acak). Dalam sistem kehidupan nyata Anda secara alami akan menggantinya dengan algoritma kepemilikan Anda sendiri. Tapi jangan ragu untuk menggunakan demo ini sebagai titik awal aplikasi Anda. Kode sumber demo disediakan disini (tradeDemo.m dan file pendukung). Perhatikan bahwa ini disediakan sebagai-ada, gratis tapi tanpa jaminan atau dukungan apapun. Anda tentu membutuhkan IB-Matlab dan akun Interactive Brokers untuk menjalankannya. Saya harap kita memiliki kesempatan untuk bekerja sama dalam proyek Anda. Kirimkan saya email jika Anda ingin bantuan saya dalam konsultasi, pelatihan atau pengembangan. 4 Responses to demo sistem perdagangan real-time Saya telah mencoba rute ActiveX sebelum membeli produk. Ada satu kelemahan mendasar saat menggunakan ActiveX dengan Matlab. Katakanlah, Anda menjalankan sebuah algoritma dan Anda sedang memproses sebuah fungsi, dan pada saat bersamaan TWS menyalakan sebuah Event. Jika Anda menggunakan ActiveX, MATLAB TIDAK akan memperbarui harganya sampai pemrosesan fungsi Anda selesai. Jadi beberapa acara akan dilewatkan dan harga yang akan Anda cari akan berbeda. Sedangkan di JAWA. Tidak ada masalah seperti itu Karena setiap peristiwa yang dipecat akan segera ditangkap oleh java yang berjalan di latar belakang. Jadi ketika Anda menelepon getLastPrice, Anda akan mendapatkan harga yang benar. Kelemahan lain adalah kenyataan bahwa Anda hanya dapat menggunakan ActiveX dengan WINDOWS. Sedangkan dengan JAVA Anda bisa menggunakannya dengan windows, Mac, Linux dll. BUKAN ide bagus untuk melakukan streaming data Live Trades saat masuk ke MATLAB. Bayangkan, Anda memiliki 100 simbol, yang update setiap mengatakan 200 msec, sehingga Anda memiliki perdagangan yang terjadi begitu cepat dan ditangkap dan disimpan ke Matlab. Karena masalah single-threaded MATLAB8217s, beberapa kutu Perdagangan akan dilewatkan dan juga akan menghabiskan ingatan Anda. Jadi semua yang bisa Anda lakukan hanyalah melakukan streaming data dan tidak melakukan hal lain. Kenan 8211 memang, Java API (yang digunakan oleh IB-Matlab) memiliki banyak keunggulan dibanding API ActiveX (yang digunakan oleh MathWorks8217 Trading Toolbox). Salah satu hasil yang beruntung dari penggunaan Java adalah IB-Matlab dapat berjalan di semua platform yang menjalankan Matlab (Windows, Mac, Linux), karena semua platform ini memiliki Java dan klien IB TWS. API Java juga jauh lebih cepat dan lebih dapat diandalkan (konektor ActiveX dilaporkan akan menjatuhkan acara IB sesekali). Mengenai latency streaming-quote, ini tergantung pada volatilitas keamanan, jumlah sekuritas yang dipantau, bandwidth jaringan, perangkat keras komputer, proses lain yang berjalan pada komputer dan berbagai aspek lain yang dapat mempengaruhi kinerja. Pada laptop Lenovo Thinkpad E530 standar yang menjalankan Matlab R2013a di Win7, saya mencapai latensi latency streaming serendah 1-2 mSec (yaitu ratusan acara IB per detik). Tentu YMMV. Marco Ruijken mengatakan: Backtesting Strategi Perdagangan Algoritma yang Sukses - Bagian I Artikel ini melanjutkan rangkaian perdagangan kuantitatif, yang dimulai dengan Panduan Pemula dan Identifikasi Strategi. Kedua artikel yang lebih lama dan lebih terlibat ini sangat populer sehingga Ill melanjutkan hal ini dan memberikan detail tentang topik backtesting strategi. Algoritma backtesting membutuhkan pengetahuan dari banyak bidang, termasuk psikologi, matematika, statistik, pengembangan perangkat lunak dan mikrostruktur pasar. Saya tidak bisa berharap untuk membahas semua topik dalam satu artikel, jadi saya akan membagi mereka menjadi dua atau tiga bagian yang lebih kecil. Apa yang akan kita bahas di bagian ini. Permulaan dengan mendefinisikan backtesting dan kemudian saya akan menjelaskan dasar-dasar bagaimana hal itu dilakukan. Kemudian saya akan menjelaskan bias yang kita singgung pada Panduan Pemula untuk Perdagangan Kuantitatif. Selanjutnya saya akan menyajikan perbandingan dari berbagai opsi perangkat lunak backtesting yang ada. Dalam artikel selanjutnya kita akan melihat rincian implementasi strategi yang seringkali tidak disebutkan atau diabaikan. Kami juga akan mempertimbangkan bagaimana membuat proses backtesting lebih realistis dengan memasukkan kekhasan dari pertukaran perdagangan. Kemudian kita akan membahas biaya transaksi dan cara memodelkannya dengan benar dalam setting backtest. Kita akan berakhir dengan diskusi tentang kinerja backtests kita dan akhirnya memberikan contoh strategi quant yang umum, yang dikenal sebagai perdagangan pasang rata-rata. Mari kita mulai dengan membahas backtesting apa dan mengapa kita harus melaksanakannya dalam perdagangan algoritmik kita. Apa itu Trading Algoritma Backtesting yang berdiri terpisah dari jenis kelas investasi lainnya karena kita dapat dengan lebih andal memberikan harapan tentang kinerja masa depan dari kinerja masa lalu, sebagai konsekuensi ketersediaan data yang melimpah. Proses dimana hal ini dilakukan disebut backtesting. Secara sederhana, backtesting dilakukan dengan mengekspos algoritma strategi khusus Anda ke arus data keuangan historis, yang mengarah ke satu set sinyal perdagangan. Setiap perdagangan (yang akan kita maksud di sini untuk menjadi perjalanan pulang dari dua sinyal) akan memiliki keuntungan atau kerugian terkait. Akumulasi keuntungan ini selama durasi backtest strategi Anda akan menghasilkan total keuntungan dan kerugian (juga dikenal sebagai PL atau PnL). Itulah inti dari ide tersebut, walaupun tentu saja setan selalu ada dalam rincian Apa alasan utama untuk mendukung strategi algoritme Filtrasi - Jika Anda ingat dari artikel tentang Identifikasi Strategi. Tujuan kami pada tahap penelitian awal adalah menyusun strategi pipa dan kemudian menyaring strategi yang tidak memenuhi kriteria tertentu. Backtesting memberi kita mekanisme penyaringan lain, karena kita dapat menghilangkan strategi yang tidak sesuai dengan kebutuhan kinerja kita. Pemodelan - Backtesting memungkinkan kita untuk (aman) menguji model baru fenomena pasar tertentu, seperti biaya transaksi, urutan routing, latency, likuiditas atau masalah struktur mikro pasar lainnya. Optimalisasi - Meskipun pengoptimalan strategi penuh dengan bias, backtesting memungkinkan kita untuk meningkatkan kinerja strategi dengan memodifikasi kuantitas atau nilai parameter yang terkait dengan strategi tersebut dan menghitung ulang kinerjanya. Verifikasi - Strategi kami sering bersumber dari luar, melalui strategi pipa kami. Backtesting strategi memastikan bahwa hal itu tidak salah dilaksanakan. Meskipun kita jarang memiliki akses terhadap sinyal yang dihasilkan oleh strategi eksternal, kita akan sering memiliki akses ke metrik kinerja seperti karakteristik Sharpe Ratio and Drawdown. Dengan demikian kita bisa membandingkannya dengan implementasi kita sendiri. Backtesting menyediakan sejumlah keuntungan untuk perdagangan algoritmik. Namun, tidak selalu mungkin untuk secara langsung mendukung strategi. Secara umum, seiring dengan meningkatnya frekuensi strategi, menjadi sulit untuk memodelkan efek mikro pasar dan pertukaran dengan benar. Hal ini menyebabkan backtests kurang andal dan dengan demikian merupakan evaluasi yang lebih rumit mengenai strategi yang dipilih. Ini adalah masalah khusus di mana sistem eksekusi adalah kunci kinerja strategi, seperti algoritma frekuensi ultra-tinggi. Sayangnya, backtesting penuh dengan bias semua jenis. Kami telah menyinggung beberapa masalah ini di artikel sebelumnya, namun sekarang kami akan membahasnya secara mendalam. Biases Mempengaruhi Strategi Backtests Ada banyak bias yang dapat mempengaruhi kinerja strategi backtested. Sayangnya, bias ini memiliki kecenderungan untuk mengembang kinerja daripada menguranginya. Dengan demikian Anda harus selalu mempertimbangkan backtest untuk menjadi batas tertinggi ideal pada kinerja aktual strategi. Hampir tidak mungkin untuk menghilangkan bias dari perdagangan algoritmik, jadi tugas kita untuk meminimalkannya sebaik mungkin untuk membuat keputusan berdasarkan informasi tentang strategi algoritmik kami. Ada empat bias utama yang ingin saya diskusikan: Optimasi Bias. Look-Ahead Bias. Bias Survivorship dan Toleransi Psikologis Bias. Optimasi Bias Ini mungkin yang paling berbahaya dari semua bias backtest. Ini melibatkan penyesuaian atau pengenalan parameter perdagangan tambahan sampai kinerja strategi pada kumpulan data backtest sangat menarik. Namun, sekali menjalani kinerja strategi bisa sangat berbeda. Nama lain untuk bias ini adalah kurva pas atau data-snooping bias. Bias optimasi sulit dihilangkan karena strategi algoritmik sering melibatkan banyak parameter. Parameter dalam contoh ini mungkin merupakan kriteria entryexit, periode lihat-kembali, periode rata-rata (yaitu parameter pemulusan rata-rata bergerak) atau frekuensi pengukuran volatilitas. Bias optimasi dapat diminimalkan dengan menjaga jumlah parameter seminimal mungkin dan meningkatkan jumlah titik data dalam rangkaian pelatihan. Sebenarnya, kita juga harus berhati-hati dengan yang terakhir karena poin pelatihan yang lebih tua dapat dikenai rezim sebelumnya (seperti lingkungan peraturan) dan karenanya mungkin tidak sesuai dengan strategi Anda saat ini. Salah satu metode untuk membantu mitigasi bias ini adalah dengan melakukan analisis sensitivitas. Ini berarti memvariasikan parameter secara bertahap dan merencanakan permukaan kinerja. Suara, penalaran fundamental untuk pilihan parameter harus, dengan semua faktor lain dipertimbangkan, mengarah ke permukaan parameter yang lebih halus. Jika Anda memiliki permukaan kinerja yang sangat gelisah, seringkali berarti bahwa parameter tidak mencerminkan fenomena dan merupakan artefak dari data uji. Ada banyak literatur algoritma optimasi multi-dimensi dan ini adalah bidang penelitian yang sangat aktif. Saya tidak akan memikirkannya di sini, tapi tetap mengingatnya di belakang pikiran Anda saat Anda menemukan strategi dengan Bias Look-Ahead Back-Look yang fantastis Back-Look bias di depan diperkenalkan ke sistem backtesting saat data masa depan secara tidak sengaja disertakan pada satu titik di Simulasi dimana data tersebut sebenarnya tidak akan tersedia. Jika kita menjalankan backtest secara kronologis dan kita mencapai titik waktu N, maka bias look-ahead terjadi jika data disertakan untuk sembarang titik Nk, dimana k0. Kesalahan bias di depan bias bisa sangat halus. Berikut adalah tiga contoh bagaimana bias melihat ke depan dapat dikenalkan: Technical Bugs - Arraysvectors dalam kode sering kali memiliki iterator atau variabel indeks. Sepenuhnya offset dari indeks ini dapat menyebabkan bias melihat-depan dengan memasukkan data di Nk untuk non-nol k. Perhitungan Parameter - Contoh umum bias tampilan depan lainnya saat menghitung parameter strategi optimal, seperti regresi linier antara dua deret waktu. Jika seluruh kumpulan data (termasuk data masa depan) digunakan untuk menghitung koefisien regresi, dan dengan demikian secara retroaktif diterapkan pada strategi perdagangan untuk tujuan pengoptimalan, maka data masa depan digabungkan dan bias melihat-depan ada. MaximaMinima - Strategi perdagangan tertentu menggunakan nilai ekstrim dalam periode waktu tertentu, seperti memasukkan harga OHLC tinggi atau rendah. Namun, karena nilai maksimal maksimal ini hanya dapat dihitung pada akhir periode waktu, bias melihat ke depan diperkenalkan jika nilai ini digunakan -menunjukkan periode saat ini. Selalu perlu untuk menunda nilai highlow setidaknya dengan satu periode dalam strategi perdagangan yang memanfaatkannya. Seperti bias optimasi, seseorang harus sangat berhati-hati untuk menghindari pendahuluannya. Hal ini sering menjadi alasan utama mengapa strategi trading underperform backtests mereka secara signifikan dalam live trading. Bias Survivorship Survivinance bias adalah fenomena yang sangat berbahaya dan dapat menyebabkan kinerja meningkat secara signifikan untuk jenis strategi tertentu. Ini terjadi ketika strategi diuji pada kumpulan data yang tidak mencakup keseluruhan aset awal yang mungkin telah dipilih pada titik waktu tertentu, namun hanya mempertimbangkan yang bertahan sampai saat ini. Sebagai contoh, pertimbangkan untuk menguji strategi pemilihan acak ekuitas sebelum dan sesudah jatuhnya pasar 2001. Beberapa saham teknologi bangkrut, sementara yang lain berhasil bertahan dan bahkan makmur. Jika kami membatasi strategi ini hanya pada saham yang berhasil melewati periode penarikan pasar, kami akan memperkenalkan bias bertahan karena mereka telah menunjukkan keberhasilan mereka kepada kami. Sebenarnya, ini hanyalah kasus bias pratinjau yang spesifik, karena informasi masa depan digabungkan ke dalam analisis masa lalu. Ada dua cara utama untuk mengurangi bias bertahan dalam strategi backtests Anda: Survivorship Bias Free Datasets - Dalam kasus data ekuitas, kemungkinan untuk membeli dataset yang mencakup entitas yang delisted, meskipun tidak murah dan hanya cenderung dimanfaatkan oleh perusahaan institusional. . Secara khusus, data Yahoo Finance TIDAK bias bertahan bebas, dan ini biasa digunakan oleh banyak pedagang eceran algo. Seseorang juga dapat melakukan perdagangan di kelas aset yang tidak rentan terhadap bias bertahan, seperti komoditas tertentu (dan derivatif masa depan mereka). Gunakan Data yang Lebih Baru - Dalam kasus ekuitas, dengan memanfaatkan kumpulan data yang lebih baru, mengurangi kemungkinan pemilihan saham yang dipilih tertimbang untuk orang yang selamat, karena kemungkinan kehilangan delisting saham secara keseluruhan dalam periode waktu yang lebih singkat. Kita juga bisa mulai membangun dataset bebas bias pribadi dengan mengumpulkan data dari titik saat ini dan seterusnya. Setelah 3-4 tahun, Anda akan memiliki data ekuitas independen yang solid untuk bertahan lama yang mendukung strategi lebih lanjut. Kami sekarang akan mempertimbangkan fenomena psikologis tertentu yang dapat mempengaruhi kinerja perdagangan Anda. Toleransi Psikologis Bias Fenomena khusus ini tidak sering dibahas dalam konteks perdagangan kuantitatif. Namun, hal itu dibahas secara ekstensif sehubungan dengan metode perdagangan yang lebih discretionary. Ini memiliki berbagai nama, tapi saya telah memutuskan untuk menyebutnya bias toleransi psikologis karena menangkap esensi masalah. Saat membuat backtests selama 5 tahun atau lebih, mudah untuk melihat kurva ekuitas naik naik, menghitung imbal hasil tahunan gabungan, rasio Sharpe dan bahkan karakteristik penarikan dan merasa puas dengan hasilnya. Sebagai contoh, strategi ini mungkin memiliki penarikan relatif maksimum 25 dan durasi penarikan maksimum 4 bulan. Ini tidak akan menjadi tipikal untuk strategi momentum. Sangat mudah untuk meyakinkan diri bahwa mudah untuk mentolerir periode kerugian seperti itu karena gambaran keseluruhannya cerah. Namun, dalam praktiknya, ini jauh lebih sulit Jika penarikan sejarah 25 atau lebih terjadi di backtests, maka kemungkinan besar Anda akan melihat periode penarikan yang sama dalam perdagangan langsung. Periode penarikan ini secara psikologis sulit untuk bertahan. Saya telah mengamati secara langsung bagaimana penarikan yang diperpanjang bisa seperti, dalam setting kelembagaan, dan ini tidak menyenangkan - bahkan jika backtests menyarankan periode seperti itu akan terjadi. Alasan saya menyebutnya sebagai bias adalah seringnya strategi yang jika tidak berhasil dihentikan dari perdagangan selama masa penarikan yang diperpanjang dan dengan demikian akan menghasilkan kinerja yang tidak signifikan dibandingkan dengan rasio balik. Jadi, meski strateginya bersifat algoritmik, faktor psikologis masih bisa memiliki pengaruh yang besar terhadap profitabilitas. Takeaway adalah untuk memastikan bahwa jika Anda melihat penarikan persentase dan durasi tertentu di backtests, Anda harus mengharapkannya terjadi di lingkungan live trading, dan perlu bertekun untuk mencapai profitabilitas sekali lagi. Paket Perangkat Lunak untuk Backtesting Lanskap perangkat lunak untuk strategi backtesting sangat luas. Solusi berkisar dari perangkat lunak canggih kelas terintegrasi yang terintegrasi hingga bahasa pemrograman seperti C, Python dan R dimana hampir semuanya harus ditulis dari awal (atau plugin yang sesuai diperoleh). Sebagai trader quant, kami tertarik pada keseimbangan untuk dapat memiliki tumpukan teknologi perdagangan kami versus kecepatan dan keandalan metodologi pengembangan kami. Berikut adalah pertimbangan utama untuk pilihan perangkat lunak: Skill Programming - Pilihan lingkungan akan sebagian besar bergantung pada kemampuan Anda untuk memprogram perangkat lunak. Saya berpendapat bahwa mengendalikan tumpukan total akan memiliki efek lebih besar pada PL jangka panjang Anda daripada melakukan outsourcing sebanyak mungkin terhadap perangkat lunak vendor. Hal ini disebabkan oleh risiko downside memiliki bug eksternal atau kekhasan yang tidak dapat Anda perbaiki di perangkat lunak vendor, yang seharusnya mudah diperbaiki jika Anda memiliki lebih banyak kendali atas tumpukan teknologi Anda. Anda juga menginginkan lingkungan yang memengaruhi keseimbangan antara produktivitas, ketersediaan perpustakaan dan kecepatan eksekusi. Saya membuat rekomendasi pribadi saya sendiri di bawah ini. Kemampuan Eksekusi Interaksi Broker - Perangkat lunak backtesting tertentu, seperti Tradestation, berhubungan langsung dengan brokerage. Saya bukan penggemar pendekatan ini karena mengurangi biaya transaksi seringkali merupakan komponen besar untuk mendapatkan rasio Sharpe yang lebih tinggi. Jika Anda terikat dengan broker tertentu (dan Tradestation memaksa Anda melakukan ini), maka Anda akan memiliki waktu yang lebih sulit untuk beralih ke perangkat lunak baru (atau broker baru) jika diperlukan. Pialang Interaktif menyediakan API yang tangguh, meski dengan antarmuka yang sedikit tumpul. Kustomisasi - Lingkungan seperti MATLAB atau Python memberi Anda banyak fleksibilitas saat membuat strategi algo karena mereka menyediakan perpustakaan yang fantastis untuk hampir semua operasi matematis yang bisa dibayangkan, namun juga memungkinkan penyesuaian ekstensif jika diperlukan. Kompleksitas Strategi - Perangkat lunak tertentu hanya tidak cocok untuk penggoncangan angka berat atau kompleksitas matematis. Excel adalah salah satu perangkat lunak semacam itu. Meskipun bagus untuk strategi yang lebih sederhana, namun tidak dapat mengatasi banyak aset atau algoritma yang lebih rumit, dengan kecepatan tinggi. Minimisasi Bias - Apakah perangkat lunak atau data tertentu lebih sesuai dengan bias trading Anda harus memastikan bahwa jika Anda ingin membuat semua fungsi itu sendiri, Anda tidak mengenalkan bug yang dapat menyebabkan bias. Kecepatan Pembangunan - Orang tidak perlu menghabiskan bulan dan bulan untuk menerapkan mesin backtest. Prototyping seharusnya hanya memakan waktu beberapa minggu. Pastikan bahwa perangkat lunak Anda tidak menghalangi kemajuan Anda sampai batas tertentu, hanya untuk meraih beberapa poin persentase tambahan dari kecepatan eksekusi. C adalah gajah di ruangan sini Kecepatan Eksekusi - Jika strategi Anda benar-benar bergantung pada ketepatan waktu pelaksanaan (seperti pada HFTUHFT), maka bahasa seperti C atau C akan diperlukan. Namun, Anda akan mengetahui pengoptimalan kernel Linux dan penggunaan FPGA untuk domain ini, yang berada di luar cakupan artikel ini Biaya - Banyak lingkungan perangkat lunak yang dapat Anda gunakan untuk strategi perdagangan algoritme dengan benar-benar gratis dan open source. Sebenarnya, banyak hedge fund menggunakan perangkat lunak open source untuk keseluruhan tumpukan perdagangan algo mereka. Selain itu, Excel dan MATLAB keduanya relatif murah dan bahkan ada alternatif gratis untuk masing-masing. Sekarang setelah kami mencantumkan kriteria yang kami perlukan untuk memilih infrastruktur perangkat lunak kami, saya ingin menjalankan beberapa paket yang lebih populer dan bagaimana perbandingannya: Catatan: Saya hanya akan menyertakan perangkat lunak yang tersedia bagi kebanyakan praktisi ritel dan Pengembang perangkat lunak, karena ini adalah pembaca situs. Sementara perangkat lunak lain tersedia seperti alat kelas yang lebih institusional, saya merasa ini terlalu mahal untuk digunakan secara efektif dalam lingkungan ritel dan saya sendiri tidak memiliki pengalaman dengan mereka. Perbandingan Perbandingan Perangkat Lunak Backtesting: Bahasa tingkat tinggi yang dirancang untuk kecepatan pengembangan. Beragam perpustakaan untuk hampir semua tugas terprogram yang bisa dibayangkan. Mendapatkan penerimaan yang lebih luas pada komunitas hedge fund dan investment bank. Tidak secepat CC untuk kecepatan eksekusi. Eksekusi: plugin Python ada untuk broker yang lebih besar, seperti Interactive Brokers. Oleh karena itu backtest dan sistem eksekusi semuanya bisa menjadi bagian dari tumpukan teknologi yang sama. Kustomisasi: Python memiliki komunitas pengembangan yang sangat sehat dan merupakan bahasa yang matang. NumPySciPy menyediakan komputasi ilmiah dan alat analisis statistik yang relevan untuk perdagangan kuantitatif. Kompleksitas Strategi: Banyak plugin ada untuk algoritme utama, namun tidak sebanyak komunitas quant sebagai ada untuk MATLAB. Minimisasi Bias: Masalah minimisasi bias yang sama ada pada bahasa tingkat tinggi manapun. Perlu sangat berhati-hati dalam melakukan pengujian. Kecepatan Pengembangan: keunggulan utama Piton adalah kecepatan pengembangan, dengan kemampuan pengujian yang kokoh. Kecepatan Eksekusi: Tidak secepat C, namun komponen komputasi ilmiah dioptimalkan dan Python dapat berbicara dengan kode C asli dengan plugin tertentu. Biaya: FreeOpen Source Keterangan: Dewasa, bahasa tingkat tinggi dirancang untuk kecepatan eksekusi. Beragam jajaran keuangan kuantitatif dan perpustakaan numerik. Lebih sulit untuk debug dan sering membutuhkan waktu lebih lama untuk diimplementasikan daripada Python atau MATLAB. Sangat lazim di sisi beli dan jual. Eksekusi: Sebagian besar API broker ditulis di C dan Java. Begitu banyak plugin yang ada. Kustomisasi: CC memungkinkan akses langsung ke memori yang mendasarinya, maka strategi frekuensi ultra-tinggi dapat diimplementasikan. Kompleksitas Strategi: C STL menyediakan beragam algoritma yang optimal. Hampir semua algoritma matematika khusus memiliki implementasi open source open source gratis di web. Bias Minimization: bias Look-ahead bisa jadi sulit dihilangkan, tapi tidak sulit dibanding bahasa tingkat tinggi lainnya. Alat debugging yang bagus, tapi kita harus berhati-hati saat berhadapan dengan memori yang mendasarinya. Kecepatan Pengembangan: C cukup verbose dibandingkan dengan Python atau MATLAB untuk algoritma yang sama. Lebih banyak baris kode (LOC) sering menyebabkan kemungkinan bug lebih besar. Kecepatan eksekusi: CC memiliki kecepatan eksekusi yang sangat cepat dan dapat dioptimalkan dengan baik untuk arsitektur komputasi tertentu. Inilah alasan utama untuk memanfaatkannya. Biaya: Berbagai kompiler: LinuxGCC gratis, MS Visual Studio memiliki lisensi yang berbeda. Strategi yang berbeda akan membutuhkan paket perangkat lunak yang berbeda. Strategi HFT dan UHFT akan ditulis dalam CC (belakangan ini mereka sering dilakukan di GPU dan FPGA), sedangkan strategi ekuitas berarah frekuensi rendah mudah diterapkan di TradeStation, karena semua dalam satu sifat softwarebrokerage. Preferensi pribadi saya adalah untuk Python karena memberikan tingkat kustomisasi, kecepatan pengembangan, kemampuan pengujian dan kecepatan eksekusi yang tepat untuk kebutuhan dan strategi saya. Jika saya membutuhkan sesuatu yang lebih cepat, saya bisa masuk ke C langsung dari program Python saya. Salah satu metode yang disukai oleh banyak trader quant adalah memprotot strategi mereka dengan Python dan kemudian mengkonversikan bagian eksekusi yang lebih lambat ke C dengan cara yang iteratif. Akhirnya seluruh algo ditulis dalam bahasa C dan dapat dibiarkan sendiri untuk diperdagangkan. Dalam beberapa artikel berikutnya mengenai backtesting, kita akan melihat beberapa masalah khusus seputar penerapan sistem backtesting perdagangan algoritmik, dan juga bagaimana menggabungkan efek dari Bursa perdagangan. Kami akan membahas pengukuran kinerja strategi dan akhirnya diakhiri dengan contoh strategi. Memulai dengan Perdagangan Kuantitatif
Online-stock-trading-kursus-review
Pokemon-trading-card-game-online-authenticating