Type/to search
0
Follow
80
Followers
Pengenalan Pencipta kepada Perdagangan Kuantitatif - Dari Asas kepada Amalan
Original
Created 2019-06-25 15:48:58  Updated 2023-10-31 21:01:08
 2
 16106

img

Jadual kandungan

Bab 1 Asas Dagangan Kuantitatif

1.1 Apakah perdagangan kuantitatif?

ringkasan

Perdagangan kuantitatif, sebagai produk gabungan sains dan mesin, sedang mengubah landskap pasaran kewangan moden. Kini ramai pelabur telah menumpukan perhatian kepada bidang ini. Bagaimana untuk meminimumkan risiko dan mencapai pulangan yang terbaik? Ini juga tujuan siri kursus ini Sebagai artikel pertama, kami akan menerangkan secara ringkas "Apa itu perdagangan kuantitatif".

Gambaran keseluruhan

Apabila ramai orang mendengar istilah "perdagangan kuantitatif", mereka fikir ia adalah mewah dan akan menjadikan mereka kaya dalam sekelip mata. Era kecerdasan buatan, disertai dengan peningkatan teknologi canggih seperti pembelajaran mendalam, data besar dan pengkomputeran awan, telah memberikannya warna misteri. Nampaknya selagi perdagangan kuantitatif digunakan, strategi perdagangan yang "sempurna" boleh dibina.

Malah, pada tahap tertentu, perdagangan kuantitatif telah menjadi mitos. Mengetepikan perdagangan, "kuantifikasi" sebenarnya adalah penggunaan komputer, statistik, matematik dan kaedah lain, melalui sistem pelaburan saintifik, untuk mencari satu set sistem isyarat dagangan yang dijangkakan. Sistem isyarat ini akan memberitahu kita bila dan pada harga yang kita patut beli dan jual.

Perkembangan perdagangan kuantitatif

Berbalik kepada sumber, orang yang mula-mula menggunakan kaedah kuantitatif untuk menganalisis perubahan data dan menemui corak turun naik harga pasaran bukanlah orang Belanda, tempat kelahiran saham, mahupun British yang mempromosikan kewangan moden, mahupun orang Amerika yang telah wujud bersama kewangan sejak penubuhan negara itu, tetapi orang Perancis.

Seawal abad ke-18, Jules Regnault, seorang penolong broker saham Perancis, mencadangkan teori moden perubahan harga saham Beliau kemudiannya menerbitkan buku "Pengiraan Kebarangkalian dan Falsafah Perdagangan Saham", di mana beliau menghuraikan undang-undang naik dan turun pasaran (taburan normal) yang ditemuinya: "Sisihan harga adalah berkadar dengan keputusan pelaburan kuantitatif dan rasional".

Pada masa kini, dalam era Internet + data besar + pengkomputeran awan + kecerdasan buatan, perdagangan kuantitatif juga telah berkembang pesat. Canary Wharf di London, pernah menjadi pusat kewangan global, telah lama menjadi hab untuk syarikat IT. Bank pelaburan terkemuka dunia juga memupuk pasukan kuantitatif mereka sendiri, cuba menyertai perang kewangan "sesiapa yang mendapat model itu memenangi dunia". Dari segi skala, Amerika Syarikat, yang bermula lebih awal, sudah mempunyai sejumlah besar dana lindung nilai kuantitatif yang kukuh.

Sebaliknya, di China, kedua-dua peralatan perkakasan dan keupayaan penyelidikan pelaburan masih di peringkat awal. Walau bagaimanapun, semakin banyak institusi dan pelabur profesional telah menyedari manfaat perdagangan kuantitatif dan telah mengambil bahagian dalam bidang ini Terutama apabila penyeliaan menjadi semakin ketat dan kecekapan pasaran secara beransur-ansur bertambah baik, perdagangan kuantitatif mempunyai ruang yang lebih luas untuk pertumbuhan.

Ciri-ciri perdagangan kuantitatif

Pengesahan saintifik: Bayangkan apabila anda mempunyai sistem perdagangan, jika anda menggunakan sistem perdagangan simulasi untuk menguji keberkesanannya, ia mungkin memerlukan banyak masa Jika anda mengujinya secara langsung dengan sistem perdagangan sebenar, anda mungkin kehilangan wang sebenar. Walau bagaimanapun, fungsi ujian belakang dalam perdagangan kuantitatif boleh digunakan untuk menguji sistem perdagangan secara saintifik melalui sejumlah besar data sejarah. Biarkan data bercakap untuk perkara yang berkesan dan apa yang tidak, bukannya hanya mengikuti orang ramai.

Objektif dan tepat: Dalam perdagangan, musuh sebenar kita adalah diri kita sendiri. Kelemahan manusia seperti tamak, ketakutan, dan nasib akan diperbesarkan beberapa kali dalam pasaran dagangan Kuantitatif boleh membantu kita mengatasi kelemahan ini dan membuat keputusan yang lebih baik dalam perdagangan.

Tepati masa dan cekap: Dalam perdagangan subjektif, kelajuan tindak balas orang tidak boleh lebih pantas daripada komputer, dan kekuatan fizikal dan tenaga orang tidak boleh beroperasi 24 jam sehari Dalam pasaran dagangan di mana peluang adalah sekejap, dagangan kuantitatif boleh menggantikan sepenuhnya perdagangan subjektif, mencari peluang perdagangan, dan menjejaki perubahan pasaran dengan cara yang tepat pada masanya dan pantas.

Kawalan Risiko: Dagangan kuantitatif bukan sahaja boleh meneroka corak sejarah yang mungkin berulang pada masa hadapan daripada data sejarah, tetapi corak sejarah ini juga merupakan strategi dengan kebarangkalian yang lebih tinggi untuk menang. Anda juga boleh membina pelbagai portfolio pelaburan yang berbeza untuk mengurangkan risiko sistemik dan melicinkan keluk pembiayaan.

Apakah strategi perdagangan klasik untuk perdagangan kuantitatif?

Membuka Strategi Breakout

Setengah jam pertama selepas pembukaan selalunya boleh menentukan arah aliran hari ini Strategi ini menggunakan sama ada harga adalah garisan positif atau negatif dalam masa setengah jam selepas pembukaan sebagai standard untuk menilai arah aliran hari itu. Jika ia adalah garisan positif, buka kedudukan beli jika ia adalah garisan negatif, buka kedudukan jual dan tutup kedudukan dalam beberapa minit sebelum ditutup. Ini adalah strategi perdagangan yang sangat mudah.

Strategi Saluran Donchian

img

Rajah 1-1 Rajah Strategi Saluran Donchian

Strategi Saluran Donchian boleh dianggap sebagai nenek moyang perdagangan intrahari Peraturannya ialah: beli jika harga semasa lebih tinggi daripada harga tertinggi garisan N sebelumnya, dan jual jika harga semasa lebih rendah daripada harga terendah garisan N K sebelumnya. Peraturan Perdagangan Penyu yang terkenal menggunakan versi strategi Saluran Donchian yang diubah suai.

Strategi arbitraj merentas tempoh

Arbitraj tempoh silang ialah jenis transaksi timbang tara yang paling biasa Ia berdasarkan harga kontrak dengan bulan penghantaran yang berbeza untuk produk dagangan yang sama Jika terdapat perbezaan harga yang besar antara kedua-dua harga, kontrak niaga hadapan tempoh berbeza boleh dibeli dan dijual pada masa yang sama untuk menjalankan arbitraj merentas tempoh. Andaikan perbezaan harga antara kontrak utama dan kontrak utama sekunder kekal sekitar -50~50 untuk jangka masa yang lama. Jika spread mencecah 70 pada hari tertentu, kami menjangkakan spread akan kembali kepada 50 pada satu ketika pada masa hadapan. Kemudian anda boleh menjual kontrak utama dan membeli kontrak utama sekunder pada masa yang sama untuk memendekkan perbezaan harga. sebaliknya.

ringkaskan

Di atas, kami telah memperkenalkan secara ringkas konsep perdagangan kuantitatif yang berkaitan dari aspek definisi, pembangunan, ciri dan strategi perdagangan klasik.

Memahami perdagangan kuantitatif adalah batu loncatan penting di jalan untuk menjadi Quant. Akhir sekali, saya berharap semua orang dapat memperkayakan diri mereka dalam pasaran beruang dan merealisasikan pengetahuan secepat mungkin! Ingat, anda hanya satu pasaran lembu yang jauh dari kebebasan kewangan!

Pratonton Bahagian Seterusnya
Apakah perbezaan antara perdagangan kuantitatif dan perdagangan tradisional? Dalam perdagangan sebenar, patutkah kita memilih perdagangan tradisional atau perdagangan kuantitatif? Dalam bahagian seterusnya, kami akan mengambil dua soalan ini untuk lebih memahami perdagangan kuantitatif.

Kerja rumah

  1. Terangkan secara ringkas apakah perdagangan kuantitatif dalam satu ayat?
  2. Apakah ciri-ciri perdagangan kuantitatif?

1.2 Mengapa memilih perdagangan kuantitatif

ringkasan

Ramai orang menggunakan pengaturcaraan strategi yang kompleks sebagai titik permulaan apabila membincangkan perdagangan kuantitatif, secara tidak sengaja menimbulkan misteri terhadap perdagangan kuantitatif. Dalam bahagian ini, kami akan cuba membuat "lakaran" ringkas perdagangan kuantitatif dalam bahasa yang mudah difahami untuk mendedahkan misterinya. Saya percaya bahawa walaupun orang baru yang tidak mempunyai pengetahuan asas boleh memahaminya dengan mudah.

Perbezaan antara perdagangan kuantitatif dan perdagangan subjektif

Perdagangan subjektif memberi lebih perhatian kepada analisis manusia dan rasa pasaran Walaupun isyarat beli dan jual muncul, pesanan akan dibuat secara terpilih. Perasaan manusia adalah kompleks, boleh berubah dan tidak boleh dipercayai Apabila kebanyakan peniaga mengalami kerugian berturut-turut, mereka cenderung untuk beralih kepada kaedah lain. Ia sangat rawak dan mudah diganggu oleh keuntungan dan kerugian, menjadikannya sukar untuk membuat keuntungan yang stabil.

Dagangan kuantitatif membangunkan strategi pembelian dan penjualan yang konsisten melalui pemahaman urus niaga. Dalam perdagangan, layan semua trend sama rata, dan kendalikan kedudukan pembukaan dan penutupan secara sistematik Adalah lebih baik untuk membuat kesilapan daripada terlepas. Ia juga mempunyai sistem penilaian yang lengkap, yang menentukan jenis pasaran dan produk mana strategi yang lebih sesuai melalui data sejarah ujian balik, dan mencapai keuntungan dengan menggabungkan pelbagai strategi dan produk.

Ringkasnya, perdagangan subjektif adalah asas perdagangan kuantitatif, dan perdagangan kuantitatif adalah penyempurnaan perdagangan subjektif. Perdagangan subjektif lebih seperti berlatih seni mempertahankan diri Sama ada anda boleh berjaya pada akhirnya bergantung pada bakat anda Sesetengah orang mungkin tidak mencapai pencerahan selepas sepuluh tahun, manakala yang lain mungkin mencapai pencerahan dalam satu hari. Perdagangan kuantitatif lebih seperti kecergasan Selagi anda bekerja keras, anda boleh membina otot walaupun anda tidak mempunyai bakat.

Adakah dagangan kuantitatif lebih baik daripada dagangan subjektif?

Pedagang subjektif yang berjaya, dalam erti kata lain, juga peniaga kuantitatif. Kerana peniaga subjektif yang berjaya mesti mempunyai peraturan dan kaedah sendiri, iaitu sistem perdagangan. Perdagangan subjektif yang berjaya mesti berdasarkan disiplin perdagangan dan peraturan perdagangan, dan bahagian pelaksanaan peraturan perdagangan sebenarnya adalah bahagian kuantitatif perdagangan subjektif.

Sebaliknya, peniaga kuantitatif yang berjaya juga mesti menjadi pedagang subjektif yang cemerlang, kerana pembangunan strategi perdagangan kuantitatif sebenarnya adalah penghabluran falsafah perdagangan seseorang. Jika persepsi dan pemahaman seseorang terhadap pasaran adalah salah dari awal, maka strategi perdagangan yang dibangunkan akan sukar untuk mengaut keuntungan dalam jangka masa panjang.

Oleh itu, dari perspektif keuntungan, faktor utama yang menentukan sama ada peniaga akhirnya boleh berjaya adalah falsafah perdagangan, bukan sama ada dagangan subjektif atau perdagangan kuantitatif. Perdagangan kuantitatif mungkin kelihatan tinggi di permukaan, tetapi intipati keuntungannya tidak berbeza dengan perdagangan subjektif pada dasarnya Mereka adalah seperti dua belah satu perkara, yang bertentangan dan bersatu.

Tetapi tidak dapat dinafikan bahawa perdagangan kuantitatif memang mempunyai banyak kelebihan dari segi alat dagangan.

Semakan lebih pantas: Jika anda ingin menguji strategi dagangan, anda perlu mengira sejumlah besar data sejarah Dagangan kuantitatif boleh mengira keputusan dalam beberapa minit. Kelajuan ini berkali ganda lebih pantas daripada dagangan subjektif.

Lebih saintifik:Untuk menilai sama ada strategi itu bagus, kami bergantung pada data (seperti nisbah Sharpe, kadar pengeluaran maksimum, pulangan tahunan), dan bukannya penipu yang melayan diri sendiri.

Lebih banyak peluang:Terdapat beribu-ribu produk dagangan di dunia Adalah mustahil untuk memantau pasaran pada masa yang sama untuk dagangan subjektif, tetapi dagangan kuantitatif boleh memantau keseluruhan pasaran dalam masa nyata, tidak terlepas sebarang peluang perdagangan dan meningkatkan keuntungan.

Bolehkah perdagangan kuantitatif pasti menghasilkan wang?

Sudah tentu anda boleh, tetapi sukar untuk bertahan lama. Sama ada anda membuat wang atau tidak bergantung pada perdagangan kuantitatif itu sendiri, ia hanyalah satu alat perdagangan kuantitatif hanya melaksanakan idea dagangan dalam cara yang diprogramkan, teratur dan mengikut kuantiti Program ini hanya menggantikan pelaksanaan. Bahagian yang sukar ialah membuat wang secara stabil dalam jangka panjang, kerana pasaran adalah permainan dan berubah secara dinamik, dan idea perdagangan juga mesti berubah dengan pasaran.

Risiko perdagangan kuantitatif

Perdagangan kuantitatif juga mempunyai risiko, mengapa? Kerana perdagangan kuantitatif adalah tentang menemui corak dalam data sejarah dan membentuk strategi perdagangan. Walau bagaimanapun, pasaran kewangan adalah sistem ekologi, dan undang-undang serta sifat manusia adalah proses dinamik interaktif Dalam analisis akhir, ia masih merupakan pasaran manusia. Undang-undang pasaran akan dipengaruhi oleh sifat manusia, dan ketamakan dan ketakutan dalam sifat manusia akan berubah dengan perubahan dalam pasaran Terdapat sangat sedikit undang-undang yang tidak berubah dalam pasaran Tidak kira betapa kuatnya strategi perdagangan, adalah sukar untuk menghadapi perubahan mendadak dalam undang-undang.

ringkaskan

Daripada penjelasan di atas, kita dapat melihat bahawa perdagangan kuantitatif bukanlah kaedah dagangan yang unik, ia hanyalah alat dagangan untuk membantu kami menganalisis logik dagangan dan menambah baik strategi dagangan. Sama ada anda pelabur nilai atau pelabur teknikal, dan sama ada anda melabur dalam saham, bon, komoditi atau opsyen, semuanya sebenarnya boleh diukur. Berbanding dengan peniaga yang membuat keputusan berdasarkan pengalaman peribadi, senjata di tangan peniaga kuantitatif adalah bukti pasaran dan rasional.

Pratonton Bahagian Seterusnya

Kuantifikasi hanyalah kaedah dagangan, strategi hanyalah pembawa idea dagangan, dan program melaksanakan setiap proses dagangan. Bahagian seterusnya akan membawa anda melalui kitaran hayat lengkap perdagangan kuantitatif, yang akan merangkumi: konsep strategi, pembinaan model, ujian belakang dan penalaan, perdagangan simulasi, perdagangan sebenar, pemantauan strategi, dsb.

Kerja rumah

  1. Apakah perbezaan paling penting antara dagangan kuantitatif dan dagangan subjektif?
  2. Apakah kelebihan dagangan kuantitatif berbanding dagangan subjektif?

1.3 Apakah yang anda perlu sediakan untuk dagangan kuantitatif?

ringkasan

Kitaran hayat dagangan kuantitatif yang lengkap bukan hanya strategi dagangan itu sendiri. Ia terdiri daripada sekurang-kurangnya enam pautan, termasuk: konsep strategi, pembinaan model, ujian belakang dan penalaan, perdagangan simulasi, perdagangan sebenar, pemantauan strategi, dsb.

Pemikiran strategik

Pertama sekali, untuk melakukan perdagangan kuantitatif, anda mesti kembali ke pasaran dagangan, lebih memerhatikan harga dalam pasaran, memahami undang-undang turun naik pasaran, cuba membuat kesimpulan logik setiap transaksi, dan akhirnya meringkaskan strategi dagangan. Tiada jalan pintas di sini Anda mungkin perlu membaca buku pelaburan klasik, atau terus berdagang dan belajar daripada kegagalan anda.

Bagi pemula dagangan kuantitatif, cara terbaik untuk membangunkan strategi dagangan pada mulanya adalah dengan meniru. Gunakan secara langsung penunjuk analisis teknikal sedia ada untuk membina logik strategi dan menulis peraturan membeli dan menjual, supaya anda boleh mendapatkan strategi mudah. Katakan strategi dagangan anda adalah begini: beli jika harga lebih tinggi daripada harga purata 10 hari lepas, dan jual jika harga lebih rendah daripada harga purata 10 hari lepas. Kemudian seni binanya adalah seperti berikut (seperti yang ditunjukkan di bawah):
img
Rajah 1-2 Contoh strategi perdagangan

Sudah tentu, apabila anda mengumpul pengalaman strategi dan membentuk kaedah dagangan anda sendiri, pilihan logik anda akan menjadi lebih dan lebih pelbagai, dan anda akan maju ke perdagangan kuantitatif yang lebih sistematik. Jika anda boleh menjadi peniaga dengan pemikiran kuantitatif, sama ada dalam pasaran saham atau niaga hadapan, ia adalah satu rahmat, kerana orang seperti itu telah mengekalkan keuntungan dan stabil tidak kira pasaran dagangan mana dia berada.

Membina Model

Kedua, anda perlu menguasai alat dagangan kuantitatif untuk menulis strategi dagangan dan merealisasikan idea dagangan anda. Mana-mana perisian yang biasa digunakan di pasaran boleh digunakan. Tetapi jika anda ingin menjadi peniaga kuantitatif mewah, anda perlu belajar

Ketahui bahasa komputer Saya mengesyorkan Python kerana ia adalah bahasa yang berwibawa untuk pengkomputeran saintifik.
Ia juga menyediakan pelbagai pakej analisis sumber terbuka, pemprosesan fail, rangkaian, pangkalan data, dll.

Jika keupayaan pengaturcaraan anda lemah, yang dipercayai menjadi titik lemah kebanyakan pemula, adalah disyorkan untuk menggunakan bahasa pengaturcaraan visual atau bahasa Mai yang agak mudah, yang boleh meningkatkan minat anda untuk mempelajari perdagangan kuantitatif dan membolehkan anda menumpukan pada strategi dan menyelesaikan pembangunan strategi dengan cekap. Seperti yang ditunjukkan di bawah: Menggunakan bahasa Mai, bangunkan strategi perdagangan seperti yang dinyatakan di atas, klik dua kali pada imej untuk melihat ulasan terperinci dalam kod strategi.

img
Rajah 1-3 Halaman pembangunan strategi perdagangan

Kod strategi dalam rajah di atas ditunjukkan menggunakan bahasa Mai alat kuantitatif pencipta Ia menyepadukan banyak modul berfungsi yang boleh digunakan secara langsung, dan menyokong ujian belakang dan fungsi perdagangan sebenar.

Ujian belakang dan penalaan

Kemudian, selepas menulis model strategi, langkah seterusnya ialah menguji balik strategi, serta menyaring dan mengoptimumkan parameter. Anda boleh menggunakan parameter berbeza untuk menguji balik strategi dan memerhati nisbah Sharpe strategi, pengeluaran maksimum, pulangan tahunan, dsb. Dengan menyahpepijat dan mengubah suai strategi secara berterusan, kami akhirnya akan mendapat strategi dagangan kuantitatif yang lengkap.

Sebagai contoh, kami mengambil data sejarah 2017 sebagai data dalam sampel dan data sejarah 2018 sebagai data luar sampel. Pertama, kami menggunakan data 2017 untuk mengoptimumkan beberapa set parameter dengan prestasi yang baik, dan kemudian menggunakan parameter ini untuk mengoptimumkan 2018

Ujian balik data. Secara umumnya, keputusan ujian belakang luar sampel tidak sebaik keputusan ujian belakang dalam sampel Walau bagaimanapun, jika keputusan ujian keluar sampel dan dalam sampel sangat berbeza, maka strategi itu hampir tidak berkesan dan perlu diperhatikan dan dianalisis untuk menentukan sebab kegagalan strategi.

Katakan bahawa kita mendapati bahawa strategi gagal disebabkan oleh data luar sampel dan keadaan pasaran ekstrem tertentu membawa kepada kerugian yang besar, maka kita boleh menambah keadaan stop loss tetap untuk mengelakkan risiko ini jika kita mendapati bahawa strategi itu gagal kerana terlalu banyak transaksi, maka kita boleh mengetatkan sedikit logik dagangan dan mengurangkan kekerapan dagangan.

Perlu diingatkan bahawa jika logik dagangan itu sendiri salah pada mulanya, sukar untuk mendapatkan strategi yang menguntungkan tidak kira berapa banyak anda mengubah suainya Pada masa ini, anda perlu mengkaji semula pemikiran strategik anda. Di samping itu, dalam pengoptimuman parameter, lebih banyak kumpulan parameter tersedia lebih baik, menunjukkan bahawa strategi mempunyai kebolehgunaan yang luas. Apabila ujian belakang, strategi dengan terlalu sedikit dagangan mungkin mengalami berat sebelah yang terselamat. Jika hasil ujian belakang adalah keluk modal yang sangat menguntungkan
Dalam banyak kes, logik anda salah.

Dagangan Simulasi

Kemudian, apabila anda mendapat strategi dengan logik dagangan yang betul dan menguntungkan di dalam dan di luar sampel, jangan tergesa-gesa untuk berdagang pada akaun sebenar. Khusus untuk pemula, akaun simulasi perlu dijalankan sekurang-kurangnya 3 bulan Jika ia adalah strategi semalaman frekuensi sederhana atau rendah, masa dagangan simulasi yang lebih lama akan diperlukan.

Dalam pasaran simulasi yang sama sekali tidak diketahui pada masa hadapan, perhatikan prestasi strategi dalam dagangan simulasi, semak dengan teliti sama ada isyarat ujian belakang konsisten dengan isyarat dagangan simulasi, dan sama ada terdapat sisihan antara harga apabila pesanan dibuat dan harga apabila transaksi selesai Jika prestasi adalah konsisten dengan jangkaan, maka ini bermakna strategi itu berkesan.

Perdagangan dalam talian

Akhirnya, selepas menguji strategi untuk masa yang lama, sudah tiba masanya untuk memasukkannya ke dalam perdagangan sebenar. Sudah tentu, kita juga mesti sentiasa berwaspada dan berwaspada terhadap keadaan pasaran yang melampau semasa proses perdagangan kuantitatif. Dalam perdagangan sebenar, jangkaan strategi biasanya didiskaunkan, dan mencapai 50% daripada jangkaan dianggap layak.

Pemantauan Dasar

Akhir sekali, saya perlu mengingatkan semua orang bahawa semasa perdagangan berjalan, kita juga mesti memerhatikan keberkesanan strategi Apabila kita mendapati bahawa strategi mempunyai kerugian di luar jangkaan, kita mesti menilai semula strategi. Oleh kerana ciri-ciri pasaran akan berubah, strategi yang kami bentuk sekarang terutamanya ditujukan kepada ciri-ciri pasaran masa lalu. Sebaik sahaja ciri pasaran berubah, model strategi mesti diselaraskan tepat pada masanya, atau strategi mesti digantung buat sementara waktu.

ringkaskan

Dalam artikel ini, kami menerangkan proses lengkap perdagangan kuantitatif. Ringkasnya, jika anda seorang pelabur yang mempunyai pengalaman pasaran, perkara yang akan menghalang anda ialah asas bahasa komputer Anda boleh bermula dengan bahasa visual atau bahasa Mai, melatih diri anda pada platform ini, membina strategi, dan kemudian secara beransur-ansur beralih kepada perdagangan kuantitatif kelas atas Python.

Jika anda seorang pelajar sains dan kejuruteraan atau pengamal IT yang mempunyai kemahiran pengaturcaraan yang kuat, apa yang akan menghalang anda ialah pengalaman pelaburan pasaran Jangan memandang rendah perkara ini Sebagai pelabur kuantitatif yang berkelayakan, kedua-dua jenis pengetahuan adalah amat diperlukan.

Pratonton Bahagian Seterusnya

Teras kepada keseluruhan kitaran hayat dagangan kuantitatif masih merupakan strategi dagangan. Dalam bahagian seterusnya, kami akan menghuraikan elemen strategi dagangan yang lengkap dari perspektif rangka kerja strategi dagangan. Ini akan membantu anda membina strategi dagangan anda dengan lebih komprehensif dan membawa dagangan kuantitatif ke tahap yang baharu!

Kerja rumah

  1. Cuba tulis strategi perdagangan dalam bahagian ini menggunakan bahasa Mai.
  2. Apakah penunjuk prestasi yang paling penting dalam ujian balik dagangan kuantitatif?

1.4 Apakah unsur-unsur strategi yang lengkap?

ringkasan

Strategi yang lengkap sebenarnya adalah pelbagai peraturan yang ditetapkan oleh peniaga untuk diri mereka sendiri Ia merangkumi semua aspek transaksi dan tidak meninggalkan ruang untuk imaginasi subjektif pedagang. Ia sekurang-kurangnya termasuk pemilihan strategi, pemilihan produk, pengurusan modal, penempatan pesanan, tindak balas kepada keadaan pasaran yang melampau, mentaliti dagangan, dsb.

Pemilihan Strategi

Dari perspektif dana lindung nilai, strategi dagangan arus perdana boleh dibahagikan kepada dagangan arah aliran, dagangan pasangan, dagangan bakul, dipacu peristiwa, dagangan frekuensi tinggi, strategi pilihan, dsb., seperti yang ditunjukkan dalam rajah di bawah. Sudah tentu, cara strategi dikategorikan tidak tetap.
img
Rajah 1-4 Klasifikasi strategi perdagangan

Bagi pemula perdagangan kuantitatif, anda tidak perlu risau tentang banyak istilah dan konsep. Hanya bermula dari langkah demi langkah yang paling mudah. Jika saya hanya mengesyorkan satu strategi perdagangan kuantitatif untuk pemula, ia adalah perdagangan trend, kerana ia mudah dan berkesan. Saya percaya bahawa walaupun anda tidak mempelajari pengetahuan kewangan secara sistematik, anda masih boleh melakukan perdagangan yang baik. Dan strategi ini telah wujud sejak sekian lama, dalam strategi dagangan awam awal, dan ia masih berkesan dalam pelbagai pasaran hari ini kerana sifat manusia sukar untuk diubah.

Apa yang hendak dibeli dan dijual

Sesiapa yang telah melakukan perdagangan harus tahu bahawa setiap varieti mempunyai keperibadiannya sendiri. Sesetengah jenis mempunyai personaliti yang sangat "panas", dengan kecairan yang baik, turun naik yang besar dan turun naik yang tinggi; sesetengah jenis mempunyai personaliti yang sangat "jinak", turun naik dalam julat tertentu sepanjang tahun dan mempunyai turun naik yang rendah.

Oleh itu, apabila memilih produk dagangan, anda mesti mempunyai konsep turun naik Produk dengan turun naik yang tinggi selalunya boleh membangunkan trend yang baik dengan mudah. Untuk niaga hadapan komoditi, jika ia merupakan strategi pengesanan arah aliran, cuba pilih produk perindustrian Dari segi atribut produk, produk perindustrian cenderung mempunyai turun naik yang lebih besar daripada produk pertanian.

Strategi yang berbeza menyesuaikan diri dengan keadaan pasaran yang berbeza, dan memilih produk dagangan yang betul adalah permulaan yang sangat kritikal untuk projek besar perdagangan niaga hadapan. Dalam erti kata yang mutlak, tidak ada jenis yang benar-benar baik atau jenis yang benar-benar buruk. Bergantung pada gaya pelaburan dan toleransi risiko anda, anda perlu membuat pelarasan yang sepadan dengan piawaian anda sendiri.

Berapa banyak untuk membeli dan menjual

Adalah mudah untuk kehilangan wang dalam perdagangan tetapi sukar untuk membuat wang Apabila dana akaun kehilangan 50%, keuntungan 100% diperlukan untuk memulihkan kerugian. Walaupun anda boleh untung 100% berkali-kali, anda hanya perlu rugi 100% sekali sahaja untuk kehilangan semuanya. Oleh itu, strategi perdagangan yang matang harus merangkumi pengurusan wang.

Untuk memudahkan semua orang memahami, strategi purata bergerak dari bahagian sebelumnya juga digunakan di sini. Malah, banyak strategi dagangan yang dibina dengan penunjuk teknikal tradisional secara amnya mempunyai kadar pengeluaran maksimum lebih daripada 50% atau lebih. Tetapi strategi yang sangat berisiko yang tidak dapat dilaksanakan sepenuhnya?

Jelas sekali tidak, kadar pengeluaran maksimum boleh dikawal sepenuhnya melalui pengurusan dana. Jika kedudukan dikurangkan separuh, risiko keseluruhan juga akan dikurangkan sebanyak separuh, dan kadar pengeluaran maksimum akan menjadi 30%. Jika kedudukan dikurangkan separuh lagi, kadar pengeluaran maksimum akan menjadi 15%. Ini adalah kaedah pengurusan wang yang mudah dan kasar. Ramai orang tahu bahawa mereka tidak boleh beroperasi dengan kedudukan penuh, tetapi mereka tidak tahu mengapa mereka tidak boleh beroperasi dengan kedudukan penuh Jawapannya ada di sini.

Bila hendak beli dan jual

Titik belian yang baik adalah separuh daripada kejayaan, kerana ia boleh membawa anda keluar dari kawasan kos dengan cepat. Tetapi tiada siapa yang boleh memberitahu anda bahawa bermula dari titik ini adalah betul dan bermula dari titik itu adalah salah. Membuka posisi bukan teras perdagangan Inti perdagangan adalah bagaimana untuk mengoptimumkan kedudukan sebanyak mungkin selepas membuka kedudukan.

Sama ada strategi jangka pendek atau strategi jangka panjang, yang penting bukanlah siapa yang memegang jawatan itu lebih lama, tetapi nisbah pulangan risiko. Dalam erti kata lain, hasil muktamad yang mempengaruhi prestasi strategi ialah cara untuk keluar dan bila untuk merealisasikan keuntungan. Kaedah keluar boleh dibahagikan kepada dua jenis: keluar stop loss dan keluar take profit. Kedua-dua bahagian ini diperlukan untuk mana-mana sistem perdagangan dan juga merupakan tadahan air penting yang menentukan kejayaan atau kegagalan strategi perdagangan.

Bagaimana untuk membeli dan menjual

1. Jenis dan kaedah membuat pesanan:
Terdapat banyak jenis dan kaedah membuat pesanan, seperti: menggunakan pesanan had giliran, harga rakan niaga, harga terkini, harga lebihan, harga had atas, harga had bawah, harga beli pertama, harga beli kedua, jual harga pertama, jual harga kedua, atau gunakan harga giliran dahulu dan kemudian lebihan harga, membuat pesanan dalam kelompok, atau membahagikan pesanan besar kepada semua pesanan kecil, atau secara langsung.

2. Batalkan pesanan
Jika pesanan tidak dilaksanakan, patutkah anda terus menunggu atau membatalkan pesanan itu?

3. Perintah susulan
Apabila perintah tidak dilaksanakan, sama ada untuk membuat susulan perintah itu. Jika anda mengejar pesanan, patutkah anda mengejarnya berdasarkan harga terkini, harga rakan niaga atau had harga Jika pesanan yang dikejar belum dilaksanakan lagi, adakah anda perlu terus mengejar pesanan itu?

4. Had Harga
Apakah yang perlu saya lakukan jika isyarat pesanan muncul pada harga had atas atau bawah? Sama ada perlu beratur untuk pelaksanaan pada harga had atas dan bawah, dan apa yang perlu dilakukan jika tiada pelaksanaan dilakukan.

5. Panggilan Lelong
Sekiranya anda menyertai lelongan pembukaan dan cara menyertainya.

6. Perdagangan Malam
Bagi sesetengah niaga hadapan komoditi, dagangan malam berlangsung dari 21:00 hingga 02:30 keesokan harinya Dalam tempoh ini, anda boleh memilih sama ada untuk melakukannya secara manual atau melalui komputer.

7. Perayaan besar
Adakah anda perlu mengekalkan jawatan anda sebelum cuti lebih panjang semasa perayaan utama? Bagaimana untuk mengawal risiko jika dikekalkan.

Keadaan Pasaran Melampau

  1. Turun naik harga yang besar dalam tempoh yang singkat
    Bagaimana untuk menangani situasi seperti had harga segera, had harga berterusan, pesanan yang salah, rempuhan harga pasaran black swan, dsb.

  2. Risiko kecairan
    Jika rakan niaga tidak mempunyai volum pesanan yang anda mahukan, tetapi anda perlu menyelesaikan urus niaga tepat pada masanya, terutamanya apabila kecairan kontrak bukan utama sangat lemah, pesanan yang anda buat dengan mudah boleh menyebabkan kesan kepada pasaran dan kegelinciran adalah besar, bagaimana anda harus menanganinya?

  3. Perubahan dalam peraturan pelbagai
    Produk niaga hadapan komoditi ditambah pada dagangan malam, nisbah margin meningkat, dan yuran pengendalian dinaikkan, khususnya, strategi jangka pendek akan menjadi sangat sensitif terhadap perubahan ini.

  4. Risiko persekitaran dagangan
    Sebagai contoh: cara bertindak balas apabila bekalan elektrik terputus secara tiba-tiba, gangguan Internet, kegagalan komputer, ranap perisian, penggantungan pemindahan masa hadapan bank, bencana alam, dsb.

Kebarangkalian situasi di atas berlaku adalah sangat kecil, atau hampir mustahil. Tetapi jika ia boleh berlaku, ia akan berlaku. Adalah perlu untuk membuat andaian ini dan mengambil langkah berjaga-jaga.

Pembinaan Psikologi

Tiga emosi psikologi utama yang biasa dalam perdagangan ialah tamak, takut dan tuah. Pelabur memerlukan sistem psikologi dagangan yang kukuh untuk mengawal dan juga menggunakan ketiga-tiga emosi di atas pada peringkat yang berbeza.

Sebelum berdagang, anda mesti mempunyai jangkaan keseluruhan untuk masa depan, termasuk jangkaan pasaran dan jangkaan psikologi untuk produk. Jangkaan pasaran merujuk kepada matlamat yang jelas untuk kedudukan pasaran dan hala tuju masa depan, dan jangkaan produk merujuk kepada peluang dagangan dan status risiko produk pada kedudukan semasanya. Tanpa asas psikologi di atas, tiada apa yang boleh dicapai.

Keseluruhan proses perdagangan sebenar adalah proses analisis berterusan, pembetulan dan pelaksanaan Tidak banyak masa dihabiskan untuk berdagang, tetapi lebih banyak masa dihabiskan untuk menjejaki dan bersabar. Ini adalah proses yang mengkaji secara menyeluruh mentaliti dan menguji sifat manusia Semua tabiat pedagang akan dipaparkan sepenuhnya dan diperbesarkan semasa proses perdagangan. Hanya dengan sentiasa belajar dan meringkaskan pengalaman dan pengajaran, dan terus menimba pengalaman, kita boleh mengatasi pemikiran biasa dan kelemahan psikologi sifat manusia.

ringkaskan

Kesimpulannya, apa yang dipanggil strategi perdagangan sebenarnya seperti ini Ia mempunyai sisi yang sempurna dan sisi yang tidak lengkap Apabila kita mengukur sama ada strategi perdagangan itu munasabah, kita tidak boleh hanya melihat sisi yang sempurna atau sisi yang tidak lengkap.

Akhir sekali, berdasarkan ciri-ciri strategi, digabungkan dengan keperibadian dan keadaan kewangan anda sendiri, ukur sama ada strategi itu sesuai untuk anda Jika ia sesuai untuk anda, anda harus menilai sepenuhnya sejauh mana kemungkinan anda mematuhinya, dan merancang untuk hasil yang paling teruk terlebih dahulu Jika anda telah memikirkan senario kes terburuk, maka kemungkinan untuk melaksanakannya adalah agak tinggi.

Ingat, dalam perdagangan, keyakinan datang daripada pengiktirafan ikhlas anda, dan keyakinan datang daripada falsafah dagangan yang betul!

Pratonton Bahagian Seterusnya

Ini adalah artikel terakhir bab pertama Dalam bab seterusnya, kami akan menerangkan lebih lanjut alat perdagangan kuantitatif, termasuk: pengenalan keseluruhan kepada alat kuantitatif, cara mengkonfigurasi sistem perdagangan kuantitatif, penjelasan API biasa, dan cara menulis strategi pada sistem kuantitatif.

Kerja rumah

  1. Patutkah strategi perdagangan trend memilih produk turun naik tinggi atau produk turun naik rendah?
  2. Apakah jenis pesanan dagangan?

Bab 2 Pengenalan kepada Alat Kuantitatif

2.1 Pengenalan Keseluruhan kepada Alat Kuantitatif

ringkasan

Dalam bab sebelumnya, kami mempelajari tentang konsep perdagangan kuantitatif yang relevan dan memperoleh pemahaman asas tentang perdagangan kuantitatif. Jadi apakah alat untuk perdagangan kuantitatif di pasaran? Bagaimanakah kita harus memilih mengikut keperluan kita?

Perisian sumber terbuka dan komersial
Alat perdagangan kuantitatif domestik secara amnya boleh dibahagikan kepada dua kategori: perisian sumber terbuka dan perisian komersial. Apa yang dipanggil perisian sumber terbuka boleh difahami sebagai perisian yang kod sumbernya terbuka dan boleh dimuat turun terus untuk digunakan perisian komersial secara amnya merujuk kepada perisian sumber tertutup yang diselenggara dan dikendalikan oleh syarikat komersial, yang biasanya dibayar.

Perisian Kuantitatif Sumber Terbuka

Pertama sekali, perisian sumber terbuka mempunyai fleksibiliti yang hebat dan sepenuhnya percuma Pengguna pada asasnya boleh menggunakan perisian ini untuk melaksanakan sebarang fungsi, sama ada strategi perdagangan frekuensi sederhana atau rendah, strategi arbitraj atau strategi pilihan, yang boleh dicapai melalui modul tersuai Memandangkan pengguna mengawal kod sumber perisian dan boleh memahami setiap sudut perisian, ia lebih dipercayai dan selamat.

Walaupun perisian sumber terbuka mempunyai banyak kelebihan, ia tidak begitu mesra kepada pemula perdagangan kuantitatif Anda perlu mempelajari bahasa pengaturcaraan standard secara sistematik seperti Python, Java atau C++. Dari mula berputus asa, kesukaran itu boleh dibayangkan Kadangkala, pepijat menyahpepijat boleh membuat anda meragui kehidupan anda. Dan tidak seperti perisian komersial, terdapat perkhidmatan pelanggan teknikal khusus untuk menjawab soalan anda dengan serta-merta. Anda bukan sahaja tidak akan merasai pencapaian pada masa ini, tetapi ia juga akan menghalang anda daripada terus belajar.

Oleh itu, dari perspektif pembelajaran, adalah disyorkan bahawa pemula perdagangan kuantitatif memulakan langkah demi langkah, bermula dengan perisian komersil yang paling mudah Walaupun ia dibayar, jika strateginya menguntungkan, yuran perisian hanya sebahagian kecil daripada keuntungan Selain itu, perisian komersial secara amnya diselenggara oleh pasukan, dan kematangannya pasti lebih kuat daripada perisian sumber terbuka.

Perisian Kuantitatif Perniagaan

Terdapat berpuluh-puluh perisian komersil untuk perdagangan kuantitatif di China, seperti: Broker Interaktif, yang profesional, komprehensif dan mempunyai banyak produk, yang boleh mengendalikan data serentak besar-besaran dan sesuai untuk perdagangan frekuensi tinggi, yang menyokong antara muka C++ dan mempunyai kecekapan pelaksanaan yang baik, yang memfokuskan pada pelaksanaan transaksi, dan MC; Dalam rajah di bawah, kami telah menjalankan penilaian menyeluruh terhadap platform kuantitatif domestik arus perdana dan juga membuat klasifikasi tertentu kesukaran alat kuantitatif Pembaca boleh memilih mengikut situasi sebenar mereka.
img
Rajah 2-1 Penilaian komprehensif platform kuantitatif domestik arus perdana

Walaupun di atas adalah perisian komersial, mereka juga menggunakan bahasa pengaturcaraan standard atau bahasa skrip Daripada melakukan ini, adalah lebih baik untuk terus menggunakan perisian sumber terbuka yang percuma dan selamat. Adalah disyorkan untuk pemula untuk menggunakan Platform Kuantitatif FMZ Inventor secara langsung, laman webnya ialah www.fmz.com. Sebagai batu loncatan untuk mempelajari perdagangan kuantitatif.

Temui pencipta alat perdagangan kuantitatif

Alat kuantitatif pencipta adalah mesra kepada orang baru Walaupun anda tidak mempunyai pengetahuan asas, anda boleh mengalami daya tarikan analisis kuantitatif berdasarkan alat di dalamnya. Alat ini direka untuk perdagangan frekuensi tinggi dan mempunyai keperluan yang ketat pada prestasi dan keselamatan. Sokong strategi frekuensi tinggi, strategi arbitraj dan strategi aliran. Dan ia menyepadukan proses lengkap pembangunan strategi, ujian, pengoptimuman, simulasi dan perdagangan sebenar. Selain itu, ia menyokong kedua-dua bahasa Mai yang ringkas dan mudah digunakan serta bahasa dagangan kuantitatif lanjutan seperti Python dan C++, yang bermaksud penukaran lancar selepas satu pembelajaran. Dan hanya perdagangan sebenar dicaj 0.125 yuan/jam, yang mengurangkan kos perisian anda semasa peringkat pembelajaran Pada masa yang sama, anda boleh melakukan dagangan simulasi secara percuma.

Mengambil langkah pertama ke arah kuantifikasi: menggunakan alat kuantitatif

Alat kuantitatif sangat mudah digunakan Anda hanya perlu memasuki laman web dan klik padanya untuk mereka bentuk strategi kuantitatif anda sendiri. Anda boleh log masuk ke laman web rasmi Alat Kuantitatif Pencipta, daftar dan log masuk, dan klik pada pusat kawalan untuk menggunakannya (seperti yang ditunjukkan di bawah Ia serupa dengan TikTok yang popular pada masa ini Selepas pendaftaran dan log masuk, anda boleh menyiarkan video pendek anda sendiri, dan selepas log masuk ke alat kuantitatif, anda boleh merancang strategi perdagangan kuantitatif anda sendiri.

img
Rajah 2-2 Halaman utama platform dagangan kuantitatif FMZ

Akan ada kawasan fungsi terpusat untuk alat kuantitatif pengaturcaraan Kawasan fungsi terutamanya termasuk (seperti yang ditunjukkan di bawah). Bagi penggunaan fungsi tertentu, kami akan memperkenalkannya secara terperinci dalam artikel berikutnya. Pada masa ini, kami hanya melakukan kerja awal.

img
Rajah 2-3 Halaman pengurusan selepas log masuk ke platform dagangan kuantitatif FMZ

Rakan yang baru dalam penyelidikan kuantitatif tidak perlu berkecil hati kerana tidak memahami kod dan pengaturcaraan. Untuk menurunkan ambang untuk pengguna, komuniti rasmi telah menghasilkan banyak tutorial video untuk membantu pemula perdagangan kuantitatif bermula dengan cepat pada masa yang sama, Dataran Strategi mengagregatkan beribu-ribu strategi perdagangan bebas dan terbuka rasmi dan pihak ketiga untuk disalin dan dipelajari oleh semua orang;

Selain itu, sampel strategi klasik juga dikonfigurasikan dalam antara muka penyuntingan strategi Anda boleh terus menggunakan kod strategi dengan mengkliknya, dan dengan mudah mengalami proses teras keseluruhan perdagangan kuantitatif Malah pengguna baru boleh mempelajarinya dengan segera dan mengikutinya.

Sebelum perdagangan wang sebenar, perdagangan simulasi juga merupakan langkah yang sangat diperlukan Perdagangan simulasi alat ini mematuhi peraturan pertukaran dan benar-benar percuma Masa, harga, jumlah pesanan, dll. yang disertakan dalam simulasi dipadankan dengan pasaran sebenar dalam masa nyata, yang sangat konsisten dengan perdagangan sebenar. Sangat meningkatkan kecekapan pengesahan strategi.

ringkaskan

Sama ada perisian sumber terbuka atau perisian komersial, tidak ada perbezaan antara yang baik dan buruk, dan tidak ada alat perdagangan kuantitatif yang sempurna Setiap alat mempunyai fokusnya sendiri Perkara yang paling penting ialah memilih alat yang sesuai dengan keperluan anda. Perisian komersial memerlukan pembayaran, dan ia mempunyai perkhidmatan yang lebih baik dan sebagainya, dan mungkin lebih sesuai untuk pemula yang baru memasuki industri ini. Jika anda telah berada dalam industri ini untuk masa yang lama dan telah mengumpul banyak pengalaman, atau perlu melaksanakan strategi perdagangan yang lebih kompleks, perisian sumber terbuka adalah pilihan yang lebih baik.

Pratonton Bahagian Seterusnya

Bagaimana untuk menggunakan alatan? Sama seperti apabila kami membeli telefon mudah alih baharu dan perlu melakukan tetapan permulaan yang mudah apabila kami menghidupkannya buat kali pertama, alat kuantitatif juga memerlukan tetapan dan konfigurasi asas Dalam bahagian seterusnya, kami akan membimbing anda langkah demi langkah untuk mengkonfigurasi alat dagangan kuantitatif Pencipta. Buka pintu pertama kepada perdagangan kuantitatif, termasuk: menambah pertukaran, menambah penjaga, mencipta strategi dagangan, mencipta robot kuantitatif, dsb. Selepas melengkapkan konfigurasi asas, anda boleh menulis strategi kuantitatif pertama anda secara rasmi.

Kerja rumah

  1. Apakah dua kategori utama alat dagangan kuantitatif?
  2. Apakah bahasa pengaturcaraan kuantitatif yang biasa digunakan?

2.2 Bagaimana untuk mengkonfigurasi Sistem Perdagangan Kuantitatif Pencipta

ringkasan

Apabila membangunkan strategi dagangan kuantitatif, perkara pertama yang perlu dilakukan ialah mengkonfigurasi alat dagangan Apakah konfigurasi? Ia sebenarnya hanya tetapan. Dalam bahagian ini, kami akan membimbing anda melalui penyediaan pertukaran, mencipta strategi perdagangan dan mencipta robot dagangan kuantitatif, yang kesemuanya merupakan prasyarat yang diperlukan untuk perdagangan kuantitatif.

Konfigurasi ini dibahagikan kepada konfigurasi perdagangan simulasi pembelajaran peringkat permulaan dan konfigurasi dagangan masa nyata Dalam kategori ini, kami memberi tumpuan terutamanya pada niaga hadapan komoditi domestik Lain-lain jenis pelaburan kuantitatif tidak disyorkan atau diperkenalkan kerana keadaan domestik tertentu, tetapi proses operasi adalah sama, hanya proses konfigurasi yang berbeza.

Tambah bursa

Menambah pertukaran ialah langkah pertama dalam keseluruhan proses konfigurasi Sila lihat rajah di bawah untuk proses tertentu. Dalam langkah ini, kita perlu menekankan bahawa menambah pertukaran tidak sukar bagi mereka yang tidak pasti pertukaran yang mereka milik. Adalah disyorkan untuk mensimulasikan pembelajaran terlebih dahulu.
img
Rajah 2-4 Pendaftaran platform dagangan kuantitatif FMZ dan menambah langkah pertukaran

Konfigurasi Bursa Hadapan Komoditi (Langsung).

Dagangan kuantitatif masa nyata kami tertumpu terutamanya pada produk dagangan niaga hadapan domestik Pada masa ini, objek perkhidmatan utama Inventor Quantitative juga adalah pertukaran niaga hadapan domestik Bagi rakan yang melakukan pertukaran asing, Inventor Quantitative boleh digunakan sebagai platform pembelajaran, kerana dagangan kuantitatif pertukaran asing telah pun muncul di platform seperti MT5, tetapi ia lebih profesional.

Isu yang perlu diberi perhatian dalam konfigurasi masa nyata adalah seperti berikut: Memandangkan alat kuantitatif pencipta menyokong pelbagai pasaran dagangan, apabila mengkonfigurasi niaga hadapan komoditi, anda mesti terlebih dahulu memilih "niaga hadapan tradisional" dalam langkah 1, anda perlu mengisi akaun niaga hadapan dan kata laluan yang diberikan kepada anda oleh syarikat niaga hadapan tempat anda membuka akaun.

Alat kuantitatif pencipta menggunakan protokol CTP dan menyokong semua syarikat niaga hadapan domestik Apabila mengkonfigurasi pasaran sebenar, tidak akan ada kegagalan pautan melainkan akaun dan kata laluan salah Oleh itu, pemula harus memberi perhatian untuk menyemak akaun dan kata laluan dengan jelas.
img
Rajah 2-5 Platform dagangan kuantitatif FMZ menambah pertukaran niaga hadapan

Konfigurasi Bursa Hadapan Komoditi (Simulasi).

Bagi rakan-rakan yang baru dalam niaga hadapan komoditi, saya cadangkan anda mensimulasikan dagangan untuk tempoh masa dahulu, kerana dalam proses membangunkan strategi dagangan kuantitatif, ujian berterusan, penyahpepijatan dan pengoptimuman diperlukan. Sama seperti memandu, anda pasti akan menghabiskan beberapa bulan belajar di sekolah memandu pada mulanya, dan kemudian anda boleh pergi ke jalan raya selepas lulus ujian dan mendapatkan lesen anda.

Di sini kami mengesyorkan menggunakan dagangan simulasi SimNow ialah platform dagangan simulasi kewangan yang dicipta khas oleh Teknologi Shangqi untuk pelabur Produk ini mensimulasikan peraturan perdagangan dan penyelesaian pelbagai bursa dan kini menyokong perniagaan niaga hadapan komoditi untuk proses khusus, sila lihat rajah di bawah.
img
Rajah 2-6 Halaman pengurusan platform dagangan kuantitatif FMZ selepas log masuk

Penulisan Strategi

Pustaka strategi ialah tempat kod disimpan, yang bersamaan dengan gudang strategi dagangan kuantitatif kami. Ia terbahagi kepada dua fungsi: penulisan strategi dan ujian balik simulasi. Kawasan penulisan strategi adalah kawasan kerja utama kami untuk membangunkan strategi pada masa hadapan (seperti yang ditunjukkan di bawah, ramai pemula sering disekat oleh pelbagai kod dan mendapati ia sangat sukar, selagi anda memberi sedikit perhatian, anda boleh mempelajari kod ini. Kawasan ujian belakang simulasi boleh digunakan untuk menyahpepijat strategi semasa proses pembangunan strategi, serta untuk menguji strategi selepas pembangunan strategi selesai Kami akan menerangkan perkara ini secara terperinci dalam bab berikut.
img
Rajah 2-7 Langkah untuk membuat dasar

Mencipta robot dagangan kuantitatif

Robot dagangan kuantitatif ialah pelaksana strategi dagangan Sebaik sahaja strategi dibuat, cipta robot yang secara automatik boleh membantu anda melaksanakan setiap logik dagangan dalam kod strategi, serta membuka dan menutup kedudukan, menarik balik pesanan dan operasi jual beli yang lain. Langkah-langkah khusus untuk mencipta robot dagangan kuantitatif adalah seperti berikut: Pertama, langkah ①: Pada halaman pusat kawalan, klik "Robot", klik "Buat Robot" Langkah ②: Beri robot nama tersuai. Langkah 3: Klik tanda “+” untuk menambah platform dagangan. Langkah 4: Klik "Buat Robot"
img
Rajah 2-8 Langkah-langkah untuk mencipta robot

ringkaskan

Dalam proses di atas, kecuali untuk langkah pertama memilih perdagangan dan simulasi sebenar, langkah seterusnya menulis strategi dan mencipta robot dagangan adalah langkah bersatu. Keseluruhan alat kuantitatif telah dikonfigurasikan, robot dagangan sudah berjalan, dan akan melaksanakan operasi jual beli mengikut syarat khusus strategi. Terdapat tiga langkah untuk mengkonfigurasi dagangan kuantitatif: tambah pertukaran dan isikan kata laluan akaun niaga hadapan anda dan buat robot dagangan kuantitatif masa nyata; Bukankah ia mudah?

Pratonton Bahagian Seterusnya

Walaupun perdagangan kuantitatif boleh dicapai hanya dalam tiga langkah mudah, anda mungkin mendapati bahawa menambah pertukaran dan mencipta robot dagangan kuantitatif adalah mudah. Walau bagaimanapun, melaksanakan strategi dagangan yang berdaya maju bukanlah semudah itu. Dalam bahagian seterusnya, kami akan membawa anda mempelajari API yang biasa digunakan dalam perdagangan kuantitatif untuk bersedia untuk menulis strategi dagangan yang boleh dilaksanakan. Kerana tidak kira apa jenis alat perdagangan kuantitatif yang digunakan, ia tidak dapat dipisahkan daripada antara muka API, yang merupakan fungsi penting untuk merealisasikan strategi perdagangan kuantitatif.

Kerja rumah

  1. Cuba tambah pertukaran.
  2. Cuba tulis strategi dagangan dalam bahagian ini.

2.3 Penjelasan API Biasa

ringkasan

Apabila bercakap tentang pengaturcaraan, kita tidak boleh mengelakkan API Bagi kebanyakan orang bukan IT, apakah sebenarnya API? API ≈ Saya tidak faham. Dalam bahagian ini, kami akan menerangkan dalam bahasa mudah apa itu API dan memperkenalkan API yang biasa digunakan dalam alat kuantitatif pencipta.

Apakah API?

Jika anda mencari dalam talian, anda akan mendapat keputusan berikut: API (Application Programming Interface) ialah satu set fungsi yang dipratentukan yang bertujuan untuk menyediakan aplikasi dan pembangun dengan keupayaan untuk mengakses set rutin berdasarkan perisian atau perkakasan tertentu tanpa perlu mengakses kod sumber atau memahami butiran mekanisme kerja dalaman. Jadi, untuk meletakkannya dengan lebih mudah, apakah sebenarnya API?

Sebenarnya, dalam kehidupan seharian kita, kita mempunyai banyak senario yang serupa dengan API Sebagai contoh, apabila anda pergi ke restoran untuk makan, anda hanya perlu melihat menu dan memesan makanan, tanpa perlu tahu bagaimana ia dibuat. Nama hidangan dalam menu ialah API khusus dan menu ialah dokumentasi API.

Apakah API dalam perdagangan kuantitatif?

Jika anda perlu mendapatkan harga pembukaan produk semasa hari ini, anda tidak perlu tahu bagaimana untuk mendapatkannya. Anda hanya perlu menulis "OPEN" dalam editor kod dan menggunakannya secara langsung "OPEN" ialah API harga pembukaan dalam bahasa Mai.

API bahasa Mai yang biasa digunakan

Sebelum menerangkan API Bahasa Mai, mari kita lihat struktur kod biasa dan komponen fungsinya. Ini akan membantu anda memahami API dengan lebih baik.
img
Rajah 2-9 Contoh bahasa Mai

Seperti yang ditunjukkan dalam kod di atas:
AA ungu ialah pembolehubah Pembolehubah ialah kuantiti yang boleh berubah, sama seperti algebra yang kita pelajari di sekolah rendah. Jika harga pembukaan ditetapkan kepada AA, maka AA ialah harga pembukaan; jika harga tertinggi ditetapkan kepada AA, maka AA ialah harga tertinggi. Sudah tentu, AA hanyalah nama tersuai, anda juga boleh mentakrifkannya sebagai BB.

Hijau ":=" bermaksud tugasan, yang bermaksud memberikan nilai di sebelah kanan ":=" kepada pembolehubah di sebelah kiri.

Kod oren ialah API bahasa Mai bagi Alat Kuantitatif Pencipta Sila ambil perhatian bahawa OPEN dalam baris pertama ialah API untuk mendapatkan harga penutupan, yang boleh digunakan secara langsung MA dalam baris kedua ialah API untuk mendapatkan purata bergerak, yang memerlukan dua parameter untuk dilalui, iaitu, anda perlu memberitahu Alat Kuantitatif Pencipta, yang anda perlukan untuk mengira purata harga pada moving 0 yang anda perlukan: ia sebagai: MA(OPEN,50);

“//” kuning ialah simbol ulasan, dan aksara Cina biru di belakangnya ialah kandungan ulasan Ini adalah untuk anda baca sendiri, dan digunakan untuk menunjukkan maksud baris kod tersebut. Program ini tidak memproses ulasan apabila ia dijalankan. Ambil perhatian bahawa sebelum aksara ulasan, setiap baris kod mesti mempunyai koma bertitik Inggeris sebagai penghujung baris.

Dengan pemahaman asas struktur kod, kami akan memperkenalkan beberapa bahasa yang biasa digunakan kepada anda di bawah, dan kami juga akan menggunakan bahasa ini dengan kerap pada masa hadapan.
BUKA——Dapatkan harga pembukaan K-line terkini
Contoh: AA: =OPEN; Dapatkan harga pembukaan K-line terkini dan tetapkan hasilnya kepada AA

TINGGI——Dapatkan harga tertinggi K-line terkini
Contoh: AA: =HIGH; Dapatkan harga tertinggi K-line terkini dan tetapkan hasilnya kepada AA

RENDAH——Dapatkan harga terendah K-line terkini
Contoh: AA: =RENDAH; Dapatkan harga terendah K-line terkini dan tetapkan hasilnya kepada AA

TUTUP——Dapatkan harga penutupan terkini K-line Apabila K-line intraday belum selesai, dapatkan harga terkini
Contoh: AA: =CLOSE; Dapatkan harga penutupan K-line terkini dan tetapkan hasilnya kepada AA

VOL——Dapatkan volum transaksi K-line terkini
Contoh: AA: =VOL; Dapatkan volum transaksi K-line terkini dan tetapkan hasilnya kepada AA

REF(X,N) - Merujuk nilai kitaran X N yang lalu.
Contoh: REF(CLOSE,1); Dapatkan harga pembukaan K-line sebelumnya

MA(X,N)——Cari purata bergerak mudah X dalam N tempoh
Contoh: MA(CLOSE,10); //Dapatkan purata bergerak 10 tempoh K-line terkini

CROSSUP(A,B)——Apabila A melintasi B dari bawah ke atas, ia mengembalikan 1 (Ya), jika tidak ia mengembalikan 0 (Tidak)
Contoh: CROSSUP(CLOSE,MA(C,10)) // Harga penutupan melepasi harga purata 10 tempoh

CROSSDOWN(A,B)——Apabila A melintasi B dari atas, ia mengembalikan 1 (Ya), jika tidak ia mengembalikan 0 (Tidak)
Contoh: CROSSDOWN(CLOSE,MA(C,10)) // Harga penutup melintasi di bawah harga purata 10 tempoh

BK——Posisi Pembukaan Beli
Contoh: TUTUP>MA(TUTUP,5),BK; //Harga penutupan lebih besar daripada purata bergerak 5 tempoh, kedudukan beli

SP——Jual untuk menutup kedudukan
Contoh: CLOSE<MA(CLOSE,5),SP; // Harga penutupan kurang daripada purata bergerak 5-tempoh, jual dan tutup kedudukan

SK——Jawatan Pembukaan Jual
Contoh: TUTUP<MA(TUTUP,5),SK; //harga penutupan kurang daripada purata bergerak 5 tempoh, kedudukan jual

BP——Beli untuk Tutup
Contoh: TUTUP>MA(TUTUP,5),BP; //Harga penutupan adalah lebih tinggi daripada purata bergerak 5 tempoh, beli dan kedudukan tutup

BPK——Beli untuk menutup kedudukan, dan beli untuk membuka kedudukan (reverse long position)
Contoh: TUTUP>MA(TUTUP,5),BPK; // Harga penutupan adalah lebih besar daripada purata bergerak 5 tempoh, tutup kedudukan jual dan kemudian beli untuk membuka kedudukan baharu.

SPK——Jual untuk menutup kedudukan dan jual untuk membuka kedudukan (jualan pendek)
Contoh: CLOSE<MA(CLOSE,5),SPK; // Harga penutupan adalah kurang daripada purata bergerak 5-tempoh, tutup kedudukan beli dan kemudian jual kedudukan terbuka.

CLOSEOUT——Tutup semua kedudukan, disyorkan untuk digunakan dalam model peningkatan dan penurunan kedudukan. Contoh: CLOSEOUT; tutup semua kedudukan dalam semua arah.

API bahasa JavaScript yang biasa digunakan

Sebelum menerangkan API bahasa JavaScript, mari kita lihat struktur kod biasa dan komponen fungsinya. Ini akan membantu anda memahami API dengan lebih baik.
img
Rajah 2-10 contoh kod JavaScript

Seperti yang ditunjukkan dalam kod di atas:
Mencipta pembolehubah dalam bahasa JavaScript sering dirujuk sebagai "mengisytiharkan" pembolehubah. Dalam kod merah, kami menggunakan kata kunci var untuk mengisytiharkan pembolehubah, dan nama pembolehubah adalah dalam kod oren: "aa".

Dalam JavaScript, tanda sama digunakan untuk menetapkan nilai, iaitu, nilai di sebelah kanan "=" diberikan kepada pembolehubah di sebelah kiri.
Kod cyan "pertukaran" ialah objek pertukaran. Pertukaran di sini merujuk kepada syarikat niaga hadapan yang anda tetapkan. Ini adalah format tetap, yang bermaksud bahawa apabila anda memanggil API bahasa JavaScript, anda mesti menentukan objek pertukaran.

Kod hijau ialah API JavaScript Apabila kita memanggilnya, kita sebenarnya memanggil fungsi dalam objek pertukaran. Perhatikan titik selepas kod biru, yang juga merupakan format tetap. Fungsi di sini adalah sama dengan fungsi yang kita pelajari di sekolah menengah. Jika fungsi tidak memerlukan parameter, gunakan kurungan kosong untuk menunjukkannya jika fungsi mesti lulus dalam parameter, tulis parameter di dalam kurungan.

Selepas memahami struktur asas dan prinsip kod melalui contoh, kami akan menunjukkan kepada anda beberapa API bahasa JavaScript yang sering anda gunakan pada masa hadapan.
SetContractType("Kod Produk")——Tetapkan jenis kontrak, iaitu produk yang ingin anda jual
Contoh: exchange.SetContractType("rb1905"); //Tetapkan jenis transaksi kepada "Rebar 1905 Contract"

GetTicker——Dapatkan data Tick
Contoh: exchange.GetTicker(); //Dapatkan data Tick

GetRecords——Dapatkan data K-line
Contoh: exchange.GetRecords(); //Dapatkan data K-line

Beli
Contoh: tukar.Beli(5000, 1); //Beli satu lot pada 5000 yuan

Jual——Beli
Contoh: pertukaran.Jual(5000, 1); //Jual satu lot pada 5,000 yuan

GetAccount——Dapatkan maklumat akaun
Contoh: exchange.GetAccount(); //Dapatkan maklumat akaun

GetPosition——Dapatkan maklumat kedudukan
Contoh: exchange.GetPosition(); //Dapatkan maklumat kedudukan

SetDirection——Tetapkan jenis pesanan panjang atau pendek
Contoh:
exchange.SetDirection("beli"); //Tetapkan jenis pesanan untuk membeli untuk membuka kedudukan panjang
exchange.SetDirection("closebuy"); //Tetapkan jenis pesanan untuk menjual kepada menutup posisi beli
exchange.SetDirection("sell"); //Tetapkan jenis pesanan untuk dijual untuk membuka kedudukan jual
exchange.SetDirection("closell"); //Tetapkan jenis pesanan untuk membeli untuk menutup kedudukan jual

Log - Keluarkan mesej dalam log
Contoh: Log("hello, world"); // Keluarkan "hello world" dalam log

Tidur - Jeda program untuk tempoh masa
Contoh: Tidur(1000); //Jeda program selama 1 saat

Sesetengah daripada anda mungkin mempunyai soalan, bagaimana untuk mengingati begitu banyak API di atas? Sebenarnya, anda tidak perlu menghafal semua ini. Laman web rasmi Inventor Quant mempunyai set dokumentasi API yang terperinci. Sama seperti mencari kamus, apabila anda memerlukannya, cari sahaja. Jangan takut dengan kod dan kandungan lain yang anda kenali untuk pertama kalinya. Apa yang kami mahu ialah mengatur strategi kami sendiri melalui bahasa ini. Harap ingat bahawa teknologi tidak pernah menjadi ambang pengiraan sama ada anda mempunyai strategi yang baik adalah kunci kepada sama ada anda boleh pergi ke pasaran kuantitatif.

ringkaskan

Di atas adalah API yang paling biasa digunakan dalam perdagangan kuantitatif, yang pada asasnya termasuk: mendapatkan data, mengira data, meletakkan pesanan beli dan jual, yang cukup untuk mengendalikan strategi perdagangan kuantitatif yang mudah Sudah tentu, jika anda ingin menulis strategi yang lebih kompleks, anda perlu pergi ke laman web rasmi Alat Kuantitatif Pencipta untuk mendapatkannya.

Kerja rumah

  1. Cuba tulis kenyataan dalam Bahasa Mai bahawa purata bergerak 5 tempoh melepasi purata bergerak 10 tempoh.
  2. Cuba gunakan GetAccount dalam JavaScript untuk mendapatkan maklumat akaun anda, dan cetaknya ke log menggunakan Log.

Pratonton Bahagian Seterusnya

Pengaturcaraan adalah seperti memasang blok Lego, API adalah seperti pelbagai bahagian blok, dan proses pengaturcaraan adalah untuk meletakkan pelbagai bahagian Lego bersama-sama menjadi mainan yang lengkap. Dalam bahagian seterusnya, saya akan membawa anda menggunakan API Bahasa Mai untuk menyusun strategi dagangan kuantitatif yang lengkap.

2.4 Cara menulis strategi pada Sistem Kuantitatif Pencipta

ringkasan

Selepas mengkaji bahagian sebelumnya, anda kini akhirnya boleh mula menulis strategi perdagangan kuantitatif. Ini akan menjadi langkah paling penting untuk anda beralih daripada perdagangan manual kepada perdagangan kuantitatif. Sebenarnya, ia tidak begitu misteri Menulis strategi tidak lebih daripada mengubah idea anda menjadi kod. Bahagian ini akan melaksanakan strategi perdagangan kuantitatif dari awal dan membiasakan anda dengan cara menulis strategi pada Sistem Kuantitatif Pencipta.

Sediakan

Pertama, buka laman web rasmi Alat Kuantitatif Pencipta, dan klik "Perpustakaan Strategi" dan "Strategi Baharu" perlu diperhatikan bahawa sebelum mula menulis kod, anda perlu memilih bahasa Mai atau bahasa JavaScript dalam menu lungsur bahasa pengaturcaraan Sudah tentu, platform juga menyokong bahasa Python, C++ dan visual.

Idea strategik

Dalam bab sebelumnya, kami memperkenalkan strategi untuk penembusan harga melalui purata bergerak. Iaitu: jika harga lebih tinggi daripada harga purata 10 hari lepas, beli jika harga lebih rendah daripada harga purata 10 hari lepas, jual. Walau bagaimanapun, walaupun harga boleh mencerminkan secara langsung status pasaran, akan terdapat banyak isyarat terobosan palsu, jadi kami perlu meningkatkan dan memperbaiki strategi ini.

Pertama, pilih purata bergerak tempoh yang lebih besar untuk menentukan arah aliran, yang sekurang-kurangnya telah menapis hampir separuh daripada isyarat terobosan palsu Walaupun purata pergerakan tempoh besar adalah perlahan, ia akan menjadi lebih stabil kemudian, untuk meningkatkan lagi kadar kejayaan kemasukan, tambah satu lagi syarat bahawa purata pergerakan tempoh yang besar ini adalah sekurang-kurangnya menaik, akhirnya, gunakan perhubungan kedudukan relatif bagi purata pergerakan harga, jangka pendek dan jangka panjang;

Logik Strategi

Dengan idea dan pemikiran strategik di atas, kita boleh cuba membina logik strategi. Logiknya di sini bukanlah untuk meminta anda mengira undang-undang pergerakan cakerawala; ia tidak begitu rumit. Ia tidak lebih daripada menyatakan idea strategik terdahulu dengan kata-kata.

Pembukaan kedudukan panjang: Jika tiada kedudukan semasa, dan harga penutupan adalah lebih besar daripada purata bergerak jangka pendek, dan harga penutupan adalah lebih besar daripada purata bergerak jangka panjang, dan purata bergerak jangka pendek lebih besar daripada purata bergerak jangka panjang, dan purata bergerak jangka panjang semakin meningkat.

Buka kedudukan pendek: Jika tiada kedudukan semasa, dan harga penutupan adalah kurang daripada purata bergerak jangka pendek, dan harga penutupan adalah kurang daripada purata bergerak jangka panjang, dan purata bergerak jangka pendek adalah kurang daripada purata bergerak jangka panjang, dan purata bergerak jangka panjang sedang jatuh.

Penutupan kedudukan panjang: Jika anda pada masa ini memegang pesanan panjang dan harga penutupan adalah kurang daripada purata bergerak jangka panjang, atau purata bergerak jangka pendek kurang daripada purata bergerak jangka panjang, atau purata bergerak jangka panjang semakin menurun.

Penutupan kedudukan pendek: Jika anda pada masa ini memegang pesanan pendek, dan harga penutupan adalah lebih besar daripada purata bergerak jangka panjang, atau purata bergerak jangka pendek lebih besar daripada purata bergerak jangka panjang, atau purata bergerak jangka panjang semakin meningkat.

Di atas adalah bahagian logik keseluruhan strategi dagangan kuantitatif Jika kita menukar versi teks logik strategi kepada kod, ia akan merangkumi tiga langkah: mendapatkan keadaan pasaran, mengira penunjuk dan meletakkan pesanan beli dan jual.

Strategi Bahasa

Langkah pertama adalah untuk mendapatkan maklumat pasaran Dalam strategi perdagangan kuantitatif ini, kita hanya perlu mendapatkan harga penutupan Dalam Bahasa Mai, API untuk mendapatkan harga penutupan ialah: TUTUP, anda hanya perlu menulis TUTUP dalam kod untuk mendapatkan harga penutupan K-line.

Kemudian datang penunjuk pengiraan Dalam strategi dagangan kuantitatif ini, kami menggunakan sejumlah 2 teknologi, iaitu: purata bergerak jangka pendek dan purata bergerak jangka panjang Kami menganggap bahawa purata bergerak jangka pendek ialah purata bergerak 10 tempoh dan purata bergerak jangka panjang ialah purata bergerak 50 tempoh untuk Jadi bagaimana kita mewakili purata pergerakan 50? Sila lihat rajah berikut:
img
Rajah 2-11 Kod strategi bahasa Mai

Dalam perdagangan manual, kita boleh melihat sepintas lalu sama ada purata bergerak 50 tempoh meningkat atau menurun, tetapi bagaimana kita menyatakannya dalam kod? Fikirkan dengan teliti, untuk menilai sama ada purata bergerak meningkat, bukankah nilai purata bergerak 50 tempoh garis K semasa adalah lebih besar daripada nilai purata pergerakan 50 tempoh garis K sebelumnya, dan nilai purata bergerak 50 tempoh garis K sebelumnya lebih besar daripada nilai purata pergerakan 50 tempoh garis K sebelumnya? Sebaliknya adalah benar, yang bermaksud purata bergerak jatuh. Jadi dalam kod, ia sepatutnya seperti ini:
img
Rajah 2-12 Kod purata bergerak penghakiman bahasa Mai

Perhatikan kod merah mawar "DAN" dalam baris 8 dan 9 dalam rajah di atas Ia bermaksud "dan" dalam bahasa Mai. Sebagai contoh, baris ke-9 diterjemahkan ke dalam bahasa Cina sebagai: Jika purata bergerak 50 tempoh garis K semasa adalah lebih besar daripada purata bergerak 50 tempoh garis K sebelumnya, dan purata bergerak 50 tempoh garis K sebelumnya adalah lebih besar daripada purata bergerak 50 tempoh garis K sebelumnya, maka nilainya dikira sebagai "y", sebaliknya nilai "y" dikira sebagai "y". 0_ISUP".

Langkah terakhir ialah membuat pesanan beli dan jual Anda hanya perlu memanggil API pesanan alat kuantitatif pencipta selepas kod logik beli dan jual untuk melaksanakan operasi beli dan jual. Sila lihat rajah berikut:
img
Rajah 2-13 Kod Transaksi Jual Beli Bahasa Mai

Perhatikan kod merah mawar "ATAU" dalam baris 13 dan 14 dalam gambar di atas Ia bermaksud "atau" dalam bahasa Mai. Sebagai contoh, baris 13 diterjemahkan ke dalam bahasa Cina sebagai: Jika harga penutupan garis K semasa adalah kurang daripada purata pergerakan 50 tempoh garisan K semasa, atau purata pergerakan 10 tempoh garisan K semasa adalah kurang daripada purata pergerakan 50 tempoh garisan K semasa, nilai dikira sebagai "ya" dan tiada pesanan dibuat dengan segera;

Sila ambil perhatian: "DAN" dan "ATAU" ialah pengendali logik dalam bahasa Mai:
"DAN" bermakna apabila semua syarat adalah "ya", syarat terakhir ialah "ya";
"ATAU" bermaksud bahawa antara semua syarat, selagi mana-mana satu syarat adalah "ya", syarat terakhir ialah "ya".

ringkaskan

Di atas adalah keseluruhan proses menulis strategi perdagangan dalam bahasa Mai pada Alat Kuantitatif Pencipta Terdapat hanya tiga langkah secara keseluruhan: daripada mempunyai idea strategi, untuk memikirkan strategi dan menerangkan logik dalam perkataan, dan akhirnya melaksanakan strategi perdagangan lengkap dengan kod. Walaupun ini adalah strategi mudah, proses pelaksanaan khusus adalah serupa dengan strategi yang lebih kompleks, kecuali algoritma dan struktur data strategi adalah berbeza. Oleh itu, selagi anda memahami dan menguasai proses strategi kuantitatif dalam bahagian ini, anda boleh menggunakan bahasa Mai untuk menjalankan penyelidikan strategi kuantitatif dan mempraktikkan alat kuantitatif pencipta mengikut keperluan.

Kerja rumah

  1. Cuba laksanakan sendiri strategi dalam bahagian ini.
  2. Berdasarkan strategi dalam bahagian ini, tambahkan fungsi henti untung dan henti rugi.

Pratonton Bahagian Seterusnya

Dalam pembangunan strategi perdagangan kuantitatif, bahasa pengaturcaraan adalah seperti senjata dan peralatan Bahasa pengaturcaraan yang baik boleh membantu anda mendapatkan dua kali ganda hasil dengan separuh usaha. Sebagai contoh, terdapat lebih daripada sedozen bahasa yang paling biasa digunakan dalam industri perdagangan kuantitatif, termasuk Python, C++, Java, C#, EasyLanguage, Bahasa Mai, dll. Senjata mana yang harus saya pilih untuk pergi ke medan perang? Dalam bahagian seterusnya kami akan memperkenalkan bahasa pengaturcaraan biasa ini dan ciri-ciri setiap bahasa pengaturcaraan.

Bab 3 Bahasa Pengaturcaraan Mudah untuk Melaksanakan Strategi Dagangan

3.1 Penilaian Mendatar Bahasa Pengaturcaraan Perdagangan Kuantitatif

ringkasan

Dalam Bab 1 dan Bab 2, kami mempelajari asas perdagangan kuantitatif dan cara menggunakan alat kuantitatif pencipta Dalam bab ini, kami akan melaksanakan strategi dagangan secara terperinci. Jika anda ingin melakukan kerja anda dengan baik, anda mesti mengasah alat anda terlebih dahulu. Untuk melaksanakan strategi dagangan, anda mesti terlebih dahulu menguasai bahasa pengaturcaraan. Bahagian ini mula-mula memperkenalkan bahasa pengaturcaraan arus perdana dalam perdagangan kuantitatif, serta ciri-ciri setiap bahasa pengaturcaraan.

Apakah itu Bahasa Pengaturcaraan

Sebelum mempelajari bahasa pengaturcaraan, anda mesti terlebih dahulu memahami konsep "bahasa pengaturcaraan". Bahasa pengaturcaraan adalah bahasa yang boleh difahami oleh manusia dan komputer Ia adalah kod komunikasi standard Tujuan bahasa pengaturcaraan adalah untuk menggunakan bahasa manusia untuk mengawal komputer dan memberitahu komputer apa yang kita mahu lakukan. Komputer boleh melaksanakan arahan mengikut bahasa pengaturcaraan, dan kami juga boleh menulis kod untuk mengeluarkan arahan kepada komputer.

Sama seperti ibu bapa kita mengajar kita bercakap semasa kita kecil, mereka juga mengajar kita bagaimana untuk memahami apa yang orang lain katakan. Selepas tempoh yang lama mempengaruhi dan belajar sendiri, kami belajar bercakap tanpa disedari dan dapat memahami apa yang dikatakan oleh kanak-kanak lain. Terdapat banyak bahasa, termasuk bahasa Cina, Inggeris, Perancis, dll. Contohnya:
Cina: Hello World
Bahasa Inggeris: Hello World
Bahasa Perancis: Bonjour tout le monde

Jika anda menggunakan bahasa pengaturcaraan untuk memaparkan "Hello World" pada skrin komputer, ia akan kelihatan seperti ini:
C language: puts("Hello World");
Bahasa Java: System.out.println("Hello World");
Bahasa Python: print("Hello World")
Kami dapat melihat bahawa bahasa komputer mempunyai peraturan khusus mereka sendiri, dan terdapat banyak bahasa ini adalah klasifikasi bahasa pengaturcaraan yang perlu kami jelaskan kepada anda hari ini Dalam setiap klasifikasi, kami hanya perlu mengingati peraturan yang paling asas dan biasa digunakan, dan kami boleh menggunakan bahasa pengaturcaraan ini untuk berkomunikasi dengan komputer dan membiarkan komputer menjalankan strategi yang sepadan mengikut arahan kami.

Klasifikasi bahasa pengaturcaraan

Untuk memudahkan rujukan dan perbandingan anda, dan untuk memilih bahasa pengaturcaraan perdagangan kuantitatif yang sesuai dengan anda, kami akan mengklasifikasikan enam bahasa pengaturcaraan yang paling biasa digunakan, iaitu Python, Matlab/R, C++, Java/C#, EasyLanguage dan bahasa visual (seperti yang ditunjukkan di bawah).
img
Rajah 3-1 Penilaian bahasa pengaturcaraan

Kami menilai mereka berdasarkan skop fungsinya, kelajuan larian, kebolehskalaan dan kesukaran pembelajaran. Skor adalah antara 1 dan 5. Contohnya, skor 5 dari segi julat fungsi bermakna fungsi itu berkuasa, dan skor 1 bermakna fungsi itu kurang. (Seperti yang ditunjukkan di atas) Bahasa visual dan EasyLanguage mudah dipelajari dan sangat sesuai untuk pemula Python adalah berkuasa dan mempunyai keupayaan pengembangan yang kuat, menjadikannya sesuai untuk membangunkan strategi perdagangan yang lebih kompleks C++ mempunyai kelajuan dagangan yang lebih pantas dan lebih sesuai untuk pedagang frekuensi tinggi;

Walau bagaimanapun, penilaian setiap bahasa pengaturcaraan adalah terutamanya bertujuan untuk aplikasinya dalam bidang perdagangan kuantitatif dan mengandungi elemen subjektif peribadi. Anda juga dialu-alukan untuk mengkritik di ruangan komen atau mengemukakan pandangan anda untuk perbincangan. Seterusnya, kami akan mula memperkenalkan bahasa pengaturcaraan ini satu persatu.

Bahasa Visual

Pengaturcaraan visual mempunyai sejarah yang panjang dan bukan baru. Konsep pengaturcaraan "apa yang anda lihat ialah apa yang anda dapat", dilengkapi dengan pelbagai modul kawalan, boleh membina logik kod dan reka bentuk strategi perdagangan yang lengkap hanya dengan menyeret dan menjatuhkan Proses ini hampir sama dengan blok binaan.
img
Rajah 3-2 Antara muka bahasa pengaturcaraan visual

Seperti yang ditunjukkan di atas, program yang sama boleh diselesaikan dengan hanya beberapa baris kod dalam pengaturcaraan visual Platform Dagangan Kuantitatif Pencipta. Ini sangat merendahkan ambang pengaturcaraan, yang merupakan pengalaman operasi yang hebat, terutamanya bagi pedagang yang tidak mempunyai pengetahuan tentang pengaturcaraan.

Memandangkan strategi pelaksanaan asas bahasa visual ini ditukar kepada C++, ia mempunyai sedikit kesan pada kelajuan berjalan program. Walau bagaimanapun, kefungsian dan skalabilitinya agak lemah, dan tidak mungkin untuk membangunkan strategi dagangan yang terlalu rumit atau canggih.

EasyLanguage

Apa yang dipanggil EasyLanguage merujuk kepada bahasa pengaturcaraan yang unik kepada beberapa perisian perdagangan kuantitatif komersial. Walaupun bahasa-bahasa ini juga mempunyai beberapa ciri berorientasikan objek, ia terutamanya ditulis dalam aplikasinya. Dari segi sintaks, ia juga sangat dekat dengan bahasa semula jadi kami Bagi pemula perdagangan kuantitatif, menggunakan EasyLanguage sebagai titik masuk adalah pilihan yang lebih baik. Contohnya: bahasa Mai dalam platform dagangan kuantitatif pencipta.

Bahasa skrip ini tidak mempunyai masalah melakukan ujian balik strategi dan perdagangan sebenar dalam perisian khususnya, tetapi ia selalunya terhad dari segi kebolehskalaan Contohnya, pembangun strategi tidak boleh memanggil API luaran. Selain itu, dari segi kelajuan berjalan, bahasa skrip ini berjalan pada mesin mayanya sendiri, dan pengoptimuman prestasinya tidak sebaik Java/C#, jadi ia lebih perlahan.

Python

Pada Stackoverflow, bilangan lawatan ke bahasa pengaturcaraan arus perdana sebahagian besarnya kekal tidak berubah dalam beberapa tahun kebelakangan ini, dengan hanya Python menunjukkan arah aliran menaik. Python boleh digunakan untuk pembangunan tapak web, pembelajaran mesin, pembelajaran mendalam, analisis data, dll. Oleh kerana fleksibiliti dan keterbukaannya, ia telah menjadi bahasa yang paling biasa. Perkara yang sama berlaku dalam bidang pelaburan kuantitatif Pada masa ini, kebanyakan platform kuantitatif domestik adalah berdasarkan Python.

Struktur data asas, senarai dan kamus Python, sangat berkuasa dan pada asasnya boleh memenuhi keperluan perwakilan data. Jika anda memerlukan struktur data yang lebih pantas dan komprehensif, disyorkan untuk menggunakan NumPy dan SciPy Kedua-dua perpustakaan ini pada asasnya dipanggil perpustakaan standard untuk pengkomputeran saintifik Python.

Untuk kejuruteraan kewangan, perpustakaan yang lebih disasarkan ialah Pandas, yang mempunyai dua struktur data, Siri dan DataFrame, dan sangat sesuai untuk memproses siri masa.

Dari segi kelajuan, Python berada di tengah, lebih perlahan daripada C++ dan lebih pantas daripada EasyLanguage, terutamanya kerana Python ialah bahasa dinamik dan kelajuannya adalah purata apabila berjalan dalam Python tulen. Walau bagaimanapun, anda boleh menggunakan Cython untuk mengoptimumkan beberapa fungsi secara statik untuk mendekati kelajuan C++.

Sebagai bahasa gam, Python adalah nombor satu yang tidak dapat dipertikaikan dari segi prestasi pengembangan Selain dapat menyambung ke bahasa lain secara meluas, API pengembangan juga direka bentuk agar mudah digunakan. Dari segi kesukaran pembelajaran, Python mempunyai sintaks yang mudah, kod yang sangat mudah dibaca dan mudah untuk dimulakan.

Matlab/R

Seterusnya ialah Matlab dan R. Kedua-dua bahasa ini digunakan terutamanya untuk analisis data. Pengarang bahasa telah membuat banyak reka bentuk sintaksis untuk operasi saintifik. Walau bagaimanapun, skop aplikasinya agak terhad, dan ia biasanya digunakan untuk analisis data dan ujian balik strategi. Untuk sistem perdagangan dan pembangunan algoritma strategi, kebolehgunaan dan kestabilannya agak lemah.

Di samping itu, kelajuan dan kebolehskalaan lariannya agak lemah kerana Matlab dan R dijalankan pada mesin maya bahasa yang unik. Dari segi prestasi, mesin maya mereka jauh lebih teruk daripada Java dan C#. Tetapi kerana sintaks mereka lebih dekat dengan ungkapan matematik, mereka lebih mudah dipelajari.

C++

C++ ialah bahasa pengaturcaraan tujuan umum yang menyokong pelbagai model pengaturcaraan, seperti pengaturcaraan prosedur, abstraksi data, pengaturcaraan berorientasikan objek, pengaturcaraan generik dan corak reka bentuk. Anda boleh menggunakan C++ untuk melaksanakan semua fungsi yang ingin anda capai, tetapi kelemahan terbesar bahasa berkuasa sedemikian ialah ia sangat sukar untuk dipelajari, seperti templat, penunjuk, kebocoran memori, dll.

Pada masa ini, C++ masih menjadi bahasa pengaturcaraan pilihan untuk perdagangan volum besar, frekuensi tinggi Sebabnya adalah mudah kerana ciri-ciri bahasa C++ lebih mudah untuk mendekati komputer asas, ia adalah alat yang paling berkesan untuk membangunkan sistem ujian belakang dan pelaksanaan berprestasi tinggi yang memproses sejumlah besar data.

Java/C#

Java/C# adalah kedua-dua bahasa statik yang dijalankan pada mesin maya Berbanding dengan C++, tiada ralat luar sempadan tatasusunan, tiada coredump, pengecualian yang dilemparkan dapat mengesan lokasi kod ralat dengan tepat, mereka mempunyai mekanisme pengumpulan sampah automatik mereka sendiri, tidak perlu risau tentang kebocoran memori, dsb. Oleh itu, dari segi kesukaran mempelajari sintaks, mereka juga lebih mudah daripada C++. Dari segi kelajuan berjalan, kerana mesin maya mereka semuanya mempunyai fungsi JIT mereka sendiri untuk penyusunan masa jalan, kelajuannya adalah yang kedua selepas C++.

Walau bagaimanapun, dari segi fungsi, adalah tidak mungkin untuk mengoptimumkan sistem dagangan asas seperti C++. Dari segi prestasi pengembangan, ia lebih lemah daripada C++ kerana pengembangan mereka perlu melalui jambatan C, dan kedua-dua bahasa ini sendiri dijalankan pada mesin maya, jadi apabila mengembangkan modul berfungsi, perlu melintasi lapisan dinding tambahan untuk mencapainya.

ringkaskan

Tetapi sekali lagi, bahasa pengaturcaraan kuantitatif tidak penting, yang penting ialah idea. Tidak ada masalah dalam menggunakan bahasa Mai kuantitatif dan bahasa visualisasi yang dicipta oleh pencipta sebagai batu loncatan kepada kemasukan kuantitatif Untuk menambah baik selepas kemasukan, anda perlu sentiasa mencuba dan meneroka dalam kombinasi dengan keadaan pasaran yang berbeza.

"Reka bentuk strategi anda, tukar idea anda." Dari perspektif ini, teras perdagangan kuantitatif masih berdagang idea. Sebagai pedagang kuantitatif, anda bukan sahaja perlu menguasai sintaks asas dan fungsi platform penulisan strategi, tetapi juga perlu mengalami konsep perdagangan dalam pertempuran sebenar. Kuantifikasi hanyalah alat dan pembawa untuk mencerminkan konsep perdagangan yang berbeza.

Kerja rumah

  1. Apakah kelebihan bahasa Python untuk perdagangan kuantitatif?
  2. Cuba tulis beberapa API yang biasa digunakan menggunakan bahasa Mai pencipta?

Pratonton Bahagian Seterusnya

Saya percaya bahawa dengan pengenalan bahasa pengaturcaraan di atas, anda mesti tahu bagaimana untuk memilih Dalam beberapa bab seterusnya, kita akan mempelajari pembangunan strategi perdagangan kuantitatif dengan cara yang disasarkan mengikut klasifikasi bahasa pengaturcaraan.

3.2 Panduan Mula Pantas untuk Bahasa Mai

ringkasan

Apakah Bahasa Mai? Apa yang dipanggil bahasa Mai ialah satu set perpustakaan fungsi terprogram yang dilanjutkan daripada petunjuk teknikal stok awal. Algoritma dirangkumkan ke dalam fungsi, dan pengguna hanya perlu memanggil fungsi baris demi baris seperti bermain dengan blok binaan untuk melaksanakan logik strategi.

Ia menggunakan mod pembinaan "sintaks kecil, fungsi besar", yang sangat meningkatkan kecekapan penulisan Strategi yang memerlukan lebih daripada 100 ayat dalam bahasa lain secara amnya boleh ditulis dalam hanya sedozen ayat dalam Bahasa Mai. Bersempena dengan perpustakaan fungsi statistik kewangan dan struktur data alat kuantitatif pencipta, ia juga boleh menyokong beberapa logik perdagangan yang kompleks.

Strategi Lengkap

Untuk membantu anda memahami dengan cepat pengetahuan utama bahagian ini, sebelum memperkenalkan Permulaan Pantas Bahasa Gandum Terkuantiti Pencipta, anda harus terlebih dahulu mempunyai pemahaman awal tentang konsep dalam bahagian ini. Kami masih menggunakan purata bergerak 50 hari jangka panjang dan purata bergerak 10 hari jangka pendek sebagai kes asas dan menyemak kes strategi lengkap yang dinyatakan dalam bab sebelumnya:

Pembukaan kedudukan panjang: Jika tiada kedudukan semasa, dan harga penutupan adalah lebih besar daripada purata bergerak jangka pendek, dan harga penutupan adalah lebih besar daripada purata bergerak jangka panjang, dan purata bergerak jangka pendek lebih besar daripada purata bergerak jangka panjang, dan purata bergerak jangka panjang semakin meningkat.

Buka kedudukan pendek: Jika tiada kedudukan semasa, dan harga penutupan adalah kurang daripada purata bergerak jangka pendek, dan harga penutupan adalah kurang daripada purata bergerak jangka panjang, dan purata bergerak jangka pendek adalah kurang daripada purata bergerak jangka panjang, dan purata bergerak jangka panjang sedang jatuh.

Penutupan kedudukan panjang: Jika anda pada masa ini memegang pesanan panjang dan harga penutupan adalah kurang daripada purata bergerak jangka panjang, atau purata bergerak jangka pendek kurang daripada purata bergerak jangka panjang, atau purata bergerak jangka panjang semakin menurun.

Penutupan kedudukan pendek: Jika anda pada masa ini memegang pesanan pendek, dan harga penutupan adalah lebih besar daripada purata bergerak jangka panjang, atau purata bergerak jangka pendek lebih besar daripada purata bergerak jangka panjang, atau purata bergerak jangka panjang semakin meningkat.

Jika ia ditulis dalam kod bahasa Mai, ia kelihatan seperti ini:
img
Rajah 3-3 Contoh lengkap bahasa Mai

Untuk menulis strategi perdagangan kuantitatif yang lengkap, ia biasanya memerlukan beberapa langkah: pemerolehan data, pengiraan data, pengiraan logik, penempatan pesanan, dll. Seperti yang ditunjukkan dalam rajah di atas, dalam keseluruhan kod, hanya satu API digunakan untuk mendapatkan data asas, iaitu "TUTUP" dalam baris pertama dan kedua, kemudian baris pertama hingga kesembilan adalah bahagian pengiraan data dan akhirnya baris kesebelas hingga empat belas adalah bahagian pengiraan logik dan penempatan pesanan;

Sila ambil perhatian bahawa kod ungu ialah pembolehubah; dalam baris pertama hingga kesembilan, warna hijau ":=" ialah pengendali tugasan, dan data di sebelah kanan pengendali tugasan ditetapkan kepada pembolehubah di sebelah kiri selepas pengiraan; "ATAU" ialah pengendali logik, yang digunakan terutamanya untuk menyambungkan berbilang pengiraan logik, dsb. Dengan konsep pengetahuan asas di atas, mari kita mula mempelajari asas terperinci bahasa Mai.

Data asas

Data asas (harga pembukaan, harga tertinggi, harga terendah, harga penutup, volum dagangan) adalah bahagian penting dalam perdagangan kuantitatif Untuk mendapatkan data asas terkini dalam strategi, anda hanya perlu menghubungi API alat kuantitatif pencipta. Jika anda ingin mendapatkan data asas sejarah, anda boleh menggunakan "REF", seperti: REF (CLOSE, 1) adalah untuk mendapatkan harga penutup semalam.

Pembolehubah

Pembolehubah ialah nombor yang boleh ditukar Nama pembolehubah boleh difahami sebagai kod yang menyokong aksara Cina, huruf, nombor dan sempang, tetapi panjangnya mesti dikawal dalam 31 aksara. Nama pembolehubah tidak boleh diulang antara satu sama lain, nama parameter atau nama fungsi (API), dan setiap pernyataan harus berakhir dengan koma bertitik. Jika anda ingin menambah ulasan bahasa anda sendiri selepas menulis, gunakan “//” di penghujungnya. Ia perlu ditulis dalam mod huruf besar kaedah input separuh lebar. Seperti yang ditunjukkan dalam rajah berikut:
img
Rajah 3-4 Jenis data bahasa Mai

Pembolehubah Tugasan

Tugasan pembolehubah adalah untuk menetapkan nilai di sebelah kanan pengendali tugasan kepada pembolehubah di sebelah kiri Terdapat 4 jenis pengendali tugasan, yang boleh mengawal sama ada nilai dipaparkan pada carta dan menentukan kedudukan paparan. Fon hijau dalam rajah di bawah ialah operator tugasan, iaitu “:”, “:=”, “^^”, dan “..” Komen kod dalam rajah menerangkan maksudnya secara terperinci.
img
Rajah 3-5 Tugasan pembolehubah bahasa Mai

Jenis data

Dalam bahasa Mai, terdapat banyak jenis data, antaranya yang paling biasa digunakan ialah jenis berangka, jenis rentetan dan jenis Boolean. Jenis berangka ialah nombor, termasuk integer, perpuluhan, nombor positif dan negatif, dsb., seperti: 1, 2, 3, 1.1234, 2.23456... jenis rentetan boleh difahami sebagai teks, bahasa Cina, bahasa Inggeris dan nombor semuanya boleh menjadi rentetan, seperti: 'Kuantiti Pencipta', 'TUTUP HARGA BOLEH'; st, ia hanya mempunyai dua nilai "ya" dan "tidak", seperti: 1 mewakili benar untuk "ya", dan 0 mewakili palsu untuk "tidak".

Operator hubungan

Pengendali perhubungan, seperti namanya, adalah pengendali yang digunakan untuk membandingkan hubungan antara dua nilai. Mereka adalah sama dengan, lebih besar daripada, kurang daripada, lebih besar daripada atau sama dengan, kurang daripada atau sama dengan, dan tidak sama dengan, seperti yang ditunjukkan di bawah:
img
Rajah 3-6 Operator bahasa Mai

Operator logik

Operasi logik boleh menyambungkan pernyataan Boolean yang berasingan kepada satu keseluruhan Yang paling biasa digunakan ialah "AND" dan "OR". Katakan terdapat dua nilai jenis Boolean, iaitu "harga penutup lebih besar daripada harga pembukaan" dan "harga penutupan lebih besar daripada purata bergerak", kita boleh menggabungkannya menjadi nilai Boolean, seperti: "harga penutup lebih besar daripada harga pembukaan dan (DAN) harga penutup lebih besar daripada purata bergerak", "harga penutupan lebih besar daripada harga pembukaan atau (ATAU) harga penutupan lebih besar daripada purata bergerak".
img
Rajah 3-7 Operasi logik bahasa Mai

Perhatian semua:
"DAN" bermakna apabila semua syarat adalah "ya", syarat terakhir ialah "ya";
"ATAU" bermaksud bahawa antara semua syarat, selagi mana-mana satu syarat adalah "ya", syarat terakhir ialah "ya".
“DAN” boleh ditulis sebagai “&&” dan “ATAU” boleh ditulis sebagai “||”.

Operator algebra

Pengendali aritmetik yang biasa digunakan dalam bahasa Mai ("+", "-",*”, “/”) tidak berbeza dengan matematik yang dipelajari di sekolah rendah, seperti yang ditunjukkan di bawah:
img
Rajah 3-8 Operasi aritmetik dalam bahasa Mai

Keutamaan

Jika ada 100*Untuk ungkapan (10-1)/(10+5), langkah manakah program dikira dahulu? Matematik sekolah menengah memberitahu kita: ① Jika ia adalah operasi tahap yang sama, ia biasanya dikira dari kiri ke kanan. ② Jika terdapat penambahan dan penolakan serta pendaraban dan pembahagian, hitung pendaraban dan bahagi dahulu, kemudian tambah dan tolak. ③Jika terdapat kurungan, kira kandungan di dalam kurungan dahulu. ④ Jika ia mematuhi undang-undang operasi, undang-undang operasi boleh digunakan untuk memudahkan pengiraan. Keutamaan bahasa Mai adalah sama seperti yang ditunjukkan di bawah:
img
Rajah 3-9 Keutamaan operasi aritmetik dalam bahasa Mai

Mod pelaksanaan

Dalam bahasa Mai alat kuantitatif pencipta, terdapat dua mod untuk pelaksanaan strategi program, iaitu: mod harga tutup dan mod harga masa nyata. Mod harga penutupan bermakna isyarat K-line semasa diwujudkan, dan transaksi pesanan dilaksanakan serta-merta apabila K-line seterusnya bermula. Mod harga masa nyata bermakna apabila isyarat K-line semasa diwujudkan, transaksi pesanan akan dilaksanakan serta-merta.

Strategi dalam sehari

Jika ia adalah strategi intraday, apabila anda perlu menutup kedudukan pada penghujung hari dagangan, anda perlu menggunakan fungsi masa "MASA". Fungsi ini dipaparkan dalam bentuk empat digit apabila berada di atas tempoh kedua dan di bawah tempoh hari, iaitu: HHMM (1450-14:50). Nota: Apabila menggunakan fungsi TIME sebagai syarat untuk menutup kedudukan pada akhir dagangan, adalah disyorkan bahawa keadaan pembukaan juga mempunyai had masa yang sepadan. Seperti yang ditunjukkan di bawah:
img
Rajah 3-10 Fungsi masa bahasa mikrofon

Klasifikasi Model

img
Rajah 3-11 Klasifikasi model bahasa Mai

Terdapat dua jenis klasifikasi model dalam bahasa Mai, iaitu: model bukan penapisan dan model penapisan. Ini sebenarnya sangat mudah difahami: model bukan penapisan membenarkan isyarat pembukaan atau penutupan berterusan, yang boleh merealisasikan fungsi menambah dan mengurangkan kedudukan. Model penapisan tidak membenarkan isyarat pembukaan atau penutupan berterusan Iaitu, apabila isyarat pembukaan muncul, isyarat pembukaan berikutnya akan ditapis sehingga isyarat penutupan muncul dalam model bukan penapisan ialah: buka-tutup-buka-tutup-buka.....

ringkaskan

Di atas adalah pengenalan cepat kepada bahasa Mai Selepas mempelajarinya, anda boleh memprogramkan strategi perdagangan kuantitatif. Jika anda perlu menulis strategi yang lebih kompleks, anda boleh merujuk kepada dokumentasi Inventor Quantitative Tool Mai Language API, atau terus merujuk perkhidmatan pelanggan rasmi untuk menulis strategi dagangan kuantitatif untuk anda.

Pratonton Bahagian Seterusnya

Dagangan intraday juga merupakan model dagangan Kaedah ini tidak mengekalkan kedudukan dalam sekelip mata, jadi risiko turun naik pasaran adalah lebih rendah Apabila keadaan pasaran yang tidak menguntungkan berlaku, pelarasan boleh dibuat dalam masa. Selepas mempelajari pengenalan kepada bahasa Mai dalam bahagian ini, dalam bahagian seterusnya kami akan menunjukkan kepada anda cara menulis strategi perdagangan kuantitatif intraday yang boleh dilaksanakan.

Kerja rumah

  1. Cuba gunakan Alat Kuantitatif Inventor untuk menulis API dalam bahasa Mai untuk mendapatkan data asas.
  2. Apakah cara untuk memaparkan tugasan berubah-ubah dalam carta?

3.3 Cara melaksanakan strategi dalam bahasa Mai

ringkasan

Dalam artikel sebelumnya, kami menerangkan prasyarat untuk melaksanakan strategi perdagangan dari aspek pengenalan bahasa Mai, sintaks asas, kaedah pelaksanaan model, klasifikasi model, dll. Dalam artikel ini, kami akan meneruskan kandungan artikel sebelumnya dan membantu anda merealisasikan strategi perdagangan kuantitatif intraday yang boleh dilaksanakan langkah demi langkah daripada modul strategi dan penunjuk teknikal yang biasa digunakan.

Modul Dasar

Fikirkanlah, bagaimana anda membina robot menggunakan kepingan Lego? Anda tidak boleh menyusunnya sekeping demi sekeping, dari atas ke bawah atau dari bawah ke atas. Sesiapa yang mempunyai sedikit akal tahu bahawa kepala, lengan, kaki, sayap, dan lain-lain harus disatukan secara berasingan dan kemudian digabungkan menjadi robot yang lengkap. Ia adalah sama apabila menulis program Tulis fungsi yang diperlukan ke dalam modul strategi, dan kemudian gabungkan modul strategi ke dalam strategi perdagangan kuantitatif yang lengkap. Di bawah saya akan menyenaraikan beberapa modul strategi yang biasa digunakan:

Peningkatan fasa

Peningkatan peringkat dikira dengan mengira peratusan perbezaan antara harga penutupan garisan K semasa dan harga penutupan tempoh N sebelumnya. Sebagai contoh, untuk mengira peningkatan tempoh 10 K-line terakhir, kod boleh ditulis sebagai:
img
Rajah 3-12 Pertumbuhan Peringkat Bahasa Mai

Ketinggian baru

Untuk menetapkan tinggi baharu, kita perlu mengira sama ada garis K semasa lebih besar daripada harga tertinggi dalam tempoh N. Sebagai contoh, untuk mengira sama ada K-line semasa lebih besar daripada harga tertinggi di antara 10 K-line terakhir, kod boleh ditulis sebagai:
img
Rajah 3-13 Bahasa Mai mencapai tahap tertinggi baharu

Terbalik volum yang besar

Serangan ke atas volum besar boleh difahami sebagai kenaikan harga dan peningkatan mendadak dalam volum dagangan. Sebagai contoh: Jika harga penutupan K-line ialah 1.5 kali ganda harga penutupan 10 K-line sebelumnya, ini bermakna ia telah meningkat sebanyak 50% dalam 10 hari volum dagangan melebihi 5 kali purata 10 K-line terakhir; Ia boleh ditulis dalam kod sebagai:
img
Rajah 3-14 Isipadu Maiyuyu meningkat

Kemasan sempit

Penggabungan julat sempit bermakna harga kekal dalam julat tertentu dalam tempoh masa yang terkini. Contohnya: Jika perbezaan antara harga tertinggi dalam tempoh 10 tempoh dan harga terendah dalam tempoh 10 tempoh, dibahagikan dengan harga penutup talian K semasa, adalah kurang daripada kira-kira 0.05. Ia boleh ditulis dalam kod sebagai:
img
Rajah 3-15 Julat bahasa gandum yang sempit

Susunan kenaikan harga purata bergerak

Susunan kenaikkan purata bergerak dibahagikan kepada susunan kenaikkan dan susunan menurun Garis K disusun ke atas dengan sokongan di bawah purata pergerakan 5-10-20-30-60, yang merupakan susunan kenaikkan harga bermaksud trend pasaran adalah arah aliran menaik yang kuat. Ia boleh ditulis dalam kod sebagai:
img
Rajah 3-16 Susunan Bullish Purata Pergerakan Bahasa Mai

Puncak sebelumnya dan lokasinya

Untuk mendapatkan titik tinggi sebelumnya dan lokasi titik tinggi ini, anda boleh mendapatkannya secara terus melalui API Alat Kuantitatif Pencipta. Ini boleh ditulis dalam kod:
img
Rajah 3-17 Titik tinggi Bahasa Mai sebelumnya

Jurang

Jurang ialah keadaan di mana harga tertinggi dan terendah bagi dua talian K tidak disambungkan Ia terdiri daripada dua garisan K Jurang ialah harga rujukan untuk titik sokongan dan tekanan masa hadapan. Apabila jurang berlaku, boleh diandaikan bahawa pecutan arah aliran ke arah jurang asal telah bermula. Ini boleh ditulis dalam kod:
img
Rajah 3-18 Jurang bahasa Mai

Penunjuk teknikal biasa

Purata Pergerakan

img
Rajah 3-19 Carta purata bergerak

Dari sudut pandangan statistik, purata bergerak ialah purata aritmetik harga harian, dan ia adalah trajektori harga dengan arah aliran. Sistem purata bergerak ialah alat teknikal yang biasa digunakan oleh kebanyakan penganalisis Dari sudut pandangan teknikal, ia merupakan faktor yang mempengaruhi harga psikologi penganalisis teknikal dan faktor membuat keputusan membeli dan menjual Ia adalah alat rujukan yang baik untuk penganalisis teknikal.
img
Rajah 3-20 Pengiraan pelbagai penunjuk Bahasa Mai

Saluran BOLL

img
Rajah 3-21 rajah saluran BOLL

BOLL, juga dikenali sebagai penunjuk Bollinger Band, juga menggunakan prinsip statistik untuk terlebih dahulu mengira trek tengah berdasarkan purata pergerakan hari-N, dan kemudian mengira trek atas dan bawah berdasarkan sisihan piawai. Apabila saluran BOLL menjadi lebih sempit, ini bermakna harga secara beransur-ansur kembali ke min. Apabila saluran BOLL berubah dari sempit kepada lebar, ia bermakna pasaran mula berubah Jika harga melintasi landasan atas, ia menunjukkan bahawa kuasa beli telah meningkat.

Di antara semua petunjuk teknikal, kaedah pengiraan BOLL adalah salah satu yang paling rumit, yang memperkenalkan konsep sisihan piawai dalam statistik dan melibatkan pengiraan garis tengah (MB), garis atas (UP) dan garis bawah (DN). Kaedah pengiraan adalah seperti berikut:
img
Rajah 3-22 Pengiraan Bollinger Band Bahasa Mai

Indeks MACD

img
Rajah 3-23 Penunjuk MACD

Penunjuk MACD menggunakan purata bergerak pantas (jangka pendek) dan perlahan (jangka panjang) dan tanda penumpuan dan pemisahannya, dan melakukan operasi pelicinan berganda. MACD, yang dibangunkan berdasarkan prinsip purata bergerak, telah menghapuskan kecacatan purata bergerak yang sering menghantar isyarat palsu, dan telah mengekalkan kesan purata bergerak Oleh itu, penunjuk MACD mempunyai ciri-ciri trend purata bergerak, kestabilan dan kestabilan Ia adalah penunjuk analisis teknikal yang digunakan untuk menilai masa pembelian dan kejatuhan harga saham. Kaedah pengiraan adalah seperti berikut:

img
Rajah 3-24 Penunjuk MACD Bahasa Mai

Di atas adalah modul strategi yang lebih biasa digunakan dalam membangunkan strategi perdagangan kuantitatif Sudah tentu, terdapat lebih banyak daripada ini Melalui contoh modul di atas, anda juga boleh melaksanakan beberapa modul perdagangan yang paling biasa digunakan dalam perdagangan subjektif anda. Seterusnya, kami akan mula menulis strategi perdagangan kuantitatif intraday yang boleh dilaksanakan.

Penulisan Strategi

Dalam pasaran spot pertukaran asing, pernah terdapat strategi dagangan terobosan yang tersebar secara meluas, iaitu strategi HANS123 Ia menggunakan penembusan titik tinggi dan rendah yang mudah bagi garisan N selepas pembukaan sebagai kriteria untuk mencetuskan isyarat dagangan. Ini juga merupakan mod dagangan dengan kemasukan awal.

Logik Strategi

Bersedia untuk memasuki pasaran 30 minit selepas pasaran dibuka;
Trek atas = titik tinggi 30 minit selepas dibuka;
Trek bawah = 30 minit rendah selepas dibuka;
Apabila harga menembusi landasan atas, beli dan buka kedudukan;
Apabila harga jatuh di bawah landasan yang lebih rendah, buka kedudukan jual.
Strategi dagangan urusniaga harian, tutup kedudukan sebelum pasaran ditutup;

Kod Strategi

img
Rajah 3-25 Kod strategi bahasa Mai

ringkaskan

Di atas, kami telah mempelajari konsep modul strategi, dan melalui beberapa kes modul strategi yang biasa digunakan, kami telah menjadi biasa dengan kaedah pengaturcaraan alat kuantitatif pencipta Boleh dikatakan bahawa belajar menulis modul strategi dan meningkatkan pemikiran logik pengaturcaraan adalah langkah utama dalam perdagangan kuantitatif lanjutan. Akhir sekali, kami menggunakan alat kuantitatif pencipta untuk melaksanakan strategi perdagangan yang biasa digunakan dalam perdagangan spot pertukaran asing.

Pratonton Bahagian Seterusnya

Sesetengah rakan mungkin berasa keliru dan tidak dapat memahami kod yang padat. Jangan risau, kami telah memikirkan semua ini untuk anda Dalam Alat Kuantitatif Inventor, terdapat juga bahasa pengaturcaraan yang lebih sesuai untuk pengguna pemula Seperti namanya, apa yang anda lihat adalah apa yang anda dapat.

Kerja rumah

  1. Cuba laksanakan beberapa modul dagangan yang paling kerap anda gunakan dalam dagangan subjektif.
  2. Cuba laksanakan algoritma penunjuk KDJ menggunakan bahasa Mai dalam alat kuantitatif pencipta.

3.4 Mula Pantas dengan Pengaturcaraan Visual

ringkasan

Ramai peniaga subjektif berminat dalam perdagangan kuantitatif Mereka penuh dengan keyakinan pada mulanya Namun, selepas mempelajari sintaks asas, operasi data, struktur data, kawalan logik, dan lain-lain bahasa pengaturcaraan tradisional, mereka sering tidak digalakkan atau berputus asa selepas melihat kod yang panjang dan kompleks Pada masa ini, bahasa pengaturcaraan visual mungkin lebih sesuai untuk anda mulakan.

Strategi Lengkap

Untuk membantu semua orang memahami dengan cepat pengetahuan utama bahagian ini, sebelum memperkenalkan pengenalan pantas kepada Bahasa Pengaturcaraan Visual Kuantitatif Pencipta, mari kita lihat dahulu bagaimana rupa strategi yang ditulis dalam bahasa visual? Dan mempunyai pemahaman awal tentang konsep kata nama dalam bahagian ini. Mari kita ambil contoh paling mudah untuk membeli apabila harga penutupan adalah lebih besar daripada purata pergerakan 50 tempoh dan menjadi pendek apabila harga penutupan kurang daripada purata pergerakan 50 tempoh:

Pembukaan kedudukan panjang: Jika tiada kedudukan semasa dan harga penutup lebih besar daripada purata bergerak 50 tempoh.
Buka kedudukan pendek: Jika tiada kedudukan semasa dan harga penutup adalah kurang daripada purata bergerak 50 tempoh.
Penutupan kedudukan panjang:Jika anda kini memegang kedudukan beli dan harga penutupan kurang daripada purata pergerakan 50 tempoh.
Penutupan kedudukan pendek:Jika anda sedang memegang pesanan pendek dan harga penutupan adalah lebih tinggi daripada purata bergerak 50 tempoh.

Jika strategi di atas ditulis dalam bahasa visual, ia akan kelihatan seperti ini (seperti yang ditunjukkan di bawah):
img
Rajah 3-26 Antara muka bahasa visual

Seperti yang ditunjukkan dalam rajah di atas, keseluruhan proses reka bentuk strategi ialah: tetapkan jenis pasaran, dapatkan tatasusunan garis-K, dapatkan purata 50-tempoh garis-K sebelumnya, dapatkan harga penutupan garis-K sebelumnya, dapatkan tatasusunan kedudukan, tentukan status kedudukan, tentukan sama ada harga penutupan lebih besar atau kurang daripada purata bergerak, dan laksanakan pembukaan atau penutupan.

Di sini kita perlu memberi perhatian kepada konsep "array" adalah salah satu struktur data yang penting untuk setiap bahasa pengaturcaraan. Tatasusunan adalah seperti bekas yang boleh menyimpan satu siri nilai. Sebagai contoh, memanggil API untuk mendapatkan tatasusunan K-line mengembalikan hasil berikut:
img
Rajah 3-27 Tatasusunan garis K

Kod dalam rajah di atas ialah tatasusunan garis-K Tatasusunan mengandungi tiga data secara keseluruhan, iaitu data garis-K sebelumnya, data baris-K sebelumnya, dan data garis-K semasa. Jika kita menetapkan tatasusunan ini kepada pembolehubah "arr", jika kita ingin mendapatkan data terakhir dalam tatasusunan ini (data baris akar K), kita boleh menulisnya seperti ini (seperti yang ditunjukkan dalam baris ke-4 dan ke-5 dalam rajah di bawah):
img
Rajah 3-28 Rujukan tatasusunan

Kita hanya boleh menggunakan cara penulisan kedua (baris 5), kerana pada hakikatnya terdapat ratusan atau ribuan data K-line, dan K-line baharu sentiasa meningkat. Jadi anda boleh mula-mula mendapatkan panjang tatasusunan "arr.length" bermaksud mendapatkan panjang tatasusunan, dan kemudian tolak "1", iaitu data garis-K yang terkini. Jika anda ingin mendapatkan data K-line sebelumnya, tolak "2".

Orang yang berhati-hati mungkin mendapati bahawa data ini disertakan dalam "{}". Daripada nama Inggeris, anda boleh mengetahui secara kasar bahawa ia sepadan dengan: masa, harga pembukaan, harga tertinggi, harga terendah, harga penutupan dan volum dagangan. Jika anda ingin mendapatkan harga penutupan K-line sebelumnya, tambahkan "." dan nilai yang diperlukan pada penghujungnya, rujuk baris 8 hingga 10 dalam rajah di bawah.
img
Rajah 3-29 Rujukan tatasusunan

Mengapa menggunakan bahasa pengaturcaraan visual?

Dengan konsep di atas, mari kita gunakan Java dahulu untuk menulis program yang mengeluarkan "hello, world" untuk mengalami pengaturcaraan tradisional, seperti yang ditunjukkan di bawah:
img
Rajah 3-30

Program yang hanya mengeluarkan rentetan "hello world!" hanya memerlukan 5 baris kod. Saya percaya bahawa kebanyakan pemula hanya tahu perkataan Inggeris "hello, world" dalam kurungan dan tidak tahu di mana untuk bermula dengan yang lain. Oleh itu, adalah pilihan yang lebih baik untuk bermula dengan pengaturcaraan visual daripada menjadi rugi.

Apakah pengaturcaraan visual?

Pengaturcaraan visual mempunyai sejarah yang panjang dan bukan baru. Konsep pengaturcaraan "apa yang anda lihat ialah apa yang anda dapat", dilengkapi dengan pelbagai modul kawalan, boleh membina logik kod dan reka bentuk strategi perdagangan yang lengkap hanya dengan menyeret dan menjatuhkan Proses ini hampir sama dengan blok binaan.
img
Rajah 3-31

Seperti yang ditunjukkan di atas, program yang sama boleh dilengkapkan dengan hanya satu baris kod dalam pengaturcaraan visual Blockly. Ini sangat merendahkan ambang pengaturcaraan, yang merupakan pengalaman operasi yang hebat, terutamanya bagi pedagang yang tidak mempunyai pengetahuan tentang pengaturcaraan.

Apakah ciri-ciri bahasa pengaturcaraan visual

Blockly bukan mainan pengaturcaraan, ia adalah editor yang jujur, bukan sistem pengendalian yang menyamar sebagai editor Ia menyokong banyak elemen asas pengaturcaraan, seperti pembolehubah, fungsi, tatasusunan, dan blok yang mudah dikembangkan dan disesuaikan Anda boleh menggunakannya untuk menyelesaikan tugas pengaturcaraan yang kompleks. Reka bentuk ini sangat konsisten dengan falsafah Unix: Lakukan satu perkara.

Pencipta pengaturcaraan visual kuantitatif juga direalisasikan melalui alat visualisasi blok yang dikeluarkan oleh Google. Reka bentuknya serupa dengan Scratch yang dilancarkan oleh MIT, dengan ambang sifar yang benar-benar (seperti yang ditunjukkan di bawah).
img
Rajah 3-32

Dalam antara muka pengaturcaraan visual Inventor Quant, beratus-ratus modul dagangan yang biasa digunakan terbina dalam. Lebih banyak modul dagangan akan ditambah pada masa hadapan untuk menyokong idea baharu pedagang dan aplikasi baharu ini akan dibangunkan dan diselenggara secara bersama oleh pembangun.

Walaupun sintaksnya mudah, ia tidak mengorbankan prestasi. Ia hampir dapat memenuhi pembangunan strategi perdagangan kuantitatif yang paling mudah. Dari segi fungsi dan kelajuan, ia tidak kalah dengan bahasa pengaturcaraan konvensional seperti Python dan JavaScript. Pada masa hadapan, ia akan menyokong aplikasi kewangan dengan logik yang kompleks.

Cara menggunakan

img
Rajah 3-33

Tulis program hello, dunia

img
Rajah 3-34

Jalankan dan cetak "hello, world"

img
Rajah 3-35

ringkaskan

Di atas, kami bermula dengan strategi visualisasi yang lengkap, kemudian memperkenalkan pengenalan dan ciri-ciri bahasa visualisasi, dan akhirnya memperkenalkan cara menggunakan bahasa visualisasi pada alat Inventor Quant, dan menulis contoh "hello world". Walau bagaimanapun, kami perlu mengingatkan semua orang bahawa sebagai pengenalan kepada perdagangan kuantitatif, pengaturcaraan visual adalah batu loncatan yang baik, tetapi pada masa ini hanya antara muka API yang terhad dibuka pada Alat Kuantitatif Pencipta Untuk perdagangan kuantitatif, sebaiknya gunakannya sebagai alat tambahan untuk membantu anda menyusun logik strategi.

Pratonton Bahagian Seterusnya

Tiada perbezaan antara asas pengaturcaraan visual dan bahasa pengaturcaraan peringkat tinggi, malah beberapa aspek adalah universal Sebaik sahaja anda mempelajari pengaturcaraan visual, anda akan selangkah lebih dekat untuk mempelajari pengaturcaraan peringkat tinggi. Dalam bahagian seterusnya, kami akan menyelidiki pembelajaran lanjutan pengaturcaraan visual, termasuk cara menggunakan bahasa visual untuk menulis modul dagangan kuantitatif yang biasa digunakan pada Alat Kuantitatif Pencipta, dan cara membangunkan strategi perdagangan intrahari yang lengkap.

Kerja rumah

  1. Dalam antara muka pengaturcaraan visual Inventor Quant, gunakan API dan fahami maksudnya.
  2. Gunakan bahasa visual untuk mendapatkan harga pembukaan terkini dan keluarkan ke log.

3.5 Cara melaksanakan strategi menggunakan bahasa visual

ringkasan

Dalam artikel sebelumnya, kami belajar tentang pengenalan dan ciri bahasa pengaturcaraan visual, contoh "hello world", dan penulisan strategi dalam alat dagangan kuantitatif pencipta, dan menerangkan prasyarat untuk melaksanakan strategi perdagangan. Dalam artikel ini, kami akan meneruskan dari artikel sebelumnya, bermula dari modul strategi yang biasa digunakan dan penunjuk teknikal, dan kemudian kepada logik strategi, untuk membantu semua orang merealisasikan strategi perdagangan intrahari yang lengkap langkah demi langkah.

Modul Dasar

Peningkatan fasa

Peningkatan peringkat dikira dengan mengira peratusan perbezaan antara harga penutupan garisan K semasa dan harga penutupan tempoh N sebelumnya. Sebagai contoh, untuk mengira peningkatan tempoh 10 K-line terakhir, kod boleh ditulis sebagai:
img
Rajah 3-36

Daripada kod di atas, kita dapat melihat bahawa cara komputer melaksanakan memerlukan gelung logik yang lengkap Contohnya, untuk mengira kadar pertumbuhan tempoh 10 K-line yang lalu, ia perlu dibahagikan kepada langkah berikut:
Pertama, komputer mesti tahu dengan jelas produk yang ingin anda niagakan Contohnya, contoh di atas adalah metanol, jadi tetapkan kod kontrak kepada: "MA888". Selepas menetapkan kod kontrak, anda boleh mendapatkan data K-line kontrak.

Dengan data K-line, anda boleh mendapatkan data terperinci mana-mana K-line daripada data K-line ini.
Untuk mengira kenaikan berkala, anda mesti mendapatkan harga penutupan dua K-line dahulu, sebagai contoh: harga penutupan K-line sebelumnya dan harga penutupan K-line ke-11 sebelum itu.

Akhir sekali, berdasarkan harga penutupan kedua-dua K-line ini, hitung nisbah kenaikan peringkat. Setiap strategi berikut mempunyai ciri-ciri gelung logik dan atribut bersyarat Sebaik sahaja anda memahami logik ini, pengaturcaraan visual akan menjadi lebih mudah.

Terbalik volum yang besar

Serangan ke atas volum besar boleh difahami sebagai kenaikan harga dan peningkatan mendadak dalam volum dagangan. Sebagai contoh: Jika harga penutupan K-line ialah 1.5 kali ganda harga penutupan 10 K-line sebelumnya, ini bermakna ia telah meningkat sebanyak 50% dalam 10 hari volum dagangan melebihi 5 kali purata 10 K-line terakhir; Ia boleh ditulis dalam kod sebagai:
img
Rajah 3-37

Jurang

Jurang ialah keadaan di mana harga tertinggi dan terendah bagi dua talian K tidak disambungkan Ia terdiri daripada dua garisan K Jurang ialah harga rujukan untuk titik sokongan dan tekanan masa hadapan. Apabila jurang berlaku, boleh diandaikan bahawa pecutan arah aliran ke arah jurang asal telah bermula. Ini boleh ditulis dalam kod:
img
Rajah 3-38

Penunjuk teknikal biasa

Purata pergerakan EMA

Dari sudut pandangan statistik, purata bergerak ialah purata aritmetik harga harian, dan ia adalah trajektori harga dengan arah aliran. Sistem purata bergerak ialah alat teknikal yang biasa digunakan oleh kebanyakan penganalisis Dari sudut pandangan teknikal, ia merupakan faktor yang mempengaruhi harga psikologi penganalisis teknikal dan faktor membuat keputusan membeli dan menjual Ia adalah alat rujukan yang baik untuk penganalisis teknikal.
img
Rajah 3-39

Indeks MACD

Penunjuk MACD menggunakan purata bergerak pantas (jangka pendek) dan perlahan (jangka panjang) dan tanda penumpuan dan pemisahannya, dan melakukan operasi pelicinan berganda. MACD, yang dibangunkan berdasarkan prinsip purata bergerak, telah menghapuskan kecacatan purata bergerak yang sering menghantar isyarat palsu, dan telah mengekalkan kesan purata bergerak Oleh itu, penunjuk MACD mempunyai ciri-ciri trend purata bergerak, kestabilan dan kestabilan Ia adalah penunjuk analisis teknikal yang digunakan untuk menilai masa pembelian dan kejatuhan harga saham. Kaedah pengiraan adalah seperti berikut:
img
Rajah 3-40

Penunjuk KDJ

Penunjuk KDJ menggabungkan kelebihan konsep momentum, petunjuk kekuatan dan kelemahan serta purata bergerak, dan digunakan untuk mengukur tahap variasi harga saham daripada julat harga biasa. Bukan sahaja harga penutup diambil kira, tetapi juga harga tertinggi dan terendah baru-baru ini, yang mengelakkan kelemahan hanya mempertimbangkan harga penutupan dan mengabaikan turun naik sebenar. Kaedah pengiraan adalah seperti berikut:
img
Rajah 3-41

Penulisan Strategi

Mentor Warren Buffett Benjamin Graham pernah menyebut model perdagangan keseimbangan dinamik antara saham dan bon dalam bukunya "The Intelligent Investor".

Model dagangan ini sangat mudah:
Laburkan 50% daripada wang anda dalam dana saham dan baki 50% dalam dana bon. Iaitu, saham dan bon masing-masing menyumbang separuh.

Mengimbangi semula aset pada selang masa tetap atau berdasarkan perubahan pasaran untuk memulihkan nisbah aset saham kepada aset bon kepada 1:1 awal. Ini adalah logik keseluruhan strategi, termasuk masa untuk membeli dan menjual, dan berapa banyak untuk membeli dan menjual. Cukup mudah!

Dalam kaedah ini, turun naik dana bon sebenarnya sangat kecil, jauh lebih rendah daripada turun naik saham, jadi bon digunakan sebagai "sauh rujukan" di sini, iaitu, menggunakan bon untuk mengukur sama ada saham telah meningkat terlalu banyak peningkatan yang terlalu sedikit.

Jika harga saham meningkat, nilai pasaran saham akan lebih besar daripada nilai pasaran bon Apabila nisbah nilai pasaran kedua-duanya melebihi ambang yang ditetapkan, jumlah kedudukan akan dilaraskan semula, stok akan dijual, dan. bon akan dibeli untuk menjadikan nisbah nilai pasaran bon saham Kembalikan kepada 1:1 asal.

Sebaliknya, jika harga saham jatuh, nilai pasaran saham akan kurang daripada nilai pasaran bon Apabila nisbah nilai pasaran kedua-duanya melebihi ambang yang ditetapkan, jumlah kedudukan akan diselaraskan untuk membeli saham dan. menjual bon untuk membuat nisbah nilai pasaran bon saham Kembalikan kepada 1:1 asal.

Dengan cara ini, dalam nisbah keseimbangan dinamik antara saham dan bon, cukup untuk menikmati buah pertumbuhan saham dan mengurangkan kadar turun naik aset. Sebagai pelopor pelaburan nilai, Graham memberikan kita idea yang baik.

Logik Strategi

Mengikut nilai semasa BTC, baki akaun ialah ¥5000 tunai dan 0.1 BTC, iaitu nisbah awal tunai kepada nilai pasaran BTC ialah 1:1.

Jika harga BTC meningkat kepada ¥6000, iaitu nilai pasaran BTC lebih besar daripada baki akaun, dan perbezaan di antara mereka melebihi ambang yang ditetapkan, maka (6000-5000)/6000/2 syiling akan dijual. Ini bermakna BTC telah menghargai dan wang itu boleh ditukar kembali.

Jika harga BTC turun kepada ¥4000, iaitu nilai pasaran BTC kurang daripada baki akaun, dan perbezaan di antara mereka melebihi ambang yang ditetapkan, kemudian beli (5000-4000)/4000/2 syiling. Ini bermakna BTC telah susut nilai, jadi beli balik BTC.

Dengan cara ini, tidak kira sama ada BTC naik nilai atau susut nilai, baki akaun dan nilai pasaran BTC sentiasa dikekalkan sama. Jika BTC susut nilai, beli beberapa, dan apabila ia naik semula, jual beberapa, sama seperti baki.

Syarat membeli: Jika nilai pasaran kedudukan semasa tolak baki tersedia semasa adalah kurang daripada 5% daripada baki semasa negatif tersedia, buka kedudukan beli.
Syarat jualan:Jika nilai pasaran kedudukan semasa tolak baki tersedia semasa adalah lebih besar daripada 5% daripada baki sedia ada semasa, tutup kedudukan dan jual.

Prasyarat

  • Pasaran Semasa
  • Aset semasa
  • Jumlah nilai pasaran syiling
  • Perbezaan Aset

Pembinaan strategi

Strategi Pengarangan Visual Langkah 1

Kami mengira empat prasyarat untuk strategi dagangan dan menetapkannya kepada pembolehubah masing-masing. Dengan pengaturcaraan visual, blok kod kelihatan seperti ini. Seperti yang ditunjukkan di bawah
img
Rajah 3-42

Perlu diingatkan bahawa jumlah nilai pasaran mata wang ialah jumlah nilai pasaran bagi bilangan syiling semasa yang dipegang, dan kaedah pengiraannya adalah untuk mendarabkan jumlah bilangan syiling semasa yang dipegang dengan harga terkini semasa. Perbezaan aset ialah jumlah nilai pasaran mata wang tolak baki semasa yang tersedia.

Strategi Pengarangan Visual Langkah 2

Selepas prasyarat dan syarat yang diperlukan ditetapkan, anda perlu menulis logik transaksi. Ini tidaklah rumit seperti yang anda fikirkan. Ia tidak lebih daripada menyatakan logik strategi di atas dalam bentuk blok kod.

Iaitu, jika perbezaan aset kurang daripada 5% daripada baki negatif yang tersedia, beli jika perbezaan aset lebih besar daripada 5% daripada baki yang ada, jual; Seperti yang ditunjukkan di bawah:
img
Rajah 3-43

Keseluruhan strategi nampaknya telah ditulis, tetapi anda mesti tahu bahawa program ini dilaksanakan dari atas ke bawah dan berhenti selepas pelaksanaan. Walau bagaimanapun, strategi dagangan kami bukan untuk melaksanakan syarat dagangan sekali, tetapi untuk melaksanakannya berulang kali berulang kali.

Dengan kata lain, program perlu sentiasa menyemak sama ada syarat strategi telah dipenuhi. Pada masa ini, anda perlu menggunakan pernyataan gelung lain, seperti yang ditunjukkan di bawah:
img
Rajah 3-44

Ujian Balik Strategi

Tiada perbezaan penting antara strategi visualisasi dan strategi yang ditulis dalam bahasa pengaturcaraan lain. Ia juga menyokong ujian data sejarah dengan beberapa tempoh dan tahap ketepatan Sudah tentu, mereka juga menyokong dagangan masa nyata niaga hadapan dan mata wang digital. Berikut ialah maklumat ujian belakang strategi:
img
Rajah 3-45

Pada ketika ini, strategi perdagangan yang lengkap telah selesai. Bagi menjaga mereka yang ingin mengambil kesempatan daripada kami, strategi ini telah dikongsikan di Dataran Strategi dan boleh terus ditiru dan dikaji.

Kesimpulan

Peraturan 10,000 jam sentiasa wujud, tetapi bagi peniaga yang tidak mempunyai pengetahuan asas, adalah mustahil untuk menghabiskan 10,000 jam untuk memasuki semula industri. Oleh itu, anda mesti mempunyai tangga, dan bagi pedagang yang tidak mempunyai asas pengaturcaraan, pengaturcaraan visual Inventor Quant ialah tangga untuk kemasukan pantas.

Dengan pengaturcaraan visual, anda tidak perlu mengingati sintaks dan nama kaedah, anda hanya boleh menyemak imbas modul fungsi dan mencari perkara yang anda mahukan. Ini juga merupakan niat asal pencipta kuantitatif, iaitu untuk membantu lebih ramai pemula kuantitatif menurunkan ambang kemasukan dan meningkatkan minat mereka dalam perdagangan kuantitatif, supaya semua orang boleh menjadi pedagang kuantitatif!

Walau bagaimanapun, setelah berkata demikian, sama sekali tidak ada masalah dengan pengaturcaraan visual sebagai batu loncatan kepada pembelajaran kuantitatif, tetapi ia juga mempunyai batasannya sendiri, seperti ketidakupayaan untuk membangunkan strategi perdagangan yang terlalu kompleks dan canggih. Tetapi ini tidak menjejaskan langkah pertama anda dalam perdagangan kuantitatif!

Pratonton Bahagian Seterusnya

Dari perspektif profesionalisme perdagangan kuantitatif, kedua-dua bahasa Mai dan bahasa visual hanyalah bahasa peralihan untuk memasuki dunia perdagangan kuantitatif. Ciri bahasa mereka menentukan batasan mereka dalam pembangunan strategi perdagangan kuantitatif, dan beberapa strategi kompleks tidak mungkin dilaksanakan. Jadi dalam bahagian seterusnya kami akan mengajar anda JavaScript, yang merupakan bahasa pengaturcaraan peringkat tinggi formal dan satu-satunya cara untuk anda maju ke perdagangan kuantitatif lanjutan.

Kerja rumah

  1. Cuba laksanakan penunjuk Bollinger Band menggunakan bahasa visual.
  2. Cuba gunakan modul dagangan dalam bahagian ini untuk melengkapkan strategi dagangan.

Bab 4 Melaksanakan Strategi Perdagangan dalam Bahasa Pengaturcaraan Arus Perdana

4.1 Pengenalan pantas bahasa JavaScript

ringkasan

Sebagai bintang perdagangan kuantitatif masa depan, adalah mustahil untuk anda mempelajari bahasa yang mudah sahaja. Walaupun bahasa Mai dan bahasa visualisasi alat kuantitatif pencipta boleh membantu anda bermula, alat tersebut mempunyai banyak batasan dalam pembangunan strategi kerana ciri bahasanya. Oleh itu, jika anda ingin bertapak dalam perdagangan kuantitatif, anda mesti mempelajari bahasa pengaturcaraan formal.

Mengapa belajar JavaScript

Berbanding dengan bahasa visual, JavaScript mempunyai prestasi yang lebih kukuh dan kecekapan pelaksanaan. Dan dari segi pembangunan strategi, JavaScript jauh lebih fleksibel daripada bahasa visual Contohnya, jika anda ingin membangunkan strategi arbitraj, anda tidak boleh menggunakan bahasa visual kerana ia mempunyai modul yang terhad dan tidak menyokong strategi seperti arbitraj, manakala JavaScript boleh melakukan tugas dengan mudah.

Selain itu, JavaScript adalah lebih ringkas dan elegan daripada bahasa visual Contohnya, 10 baris kod dalam bahasa visual boleh ditulis dalam 5 baris dalam JavaScript. Dalam beberapa cara, bahasa visual hanyalah versi teks JavaScript, dan pelaksanaan serta logik kodnya hampir sama dengan JavaScript. Jika anda mempelajari bahasa visual, mempelajari JavaScript akan menjadi sangat mudah.

Pengenalan kepada JavaScript

JavaScript ialah bahasa pengaturcaraan peringkat tinggi yang formal. Ia sesuai sebagai bahasa pengantar untuk pembelajaran pengaturcaraan dan juga sebagai bahasa kerja untuk pembangunan harian. Ia adalah salah satu bahasa komputer yang paling menjanjikan dan menjanjikan pada masa ini, dan ia masih mempunyai kedudukan dominan yang tidak tergoyahkan di bahagian pelayar. Walaupun ia terkenal dengan pembangunan halaman web, ia juga digunakan dalam banyak persekitaran bukan penyemak imbas, seperti pelayan, PC, peranti mudah alih, dll. Sudah tentu, ia juga boleh melakukan perdagangan kuantitatif!

Strategi Lengkap

Untuk membantu anda memahami dengan cepat pengetahuan utama bahagian ini, sebelum memperkenalkan pengenalan pantas bahasa JavaScript terkuantiti pencipta, anda harus terlebih dahulu mempunyai pemahaman awal tentang konsep dalam bahagian ini. Mari kita ambil strategi purata bergerak berganda yang paling mudah sebagai contoh:

Pembukaan kedudukan panjang: Jika tiada kedudukan semasa dan purata bergerak 5 tempoh lebih besar daripada purata bergerak 20 tempoh.
Buka kedudukan pendek: Jika tiada kedudukan semasa dan purata bergerak 5 tempoh adalah kurang daripada purata bergerak 20 tempoh.
Penutupan kedudukan panjang:Jika anda kini memegang kedudukan panjang dan purata bergerak 5 tempoh adalah kurang daripada purata bergerak 20 tempoh.
Penutupan kedudukan pendek: Jika anda pada masa ini memegang kedudukan pendek dan purata bergerak 5 tempoh adalah lebih besar daripada purata bergerak 20 tempoh.

Jika ditulis dalam JavaScript, ia akan kelihatan seperti ini:
img
Rajah 4-1

Kod dalam rajah di atas ialah strategi perdagangan kuantitatif lengkap yang ditulis dalam JavaScript. Ia boleh berjalan dalam masa nyata dan membuat pesanan secara automatik. Dari segi jumlah kod, bahasa ini lebih mudah daripada bahasa visual. Proses reka bentuk keseluruhan strategi ialah: menetapkan jenis pasaran, mendapatkan data K-line, mendapatkan maklumat kedudukan, mengira logik transaksi, dan meletakkan pesanan beli dan jual.

Penjenamaan

Segala-galanya dalam JavaScript (pembolehubah, nama fungsi dan pengendali) adalah sensitif huruf besar-besaran, yang bermaksud bahawa ujian nama pembolehubah dan Ujian nama pembolehubah ialah dua pembolehubah berbeza. Aksara pertama pengecam (nama pembolehubah, fungsi, sifat, parameter fungsi) mestilah huruf, garis bawah (_), tanda dolar ($), dan aksara berikut juga boleh menjadi nombor, seperti yang ditunjukkan dalam rajah berikut:
img
Rajah 4-2

Nota

Komen termasuk ulasan satu baris dan ulasan peringkat blok. Komen satu baris bermula dengan dua garis miring, dan komen blok bermula dengan garis miring dan asterisk (/) dan diakhiri dengan asterisk dan garis miring (/) seperti yang ditunjukkan di bawah:
img
Rajah 4-3

Kenyataan

Setiap pernyataan berakhir dengan koma bertitik, walaupun ia tidak diperlukan, kami mengesyorkan agar anda tidak meninggalkannya. Menambah koma bertitik boleh meningkatkan prestasi kod dalam beberapa kes, seperti yang ditunjukkan dalam rajah berikut:
img
Rajah 4-4

Pembolehubah

Pembolehubah boleh menyimpan sebarang jenis data Semasa membuat pembolehubah, gunakan operator var diikuti dengan nama pembolehubah. Apabila menentukan pembolehubah, anda juga boleh menetapkan nilainya. Setelah pembolehubah dibuat, anda tidak perlu menggunakan operator var untuk menetapkan nilai pembolehubah itu semula, seperti yang ditunjukkan di bawah:
img
Rajah 4-5

data

JavaScript mempunyai sejumlah 5 jenis data, iaitu: Undefined, Null, Boolean, Number, dan String, seperti yang ditunjukkan dalam rajah berikut:
img
Rajah 4-6

Undefined hanya mempunyai satu nilai, "undefined" khas, yang mewakili nilai yang belum ditetapkan. Sebagai contoh, jika kita hanya mentakrifkan pembolehubah dan tidak menetapkan nilai untuknya, nilai pembolehubah akan menjadi "tidak ditentukan".

Null hanya mempunyai satu nilai, "null" khas, yang mewakili nilai yang ditetapkan kepada kosong. Sebagai contoh, jika kita mencipta pembolehubah terlebih dahulu dan kemudian menetapkan nilai pembolehubah kepada "null", maka nilai yang dikembalikan oleh pembolehubah akan menjadi "null".

Boolean mempunyai dua nilai, "true" dan "false" mewakili benar dan "false" mewakili palsu. Ambil perhatian bahawa kedua-dua "benar" dan "salah" adalah huruf kecil.

Nombor ialah jenis nombor, termasuk: nombor positif, nombor negatif, integer, perpuluhan, dsb. Selain itu, "NaN" juga merupakan nombor khas yang secara khusus menunjukkan keadaan di mana tiada nilai dikembalikan, contohnya: 1 dibahagikan dengan 0 mengembalikan "NaN".

Anda boleh memahami String sebagai teks, termasuk bahasa Cina dan Inggeris, dan anda boleh membina rentetan menggunakan petikan tunggal atau petikan berganda. Contohnya: "fmz" atau "kuantisasi pencipta".

Objektif

Anda boleh menganggap objek sebagai bekas untuk menyimpan pelbagai data, di mana atribut dan nilai sepadan antara satu sama lain. Anda boleh membuat bekas ini terlebih dahulu melalui pengendali baharu. Anda juga boleh menambah sifat dan kaedah pada objek yang dicipta, seperti yang ditunjukkan dalam rajah berikut:
img
Rajah 4-7

Kumpulan

Tatasusunan juga merupakan bekas untuk menyimpan pelbagai data, tetapi elemen dalam bekas disusun mengikut urutan dari kiri ke kanan Elemen pertama ialah 0, elemen kedua ialah 1, dan seterusnya. Selain itu, tatasusunan JavaScript boleh menyimpan sebarang jenis data, seperti yang ditunjukkan di bawah:
img
Rajah 4-8

fungsi

Fungsi dalam JavaScript pada asasnya adalah sama dengan fungsi yang kami pelajari di sekolah menengah Anda boleh menganggapnya sebagai apa yang dihantar dan apa yang dikeluarkan melalui pengiraan fungsi, seperti yang ditunjukkan dalam rajah berikut:
img
Rajah 4-9

Pengendali

JavaScript mempunyai pelbagai operator, iaitu operator aritmetik, operator perbandingan, dan operator logik. Antaranya, operator aritmetik ialah operasi matematik penambahan, penolakan, pendaraban dan pembahagian boleh membandingkan sama ada dua nilai kurang daripada atau kurang daripada: logik DAN, logik ATAU, dan logik NOT. Seperti yang ditunjukkan dalam rajah berikut:
img
Rajah 4-10
Perlu diingatkan bahawa: "&&" ialah AND logik, yang bermaksud "dan". “||” ialah OR logik, yang bermaksud “atau”. "!" ialah penafian logik, yang bermaksud "tidak":
“&&” bermaksud apabila semua syarat adalah “benar”, syarat akhir akan menjadi “benar”;
“||” bermaksud bahawa antara semua syarat, selagi mana-mana satu daripadanya adalah “benar”, syarat terakhir adalah “benar”.

Keutamaan

Jika ada 100*Untuk ungkapan (10-1)/(10+5), langkah manakah program dikira dahulu? Matematik sekolah menengah memberitahu kita: ① Jika ia adalah operasi tahap yang sama, ia biasanya dikira dari kiri ke kanan. ② Jika terdapat penambahan dan penolakan serta pendaraban dan pembahagian, hitung pendaraban dan bahagi dahulu, kemudian tambah dan tolak. ③Jika terdapat kurungan, hitung kandungan kurungan terlebih dahulu. ④ Jika ia mematuhi undang-undang operasi, undang-undang operasi boleh digunakan untuk memudahkan pengiraan. Perkara yang sama berlaku untuk keutamaan bahasa JavaScript, seperti yang ditunjukkan di bawah:
img
Rajah 4-11

Kenyataan Bersyarat

Selalunya semasa menulis kod, anda perlu melakukan tindakan yang berbeza untuk keputusan yang berbeza. Anda boleh menggunakan pernyataan bersyarat dalam kod anda untuk menyelesaikan tugas ini. Dalam JavaScript, kita boleh menggunakan pernyataan bersyarat berikut:
if pernyataan - Gunakan pernyataan ini untuk melaksanakan kod hanya jika syarat yang ditentukan adalah benar
if...else statement - melaksanakan kod jika syarat adalah benar, dan melaksanakan kod lain jika syarat itu salah
if...else if....else Pernyataan - Gunakan pernyataan ini untuk memilih satu daripada berbilang blok kod untuk dilaksanakan
pernyataan suis - Gunakan pernyataan ini untuk memilih salah satu daripada beberapa blok kod untuk dilaksanakan

Jika Kenyataan

Pernyataan ini melaksanakan kod hanya jika syarat yang ditentukan adalah benar. Sila gunakan huruf kecil jika. Menggunakan huruf besar (IF) akan menghasilkan ralat JavaScript! Seperti yang ditunjukkan dalam rajah berikut:
img
Rajah 4-12#

jika...lain Penyata

Apabila syarat adalah benar, kod itu dilaksanakan, dan apabila syarat itu palsu, kod lain dilaksanakan, seperti yang ditunjukkan dalam rajah berikut:
img
Rajah 4-13

untuk gelung

Kadang-kadang kita perlu mendapatkan data garis-K beberapa hari yang lalu, dan kita perlu mendapatkannya daripada tatasusunan garis-K mengikut urutan mengikut kedudukan data garis-K Kemudian adalah sangat mudah untuk menggunakan gelung for, seperti yang ditunjukkan dalam rajah berikut:
img
Rajah 4-14

Manakala Gelung

Kita semua tahu bahawa pasaran sentiasa berubah Jika anda ingin mendapatkan tatasusunan K-line yang terkini, anda perlu terus menjalankan kod yang sama berulang kali.
img
Rajah 4-15

patah kenyataan dan teruskan kenyataan

Gelung mempunyai prasyarat Hanya apabila prasyarat adalah "benar" akan gelung mula melakukan sesuatu berulang kali, dan gelung tidak akan berakhir sehingga prasyarat adalah "salah". Walau bagaimanapun, pernyataan putus boleh segera melompat keluar daripada gelung semasa pelaksanaan gelung itu boleh mengganggu gelung tertentu dan kemudian meneruskan gelung seterusnya. Seperti yang ditunjukkan dalam rajah berikut:
img
Rajah 4-16

penyata pulangan

Pernyataan pulangan menamatkan pelaksanaan fungsi dan mengembalikan nilai fungsi. Penyataan pulangan hanya boleh muncul dalam badan fungsi Jika ia muncul di tempat lain dalam kod, ia akan menyebabkan ralat sintaks!
img
Rajah 4-17

Rangka kerja strategi CTA

Dalam Alat Kuantitatif Pencipta, adalah sangat mudah untuk menulis strategi dalam JavaScript Pegawai itu telah terbina dalam satu set rangka kerja strategi standard, seperti yang ditunjukkan dalam rajah berikut.
img
Rajah 4-18

Seperti yang ditunjukkan dalam kod di atas, ini ialah rangka kerja strategi standard Kecuali untuk "kod produk niaga hadapan komoditi" yang boleh diubah, semua yang lain adalah dalam format tetap Kelebihan terbesar menggunakan rangka kerja untuk menulis strategi ialah anda hanya perlu menulis logik strategi Isu lain seperti pemerolehan pasaran, pemprosesan pesanan, dll. semuanya dikendalikan oleh rangka kerja. Ini membolehkan anda memberi tumpuan kepada pembangunan strategi.

ringkaskan

Di atas adalah pengenalan ringkas kepada bahasa JavaScript Selepas mempelajarinya, anda boleh memprogramkan strategi perdagangan kuantitatif. Jika anda perlu menulis strategi yang lebih kompleks, anda boleh merujuk kepada dokumentasi API bahasa JavaScript bagi Alat Kuantitatif Pencipta.

Pratonton Bahagian Seterusnya

Dagangan hari juga merupakan model dagangan Kaedah ini tidak mengekalkan kedudukan dalam sekelip mata, jadi risiko turun naik pasaran adalah lebih rendah Setelah keadaan pasaran yang tidak menguntungkan berlaku, pelarasan boleh dibuat dalam masa. Selepas mempelajari bahasa JavaScript dalam bahagian ini, dalam bahagian seterusnya kami akan menunjukkan kepada anda cara menulis strategi perdagangan kuantitatif intraday yang boleh dilaksanakan.

Kerja rumah

  1. Cuba gunakan bahasa JavaScript dalam Alat Kuantitatif Inventor untuk mendapatkan data K-line sejarah.
  2. Cuba tulis kod strategi pada permulaan bahagian ini dan tambahkan komen.

4.2 Bagaimana untuk melaksanakan perdagangan strategi menggunakan bahasa JavaScript

ringkasan

Dalam artikel sebelumnya, kami menerangkan prasyarat untuk melaksanakan strategi dagangan dari aspek pengenalan bahasa JavaScript, sintaks asas, rangka kerja strategi CTA, dll. Dalam artikel ini, kami akan meneruskan kandungan artikel sebelumnya dan membantu anda merealisasikan strategi dagangan kuantitatif intrahari yang boleh dilaksanakan langkah demi langkah daripada modul strategi dan penunjuk teknikal yang biasa digunakan.

Pengenalan Strategi

Bollinger Bands juga dipanggil Bollinger Channels, disingkatkan sebagai BOLL dalam bahasa Inggeris. Ia adalah salah satu penunjuk teknikal yang paling biasa digunakan dan telah dicipta oleh John Bollinger pada tahun 1980-an. Secara teori, harga sentiasa turun naik dalam julat tertentu sekitar nilai Berdasarkan asas teori ini, Bollinger Bands memperkenalkan konsep "saluran harga".

Kaedah pengiraan adalah menggunakan prinsip statistik untuk terlebih dahulu mengira "sisihan piawai" harga dalam satu tempoh masa, dan kemudian menambah/tolak 2 kali sisihan piawai purata bergerak untuk mencari "selang keyakinan" harga. Bentuk asasnya ialah saluran jalur yang terdiri daripada tiga baris trek (trek tengah, trek atas dan trek bawah). Landasan tengah ialah kos purata harga, dan trek atas dan bawah masing-masing mewakili garis tekanan dan garis sokongan harga.

Disebabkan oleh penggunaan konsep sisihan piawai, lebar Bollinger Band akan dilaraskan secara dinamik mengikut turun naik harga terkini. Apabila turun naik adalah kecil, Bollinger Bands akan menjadi lebih sempit; apabila volatiliti adalah besar, Bollinger Bands akan menjadi lebih luas. Apabila saluran BOLL menjadi lebih sempit, ini bermakna harga secara beransur-ansur kembali ke min. Apabila saluran BOLL berubah dari sempit kepada lebar, ia bermakna pasaran mula berubah Jika harga melintasi landasan atas, ia menunjukkan bahawa kuasa beli semakin meningkat.

Kaedah pengiraan penunjuk Bollinger Bands

Di antara semua penunjuk teknikal, kaedah pengiraan Bollinger Bands adalah salah satu yang paling rumit, yang memperkenalkan konsep sisihan piawai dalam statistik dan melibatkan pengiraan garis tengah (MB), garis atas (UP) dan garis bawah (DN). Kaedah pengiraan adalah seperti berikut:

Trek tengah = Purata Pergerakan Mudah sepanjang N tempoh masa
Trek atas = Trek tengah + K × sisihan piawai N tempoh masa
Rel bawah = Trek tengah − Sisihan piawai bagi tempoh masa K × N
img
Rajah 4-19

Logik Strategi

Terdapat banyak cara untuk menggunakan Bollinger Bands Ia boleh digunakan secara bersendirian atau digabungkan dengan penunjuk lain. Dalam tutorial ini kami akan menggunakan kaedah paling mudah menggunakan Bollinger Bands. Iaitu: apabila harga menembusi landasan atas dari bawah ke atas, iaitu, menembusi garis tekanan atas, kami percaya bahawa daya kenaikan harga semakin kuat, gelombang pasaran meningkat telah terbentuk, dan isyarat pembukaan beli dijana apabila harga jatuh di bawah landasan bawah dari atas ke bawah, iaitu jatuh di bawah garis sokongan, kami percaya bahawa bentuk penurunan harga semakin kuat, arah aliran semakin kuat.
img
Rajah 4-20

Jika selepas membuka kedudukan beli, harga jatuh kembali ke landasan tengah Bollinger Bands, kami percaya bahawa daya kenaikkan semakin lemah, atau kuasa penurunan harga semakin kukuh, dan isyarat penutupan jual dijanakan jika selepas membuka kedudukan jual, harga naik semula ke landasan tengah Bollinger Bands, kami percaya bahawa daya penurunan harga semakin lemah, atau isyarat penutupan adalah daya belian;

Syarat dagangan

Pembukaan kedudukan panjang:Jika tiada kedudukan, dan harga penutup lebih besar daripada trek atas, dan masanya bukan 14:45
Buka kedudukan pendek:Jika tiada kedudukan, dan harga penutup adalah kurang daripada trek bawah, dan masanya bukan 14:45
Penutupan kedudukan panjang:Jika anda menahan pesanan yang lama, dan harga penutupan adalah kurang daripada trek tengah, atau masa ialah 14:45
Penutupan kedudukan pendek:Jika anda menahan pesanan ringkas, dan harga penutup lebih tinggi daripada trek tengah, atau masa ialah 14:45

Pelaksanaan kod strategi

Untuk melaksanakan strategi, kita perlu terlebih dahulu mempertimbangkan data yang kita perlukan? Melalui API mana untuk mendapatkannya? Kemudian bagaimana untuk mengira logik transaksi? Akhir sekali, apakah kaedah yang digunakan untuk membuat pesanan dan perdagangan? Seterusnya, mari kita laksanakan langkah demi langkah:

Langkah 1: Gunakan Rangka Kerja Strategi CTA

Rangka kerja strategi CTA yang dipanggil ialah rangka kerja standard yang dilancarkan secara rasmi oleh Inventor Quantitative Dengan menggunakan rangka kerja ini, anda tidak perlu risau tentang isu remeh membangunkan strategi dagangan kuantitatif dan boleh memberi tumpuan secara langsung pada logik perdagangan pengaturcaraan. Contohnya, jika anda tidak menggunakan rangka kerja ini, semasa membuat pesanan, anda perlu mempertimbangkan pemindahan bulan ke bulan, harga jual beli pesanan, pembatalan pesanan atau susulan apabila pesanan tidak dilaksanakan, dsb.
img
Rajah 4-21

Gambar di atas ialah rangka kerja strategi CTA menggunakan alat kuantitatif pencipta. Ini ialah format kod tetap, dan semua kod logik transaksi ditulis bermula dari baris 3. Semasa penggunaan, kecuali kod varieti (kuning muda), tiada perubahan lain diperlukan.

Perlu diingatkan bahawa kod produk dalam rajah di atas ialah "rb000/rb888", yang bermaksud bahawa data isyarat menggunakan "rb000", data transaksi menggunakan "rb888", dan peralihan bulan adalah automatik. Sudah tentu, anda juga boleh menentukan kod produk tertentu, seperti kod produk "rb1910", yang bermaksud kedua-dua data isyarat dan data transaksi menggunakan "rb1910".

FMZ mempunyai perpustakaan dagangan niaga hadapan komoditi JavaScript terbina dalam Anda boleh menggunakannya dalam kod anda dengan hanya mengklik pada rujukan dalam antara muka penyuntingan strategi.
img

Langkah 2: Dapatkan pelbagai data

Fikirkan dengan teliti, apakah data yang anda perlukan? Daripada logik perdagangan strategi kami, kami mendapati bahawa: mula-mula kami perlu mendapatkan status kedudukan semasa, kemudian membandingkan hubungan antara harga penutupan dan landasan atas, tengah dan bawah penunjuk Bollinger Band, dan akhirnya menentukan sama ada pasaran akan ditutup. Jadi mari dapatkan data ini.

Mendapatkan data garisan K

Langkah pertama adalah untuk mendapatkan tatasusunan garis-K dan harga penutupan garis-K sebelumnya, kerana hanya dengan tatasusunan garis-K sahaja penunjuk Bollinger Band boleh dikira. Inilah yang kelihatan seperti dalam kod:
img
Rajah 4-22

Seperti yang ditunjukkan dalam rajah di atas:
Baris 4: Dapatkan tatasusunan K-line, yang merupakan format tetap.
Baris 5: Tapis panjang garis K, kerana parameter yang kami gunakan untuk mengira penunjuk Bollinger Band ialah 20. Apabila garis K kurang daripada 20, penunjuk Bollinger Band tidak boleh dikira. Oleh itu, kami perlu menapis panjang K-line di sini Jika terdapat kurang daripada 20 K-line, kami akan kembali terus dan terus menunggu K-line seterusnya.
Baris 6: Daripada tatasusunan garis-K yang diperoleh, mula-mula dapatkan objek garis-K sebelumnya, dan kemudian dapatkan harga penutupan daripada objek. Dapatkan elemen kedua hingga terakhir tatasusunan, iaitu panjang tatasusunan tolak 2 (r[r.length - 2]); Elemen dalam tatasusunan baris-K adalah semua objek, yang mengandungi harga pembukaan, harga tertinggi, harga terendah, harga penutupan, volum dagangan dan masa untuk mendapatkan harga penutupan, cuma tambahkan " dan nama atribut di hujungnya[r.length - 2].Close)。

Dapatkan data masa K-line

Oleh kerana kami menggunakan strategi intraday, kami perlu menutup kedudukan sebelum pasaran ditutup, jadi kami perlu menentukan sama ada K-line semasa hampir dengan penutupan pasaran Jika ia, kami menutup kedudukan tersebut.
img
Rajah 4-23

Seperti yang ditunjukkan dalam rajah di atas:
Baris 8: Dapatkan atribut cap masa bagi baris K semasa, dan kemudian buat objek masa (Tarikh(cap masa) baharu).
Baris 9: Kira jam dan minit berdasarkan objek masa, dan tentukan sama ada masa garis K ialah 14:45.

Dapatkan data kedudukan

Maklumat kedudukan adalah syarat yang sangat penting dalam strategi perdagangan kuantitatif Apabila syarat dagangan dipenuhi, ia juga perlu untuk menentukan sama ada untuk membuat pesanan berdasarkan status kedudukan dan bilangan kedudukan. Sebagai contoh: apabila syarat untuk membuka kedudukan beli dipenuhi, jika anda mempunyai kedudukan, anda tidak perlu membuat pesanan lagi jika anda tidak mempunyai kedudukan, anda boleh membuat pesanan. Inilah yang kelihatan seperti dalam kod:
img
Rajah 4-24
Seperti yang ditunjukkan dalam rajah di atas:
Baris 11: Dapatkan status kedudukan semasa. Jika terdapat berbilang pesanan, nilainya ialah 1; jika terdapat pesanan pendek, nilainya ialah -1 jika tiada kedudukan, nilainya ialah 0;

Dapatkan data Bollinger Bands

Seterusnya, anda perlu mengira nilai trek atas, tengah dan bawah penunjuk Bollinger Band. Kemudian anda perlu mendapatkan tatasusunan Bollinger Bands dahulu, dan kemudian dapatkan nilai-nilai jalur atas, tengah dan bawah daripada tatasusunan. Dalam Alat Kuantitatif Inventor, adalah sangat mudah untuk mendapatkan tatasusunan Bollinger Band Anda boleh terus memanggil API Bollinger Band Bahagian yang sukar adalah untuk mendapatkan nilai rel atas, tengah dan bawah, kerana tatasusunan Bollinger Band adalah tatasusunan dua dimensi.

Tatasusunan dua dimensi sebenarnya sangat mudah difahami Ia adalah tatasusunan dalam tatasusunan Jadi susunan pemerolehan ialah: mula-mula dapatkan tatasusunan yang ditentukan dalam tatasusunan, dan kemudian dapatkan elemen yang ditentukan daripada tatasusunan yang ditentukan, seperti yang ditunjukkan dalam rajah berikut:
img
Rajah 4-25

Seperti yang ditunjukkan dalam rajah di bawah, baris 13 hingga 19 menggunakan kod untuk mendapatkan nilai rel atas, tengah dan bawah Bollinger Bands. Antaranya, baris 13 secara langsung menggunakan API alat kuantitatif pencipta untuk mendapatkan tatasusunan Bollinger Band secara langsung; baris 14 hingga 16 terlebih dahulu mendapatkan tatasusunan rel atas, tatasusunan rel tengah, dan tatasusunan rel bawah masing-masing dalam tatasusunan dua dimensi masing-masing mendapatkan garisan Bollinger Band- rel atas, barisan rel tengah, dan rel bawah bawah; tatasusunan masing-masing.
img
Rajah 4-26

Langkah 3: Buat pesanan

Dengan data di atas, anda boleh menulis logik dagangan dan kod untuk membuat pesanan. Formatnya juga sangat mudah. ​​Yang paling biasa digunakan ialah "penyataan jika", yang boleh diterangkan dalam perkataan sebagai: jika syarat 1 dan syarat 2 dipenuhi, buat pesanan jika syarat 3 atau syarat 4 dipenuhi, buat pesanan. Seperti yang ditunjukkan dalam rajah berikut:
img
Rajah 4-27

Dalam gambar di atas, baris 21 hingga 24 ialah logik dagangan dan kod penempatan pesanan. Dari atas ke bawah ialah: tutup panjang, tutup pendek, buka panjang, buka pendek.

Mengambil membuka kedudukan panjang (baris 23) sebagai contoh, ini ialah "penyataan jika". Jika hanya satu baris kod dilaksanakan dalam pernyataan ini, kurungan kerinting "{}" boleh diabaikan. Pernyataan ini diterjemahkan ke dalam teks sebagai: Jika kedudukan semasa ialah 0, dan harga penutupan adalah lebih besar daripada trek atas, dan masa K-line bukan 14:45, maka "kembali 1"

Orang yang berhati-hati mungkin mendapati bahawa terdapat "pulangan 1" dan "pulangan -1" dalam baris ini. Ini adalah format tetap, yang bermaksud: jika ia adalah pembelian, tulis "pulangan 1" jika ia adalah jualan, tulis "pulangan -1". Membuka kedudukan beli dan menutup kedudukan jual kedua-duanya adalah membeli, jadi tulis "pulangan 1";

Kod strategi lengkap

Pada ketika ini, kod strategi yang lengkap telah ditulis Jika rangka kerja dagangan, data dagangan, logik dagangan, penempatan pesanan, dan lain-lain ditulis secara berasingan, bukankah yang berikut ialah keseluruhan kod strategi ini:
img
Rajah 4-28

Terdapat dua perkara yang perlu diperhatikan: cuba (tetapi tidak semestinya) untuk menulis logik strategi supaya apabila syarat garis K akar dipenuhi, susunan baris K seterusnya diletakkan, atau apabila keadaan garisan K sebelumnya dipenuhi, susunan garisan akar diletakkan Dengan cara ini, hasil ujian belakang tidak akan jauh berbeza daripada keputusan sebenar. Anda tidak perlu menulisnya dengan cara ini, tetapi anda mesti memberi perhatian kepada sama ada logik strategi adalah betul. Secara umumnya, logik menutup kedudukan harus ditulis sebelum logik membuka kedudukan Tujuan melakukan ini adalah untuk menjadikan logik strategi selaras dengan jangkaan anda. Sebagai contoh: Jika logik strategi berlaku untuk mengejar kedudukan songsang, peraturan kedudukan songsang ialah menutup kedudukan dahulu dan kemudian membuka kedudukan baharu. Daripada membuka jawatan baru dahulu dan kemudian menutupnya. Jika kita menulis logik penutup terus sebelum logik pembukaan, masalah ini tidak akan berlaku.

ringkaskan

Di atas, kami telah mempelajari setiap langkah untuk membangunkan strategi dagangan kuantitatif intrahari yang lengkap, termasuk: pengenalan strategi, kaedah pengiraan penunjuk Bollinger Band, logik strategi, syarat jual beli, pelaksanaan kod strategi, dsb. Melalui kes strategi ini, anda bukan sahaja boleh membiasakan diri dengan kaedah pengaturcaraan alat kuantitatif pencipta, tetapi juga menyesuaikannya ke dalam strategi berbeza berdasarkan templat ini.

Strategi perdagangan kuantitatif tidak lebih daripada ringkasan pengalaman atau sistem perdagangan subjektif Jika kita menulis pengalaman atau sistem yang digunakan dalam perdagangan subjektif sebelum menulis strategi, dan kemudian menterjemahkannya ke dalam kod satu persatu, anda akan mendapati bahawa strategi menulis akan menjadi lebih mudah. Cubalah!

Pratonton Bahagian Seterusnya

Dalam pembangunan strategi perdagangan kuantitatif, jika anda hanya boleh memilih satu bahasa pengaturcaraan, maka tanpa teragak-agak, anda mesti memilih Python Daripada pemerolehan data kepada ujian balik strategi kepada perdagangan, Python telah merangkumi keseluruhan rantaian perniagaan. Ia menduduki kedudukan penting dalam bidang pelaburan kuantitatif kewangan Dalam kursus seterusnya, kita akan mempelajari pengetahuan asas bahasa Python.

Kerja rumah

  1. Cuba gunakan pengetahuan dalam bahagian ini untuk melaksanakan strategi purata bergerak berganda.
  2. Cuba laksanakan algoritma penunjuk KDJ menggunakan bahasa JavaScript dalam Alat Kuantitatif Inventor.

4.3 Pengenalan pantas bahasa Python

ringkasan

Dalam pembangunan strategi perdagangan kuantitatif, jika anda hanya boleh memilih satu bahasa pengaturcaraan, maka tanpa teragak-agak, anda mesti memilih Python Daripada pemerolehan data kepada ujian balik strategi kepada perdagangan, Python telah merangkumi keseluruhan rantaian perniagaan. Ia menduduki kedudukan penting dalam bidang pelaburan kuantitatif kewangan Dalam kursus ini, kita akan mempelajari pengetahuan asas bahasa Python.

Mengapa belajar banyak bahasa pengaturcaraan?

Mengimbas kembali kursus sebelumnya, kami telah mempelajari sejumlah: Bahasa Mai, bahasa visual, bahasa JavaScript, termasuk bahasa Python yang perlu dipelajari dalam bahagian ini. Sesetengah rakan mungkin mempunyai soalan Saya di sini untuk belajar perdagangan kuantitatif, mengapa saya perlu belajar banyak bahasa pengaturcaraan?

Sebenarnya, setiap bahasa pengaturcaraan mempunyai ciri bahasanya sendiri, dan tidak ada perbezaan antara bahasa yang baik dan yang buruk Ia lebih bergantung pada bahasa pengaturcaraan strategi anda lebih sesuai dan sama ada bahasa pengaturcaraan ini sesuai dengan anda. Jadi ada pepatah bahawa anda hanya boleh tahu jika anda mencubanya sendiri. Itulah sebabnya kami telah menumpukan banyak ruang untuk bercakap tentang bahasa pengaturcaraan Jika anda ingin melakukan kerja anda dengan baik, anda mesti mengasah alatan anda terlebih dahulu.

Pada masa yang sama, kami juga komited untuk membuka pintu kepada penyelidikan kuantitatif untuk semua orang dan mempopularkan pengetahuan tentang pelbagai bahasa pengaturcaraan tidaklah begitu misteri dan di luar jangkauan seperti yang kami bayangkan.

Mengapa memilih Python untuk perdagangan kuantitatif

Proses perdagangan kuantitatif tidak lebih daripada memperoleh data, menganalisis dan mengira data, memproses data, dan lain-lain. Dari segi analisis data, tiada bahasa lain yang boleh menjadi sebaik pengiraan dan mengekalkan prestasi seperti Python. Terutama dalam pemprosesan data analisis siri masa (K-line ialah data siri masa), Python mempunyai kelebihan yang lebih mudah dan lebih mudah. Di samping itu, berbanding dengan bahasa pengaturcaraan lain, Python lebih ringkas dan mudah dipelajari Membaca program Python yang baik terasa seperti membaca bahasa Inggeris.

Lima sebab untuk memilih Python

1. Aplikasi kuantitatif adalah meluas:

Kedua-dua Quantopian di Amerika Syarikat dan Inventor Quant di China boleh menggunakan bahasa Python.

2. Mudah dipelajari:

Falsafah reka bentuk Python adalah mengutamakan pengguna, dan ia adalah bahasa yang ditafsirkan yang mudah untuk nyahpepijat.

3. Sumber percuma dan terbuka:

Tiada kos penggunaan, perkongsian kod sumber terbuka dan kecekapan pembelajaran dan penggunaan yang dipertingkatkan.

4. Perpustakaan yang kaya:

Pemprosesan data, pengkomputeran data, visualisasi, analisis statistik, analisis teknikal, pembelajaran mesin...

5. Antara muka aplikasi:

Antara muka untuk memperoleh, menyimpan, memanggil dan membuat pesanan berdasarkan maklumat pasaran masa nyata daripada platform utama.

Strategi Lengkap

Untuk membantu anda memahami dengan cepat pengetahuan utama bahagian ini, sebelum memperkenalkan pengenalan pantas bahasa JavaScript terkuantiti pencipta, anda harus terlebih dahulu mempunyai pemahaman awal tentang konsep dalam bahagian ini. Mari kita ambil strategi purata bergerak berganda yang paling mudah sebagai contoh:

Pembukaan kedudukan panjang: Jika tiada kedudukan semasa dan purata bergerak 5 tempoh lebih besar daripada purata bergerak 20 tempoh.
Buka kedudukan pendek: Jika tiada kedudukan semasa dan purata bergerak 5 tempoh adalah kurang daripada purata bergerak 20 tempoh.
Penutupan kedudukan panjang:Jika anda kini memegang kedudukan panjang dan purata bergerak 5 tempoh adalah kurang daripada purata bergerak 20 tempoh.
Penutupan kedudukan pendek: Jika anda pada masa ini memegang kedudukan pendek dan purata bergerak 5 tempoh adalah lebih besar daripada purata bergerak 20 tempoh.

Jika ditulis dalam Python, ia akan kelihatan seperti ini:
img
Rajah 4-29

Kod dalam rajah di atas ialah strategi perdagangan kuantitatif lengkap yang ditulis dalam Python. Ia boleh berjalan dalam masa nyata dan membuat pesanan secara automatik. Dari segi jumlah kod, Python lebih daripada JavaScript, kerana kami tidak menggunakan rangka kerja dagangan CTA.

Walau bagaimanapun, proses reka bentuk keseluruhan strategi adalah hampir sama: menetapkan jenis pasaran, mendapatkan data K-line, mendapatkan maklumat kedudukan, mengira logik dagangan, dan meletakkan pesanan beli dan jual. Dengan kata lain, walaupun sintaks pengaturcaraan berbeza, logik strategi yang ditulis adalah sama, jadi seterusnya, mari belajar sintaks asas Python!

Pemilihan versi

Terdapat dua versi Python, iaitu: Python2 dan Python3 Pernah ada jenaka yang mengatakan Python seperti pistol berlaras dua, tetapi anda hanya boleh menggunakan satu laras untuk menembak peluru pada satu masa, tetapi anda tidak akan tahu yang mana lebih tepat. Jadi jika anda baru mengenali Python, disyorkan untuk mempelajari Python 3 secara langsung kerana ia adalah yang terkini dan telah diselenggara oleh komuniti Python. Kursus kami juga diajar dalam Python 3.

Penjenamaan

Pengecam ialah nama pembolehubah, seperti ujian, Ujian, ujian10,demo, dsb. Segala-galanya dalam Python (pembolehubah, nama fungsi dan pengendali) adalah sensitif huruf besar-besaran, yang bermaksud bahawa ujian nama pembolehubah dan Ujian nama pembolehubah ialah dua pembolehubah yang berbeza. Aksara pertama pengecam (nama pembolehubah, fungsi, sifat, parameter fungsi) mestilah huruf, garis bawah (), aksara yang mengikutinya juga boleh menjadi nombor, seperti yang ditunjukkan dalam rajah berikut:
img
Rajah 4-30

Nota

Komen ialah terjemahan atau penjelasan baris kod Peraturannya sangat mudah dan termasuk ulasan satu baris dan ulasan peringkat blok. Komen satu baris bermula dengan tanda paun (#), dan ulasan blok bermula dengan tiga petikan tunggal (''') atau tiga petikan berganda (""") dan berakhir dengan tiga petikan tunggal (''') atau tiga petikan berganda ("""), seperti yang ditunjukkan dalam rajah berikut:
img
Rajah 4-31

Garisan dan Inden

Ciri Python yang paling tersendiri ialah penggunaan lekukan untuk menunjukkan blok kod, tanpa memerlukan pendakap kerinting {}. Bilangan ruang untuk lekukan adalah berubah-ubah, tetapi pernyataan dalam blok kod yang sama mesti mengandungi bilangan ruang yang sama untuk lekukan. Seperti yang ditunjukkan di bawah: Dalam kes ini, program akan melaporkan ralat. Walaupun syarat if benar, "True" tidak akan dikeluarkan, kerana Python akan secara automatik mengesan sama ada sintaks kod adalah betul sebelum kod dijalankan Jika format kod tidak betul, program tidak akan dijalankan. Sebabnya ialah baris ke-5 kod tidak mempunyai format lekukan kod bersatu. Lekukan empat ruang ialah format tetap untuk Python, dan semua orang perlu biasa dengannya.
img
Rajah 4-32

Pembolehubah

Pembolehubah boleh menyimpan apa-apa jenis data Hanya dengan menulis nama pembolehubah adalah mencipta pembolehubah Walau bagaimanapun, apabila mencipta pembolehubah, anda perlu menetapkan nilai pembolehubah pada masa yang sama, jika tidak, program akan melaporkan ralat. Bahagian kiri pengendali tanda sama (=) ialah nama pembolehubah, dan bahagian kanan pengendali tanda sama (=) ialah nilai yang disimpan dalam pembolehubah. Seperti yang ditunjukkan dalam rajah di bawah: nama2 ialah nama pembolehubah, dan "kuantifikasi pencipta" ialah nilai pembolehubah. Jika anda tidak menetapkan nilai baharu untuk name2, nilai name2 akan sentiasa menjadi "kuantifikasi pencipta".
img
Rajah 4-33

data

Python mempunyai enam jenis data, tiga daripadanya tidak berubah dan tiga boleh berubah. Seperti namanya, sebaik sahaja data tidak berubah dicipta, nilainya tidak boleh diubah dan alamatnya dalam ingatan adalah unik data boleh ubah adalah rujukan kepada alamat dalam ingatan, dan jika nilainya berubah, alamat ingatannya kekal tidak berubah.
Data tidak berubah (3): Nombor, Rentetan, Tuple;
Data boleh ubah (3): Senarai, Kamus, Set.
img
Rajah 4-34

Nombor

Jenis angka Python menyokong int (integer), float (titik terapung), bool (Boolean) dan kompleks (nombor kompleks). Fungsi jenis() terbina dalam boleh digunakan untuk menanyakan jenis objek yang dirujuk oleh pembolehubah. Seperti yang ditunjukkan di bawah:
img
Rajah 4-35

Pengendali

Seperti kebanyakan bahasa, matematik dalam Python adalah mudah. Sama ada operator aritmetik, operator perbandingan atau operator logik, semuanya adalah sama seperti apa yang kita pelajari di sekolah. Antaranya, operator aritmetik ialah operasi matematik penambahan, penolakan, pendaraban dan pembahagian boleh membandingkan sama ada dua nilai kurang daripada atau kurang daripada: logik DAN, logik ATAU, dan logik NOT. [Bolehkah anda bercakap secara ringkas tentang rentetan yang biasa digunakan dalam strategi perdagangan?] Contohnya, dalam strategi dagangan kami, rentetan yang paling biasa digunakan ialah kod produk, seperti: "rb1910", "MA1910".
img
Rajah 4-36

Perlu diingatkan bahawa "dan" adalah logik DAN, yang bermaksud "dan". "atau" ialah OR logik, yang bermaksud "sama ada". "!" ialah penafian logik, yang bermaksud "tidak":
"dan" bermakna apabila semua syarat adalah "benar", syarat terakhir adalah "benar";
"atau" bermaksud bahawa di antara semua syarat, selagi mana-mana satu daripadanya adalah "benar", syarat terakhir adalah "benar".

Keutamaan

Jika ada 100*Untuk ungkapan (10-1)/(10+5), langkah manakah program dikira dahulu? Matematik sekolah menengah memberitahu kita: ① Jika ia adalah operasi tahap yang sama, ia biasanya dikira dari kiri ke kanan. ② Jika terdapat penambahan dan penolakan serta pendaraban dan pembahagian, hitung pendaraban dan bahagi dahulu, kemudian tambah dan tolak. ③Jika terdapat kurungan, kira kandungan di dalam kurungan dahulu. ④ Jika ia mematuhi undang-undang operasi, undang-undang operasi boleh digunakan untuk memudahkan pengiraan. Keutamaan bahasa Mai adalah sama seperti yang ditunjukkan di bawah:
img
Rajah 4-37

Boolean

Boolean mewakili benar atau salah dan biasanya digunakan dalam pertimbangan bersyarat dan pernyataan gelung. Python mentakrifkan dua pemalar "Benar" dan "Salah" untuk mewakili benar dan salah. Malah, sebarang objek boleh ditukar kepada jenis Boolean dan juga boleh digunakan secara langsung untuk penghakiman bersyarat, seperti yang ditunjukkan dalam rajah berikut:
img
Rajah 4-38

Senar

Rentetan ialah teks, seperti "if1905", sering digunakan semasa menetapkan kod produk. Rentetan dalam Python disertakan dalam petikan tunggal ' atau petikan berganda ". Tanda tambah + ialah operator penggabungan rentetan. Anda boleh mendapatkan aksara dalam rentetan berdasarkan nilai indeks, seperti yang ditunjukkan di bawah:
img
Rajah 4-39

Senaraikan

Senarai ialah jenis data yang paling kerap digunakan dalam Python Anda boleh menganggap senarai sebagai bekas, kecuali elemen dalam bekas disusun mengikut urutan dari kiri ke kanan Elemen pertama ialah 0, elemen kedua ialah 1, dan seterusnya. Di samping itu, senarai Python boleh menyimpan sebarang jenis data, seperti yang ditunjukkan di bawah:
img
Rajah 4-40

fungsi

Fungsi dalam Python pada asasnya adalah sama dengan fungsi yang kami pelajari di sekolah menengah Anda boleh menganggapnya sebagai apa yang dihantar dan apa yang dikeluarkan melalui pengiraan fungsi, seperti yang ditunjukkan dalam rajah berikut:
img
Rajah 4-41

Pernyataan if

Jika kenyataan sering muncul dalam hidup kita, contohnya: Jika hari ini hujan, saya akan pegang payung. Iaitu, pernyataan akan melaksanakan kod hanya apabila keadaan yang ditentukan adalah Benar. Perhatikan, perhatikan format lekukan kod, jika tidak ralat Python akan dihasilkan! Seperti yang ditunjukkan dalam rajah berikut:
img
Rajah 4-42

jika...pernyataan lain

Jika...penyataan lain juga merupakan penyataan yang biasa digunakan, contohnya: Jika hari ini hujan, saya akan pegang payung; Pernyataan else ialah lanjutan daripada pernyataan if, iaitu, kod berikut else akan dilaksanakan hanya apabila syarat yang ditentukan adalah Palsu. Seperti yang ditunjukkan dalam rajah berikut:
img
Rajah 4-43

Penyata elif

Memandangkan Python tidak menyokong pernyataan suis, Python hanya boleh menggunakan pernyataan elif untuk melaksanakan pelbagai pertimbangan bersyarat. Sebagai contoh: jika ia adalah garisan positif, saya akan menaik, sebaliknya, jika ia adalah garisan negatif, saya akan menurun jika tidak, saya akan tunggu dan lihat. Seperti yang ditunjukkan dalam rajah berikut:
img
Rajah 4-44

untuk gelung

Kadang-kadang kita perlu mendapatkan data garis-K beberapa hari yang lalu, dan kita perlu mendapatkannya daripada tatasusunan garis-K mengikut urutan mengikut kedudukan data garis-K Kemudian adalah sangat mudah untuk menggunakan gelung for, seperti yang ditunjukkan dalam rajah berikut:
img
Rajah 4-45

Manakala Gelung

Kita semua tahu bahawa pasaran sentiasa berubah Jika anda ingin mendapatkan tatasusunan K-line yang terkini, anda perlu terus menjalankan kod yang sama berulang kali.
img
Rajah 4-46

patah kenyataan dan teruskan kenyataan

Gelung mempunyai prasyarat Hanya apabila prasyarat adalah "benar" akan gelung mula melakukan sesuatu berulang kali, dan gelung tidak akan berakhir sehingga prasyarat adalah "salah". Walau bagaimanapun, pernyataan putus boleh segera melompat keluar daripada gelung semasa pelaksanaan gelung itu boleh mengganggu gelung tertentu dan kemudian meneruskan gelung seterusnya. Seperti yang ditunjukkan dalam rajah berikut:
img
Rajah 4-47

penyata pulangan

Pernyataan pulangan menamatkan pelaksanaan fungsi dan mengembalikan nilai fungsi. Penyataan pulangan hanya boleh muncul dalam badan fungsi Jika ia muncul di tempat lain dalam kod, ia akan menyebabkan ralat sintaks!
img
Rajah 4-48

Rangka Kerja Strategi

Anda boleh memahami seni bina strategi sebagai format tetap strategi Alat kuantitatif pencipta menggunakan mod pengundian Berikut ialah seni bina strategi niaga hadapan komoditi.

Baris 4 hingga 7 ialah fungsi masuk utama bagi keseluruhan program, iaitu, komputer mula melaksanakan kod dari baris 4 kemudian ia secara langsung melaksanakan baris 5 dan memasuki gelung tak terhingga (onTick) dan fungsi tidur (Sleep) dilaksanakan dalam gelung tak terhingga, dan kod yang anda boleh tulis dalam baris 1; kelajuan pelaksanaan program adalah sangat pantas, jadi menggunakan fungsi tidur (Tidur) boleh menjeda atur cara untuk seketika Kod berikut Tidur(500) bermakna ia tidur selama 500 milisaat setiap kali gelung selesai.
img
Rajah 4-49

ringkaskan

Di atas adalah pengenalan cepat kepada bahasa Python Walaupun ia hanya pengetahuan asas yang mudah, ia masih tiada masalah untuk menggunakannya untuk menulis strategi perdagangan kuantitatif yang mudah. Jika anda perlu menulis strategi yang lebih kompleks, anda boleh merujuk kepada dokumentasi API bahasa Python bagi Alat Kuantitatif Pencipta.

Pratonton Bahagian Seterusnya

Antara strategi trend dalam bidang analisis teknikal, purata bergerak dan penembusan saluran sudah pasti dua sekolah utama. Walaupun matlamatnya adalah untuk menangkap arah aliran pergerakan harga, falsafah dagangan dan ciri risiko kedua-dua strategi ini adalah berbeza sama sekali. Selepas mempelajari pengenalan bahasa Python dalam bahagian ini, dalam bahagian seterusnya kami akan menunjukkan kepada anda cara menulis strategi perdagangan kuantitatif untuk penembusan saluran.

Kerja rumah

  1. Cuba gunakan bahasa Python dalam Alat Kuantitatif Pencipta untuk mendapatkan data K-line sejarah.
  2. Cuba tulis kod strategi pada permulaan bahagian ini dan tambahkan komen.

4.4 Bagaimana untuk melaksanakan perdagangan strategi menggunakan bahasa Python

ringkasan

Dalam artikel sebelumnya, kami mempelajari pengenalan, sintaks asas, rangka kerja strategi, dll. bahasa Python. Walaupun kandungannya membosankan, ia adalah kemahiran penting untuk anda melaksanakan strategi dagangan anda dan anda mesti mempelajarinya. Dalam artikel ini, kami akan menyerang semasa besi panas dan meneruskan pengetahuan asas Python dalam artikel sebelumnya Kami akan bermula dengan strategi mudah, belajar sambil menggunakan, dan membantu semua orang merealisasikan strategi perdagangan kuantitatif yang boleh dilaksanakan langkah demi langkah.

Pengenalan Strategi

Di antara banyak strategi perdagangan, strategi Saluran Donchian harus menjadi salah satu strategi terobosan yang paling klasik Ia terkenal seawal tahun 1970. Pada masa itu, sebuah syarikat asing menjalankan ujian simulasi dan penyelidikan mengenai strategi perdagangan program arus perdana bahawa , antara semua ujian strategi, strategi Saluran Donchian adalah yang paling berjaya.

Kemudian, latihan pedagang "Penyu" yang paling terkenal dalam sejarah perdagangan berlaku di Amerika Syarikat, yang membawa kepada kejayaan besar. Pada masa itu, kaedah perdagangan "Penyu" dirahsiakan, tetapi lebih sepuluh tahun kemudian, apabila "Peraturan Perdagangan Penyu" didedahkan kepada umum, orang ramai mendapati bahawa "Penyu" menggunakan versi Saluran Donchian yang lebih baik. strategi.

Strategi dagangan terobosan adalah sesuai untuk produk dagangan dengan arah aliran yang agak lancar Kaedah dagangan terobosan yang paling biasa adalah menggunakan hubungan kedudukan relatif antara harga dan sokongan dan rintangan untuk menentukan mata belian dan jualan dagangan tertentu. Strategi Saluran Donchian dalam bahagian ini adalah berdasarkan prinsip ini.

Peraturan Strategi Saluran Donchian

Saluran Donchian ialah penunjuk arah aliran, dan penampilan serta isyaratnya agak serupa dengan penunjuk Bollinger Band. Tetapi saluran harga Donchian dibina berdasarkan harga tertinggi dan terendah dalam tempoh masa tertentu. Sebagai contoh: hitung nilai maksimum harga tertinggi bagi 50 K-line terkini untuk membentuk trek atas;
Penunjuk ini terdiri daripada tiga lengkung warna yang berbeza. Lalai adalah harga tertinggi dan terendah dalam tempoh 20 untuk menunjukkan turun naik harga pasaran Apabila saluran sempit, ia bermakna turun naik pasaran adalah kecil.

Jika harga naik di atas landasan atas, ia adalah isyarat beli sebaliknya, jika harga jatuh di bawah landasan bawah, ia adalah isyarat jual. Memandangkan trek atas dan bawah dikira menggunakan harga tertinggi dan terendah, dalam keadaan biasa, harga jarang naik dan turun di bawah garis saluran atas dan bawah pada masa yang sama. Dalam kebanyakan kes, harga bergerak secara unilateral di sepanjang trek atas atau bawah, atau antara trek atas dan bawah.

Kaedah pengiraan saluran Donchian

Dalam Alat Kuantitatif Inventor, kaedah pengiraan Saluran Donchian adalah sangat mudah Anda boleh menggunakannya secara langsung untuk mendapatkan harga tertinggi atau harga terendah dalam tempoh yang ditetapkan, seperti yang ditunjukkan dalam rajah di bawah: baris ke-5 adalah untuk mendapatkan nilai maksimum harga tertinggi 50 tempoh, dan baris ke-6 adalah untuk mendapatkan nilai minimum harga tempoh terendah 50.
img
Rajah 4-50

Logik Strategi

Terdapat banyak cara untuk menggunakan Saluran Donchian Ia boleh digunakan secara bersendirian atau digabungkan dengan penunjuk lain. Dalam kursus ini kita akan menggunakan kaedah yang paling mudah. Iaitu, apabila harga menembusi trek atas dari bawah ke atas, iaitu, menembusi garis tekanan atas, kami percaya bahawa daya kenaikkan semakin kuat, gelombang pasaran meningkat telah terbentuk, dan isyarat pembukaan beli dijana; apabila harga jatuh dari atas ke bawah dan menembusi landasan yang lebih rendah , iaitu, apabila ia jatuh di bawah garis sokongan, kami percaya bahawa bahagian pendek semakin kukuh, arah aliran menurun telah terbentuk dan pembukaan jualan isyarat dihasilkan.
img
Rajah 4-51

Jika harga jatuh kembali ke landasan tengah Saluran Donchian selepas kedudukan beli dibuka, kami percaya bahawa kenaikan harga semakin lemah atau penurunan harga semakin kukuh, dan isyarat jualan dijana jika harga jatuh kembali ke bahagian tengah jejak Saluran Donchian selepas kedudukan pendek dibuka, kami percaya bahawa kenaikan harga semakin lemah atau penurunan harga semakin kukuh, dan isyarat jualan terhasil Apabila ia naik semula ke landasan tengah Saluran Donchian, kami percaya bahawa kekuatan beruang semakin lemah, atau kekuatan lembu jantan semakin kukuh, dan isyarat beli-untuk-tutup dijana.

Syarat dagangan
Pembukaan kedudukan panjang: Jika tiada kedudukan dan harga penutup lebih besar daripada trek atas
Buka kedudukan pendek: Jika tiada kedudukan dan harga penutup kurang daripada trek bawah
Penutupan kedudukan panjang:Jika anda memegang pesanan lama dan harga penutupan adalah kurang daripada trek tengah
Penutupan kedudukan pendek:Jika anda memegang pesanan pendek dan harga penutupan adalah lebih tinggi daripada trek tengah

Pelaksanaan kod strategi

Langkah pertama untuk melaksanakan strategi adalah untuk mendapatkan data, kerana data adalah prasyarat untuk strategi perdagangan Bayangkan data apa yang kita perlukan? Dan bagaimana untuk mendapatkan data ini? Kemudian kami mereka bentuk logik dagangan berdasarkan data ini akhirnya, kami membuat pesanan beli dan jual mengikut logik dagangan. Langkah-langkah khusus adalah seperti berikut:

Langkah 1: Gunakan perpustakaan dagangan

Anda boleh menganggap perpustakaan perdagangan sebagai modul berfungsi Kelebihan menggunakan perpustakaan perdagangan ialah ia membolehkan anda memberi tumpuan kepada menulis logik strategi. Sebagai contoh: apabila kita menggunakan perpustakaan perdagangan, apabila membuka dan menutup posisi, kita boleh terus menggunakan API pesanan dalam perpustakaan perdagangan, tetapi jika kita tidak menggunakan perpustakaan perdagangan, apabila membuka dan menutup kedudukan, kita perlu mendapatkan harga pasaran, pertimbangkan masalah meletakkan pesanan tetapi tidak dilaksanakan, pertimbangkan masalah pembatalan pesanan, dll.
img
Rajah 4-52

Gambar di atas ialah rangka kerja strategi CTA menggunakan alat kuantitatif pencipta. Ini ialah format kod tetap, dan semua kod logik transaksi ditulis bermula dari baris 4. Tiada pengubahsuaian diperlukan di tempat lain.

Pustaka templat JavaScript terbina dalam, Python perlu menyalin dan menyimpan templat ini: https://www.fmz.com/strategy/24288. Kemudian klik Rujukan pada halaman penyuntingan dasar. Sudah tentu, anda juga boleh melengkapkan strategi tanpa menggunakan perpustakaan templat.

img

Langkah 2: Dapatkan pelbagai data

Fikirkan dengan teliti, apakah data yang anda perlukan? Daripada logik perdagangan strategi kami, kami mendapati bahawa: mula-mula kami perlu mendapatkan status kedudukan semasa, kemudian membandingkan hubungan antara harga penutupan dan landasan atas, tengah dan bawah penunjuk Bollinger Band, dan akhirnya menentukan sama ada pasaran akan ditutup. Jadi mari dapatkan data ini.

Mendapatkan data garisan K

Langkah pertama adalah untuk mendapatkan tatasusunan garis-K dan harga penutupan garis-K semasa Hanya dengan tatasusunan garis-K kami boleh memanggil API untuk mendapatkan harga tertinggi atau terendah bagi tempoh N. Inilah yang kelihatan seperti dalam kod:
img
Rajah 4-53
Seperti yang ditunjukkan dalam rajah di atas:
Baris 4: Dapatkan tatasusunan K-line, yang merupakan format tetap.
Baris 5: Tapis panjang garis-K Kerana kami mengira harga tertinggi atau terendah tempoh N, parameter yang digunakan ialah 50. Apabila bilangan garisan K kurang daripada 50, ia tidak boleh dikira. Oleh itu, kita perlu menapis panjang garisan K di sini Jika terdapat kurang daripada 50 garisan K, langkau gelung ini dan teruskan menunggu garisan K seterusnya.
Baris 6: Kami menggunakan kod "rekod[len(records) - 1]" mula-mula mendapat data terakhir tatasusunan K-line, iaitu, data K-line terkini. Data ini ialah objek, yang mengandungi: harga pembukaan, harga tertinggi, harga terendah, harga tutup, volum dagangan, masa dan data lain. Memandangkan ia adalah objek, kami boleh terus menggunakan ".Close" untuk mendapatkan harga penutupan K-line terkini.

Dapatkan data kedudukan

Maklumat kedudukan adalah syarat yang sangat penting dalam strategi perdagangan kuantitatif Apabila syarat dagangan dipenuhi, ia juga perlu untuk menentukan sama ada untuk membuat pesanan berdasarkan status kedudukan dan bilangan kedudukan. Sebagai contoh: apabila syarat untuk membuka kedudukan beli dipenuhi, jika anda mempunyai kedudukan, anda tidak perlu membuat pesanan lagi jika anda tidak mempunyai kedudukan, anda boleh membuat pesanan. Kali ini kami terus merangkum maklumat kedudukan ke dalam fungsi, dan kami boleh menggunakannya dengan hanya memanggil fungsi ini:
img
Rajah 4-54

Seperti yang ditunjukkan dalam rajah di atas:
Ini adalah fungsi yang memperoleh maklumat kedudukan Jika ia adalah kedudukan pendek, ia mengembalikan 0 jika ia adalah kedudukan panjang, ia mengembalikan 1 Perhatikan kod di atas:
Baris 2: Buat fungsi bernama mp, yang tidak mempunyai parameter.
Baris 3: Dapatkan tatasusunan kedudukan, yang merupakan format tetap.
Baris 4: Tentukan panjang tatasusunan kedudukan Jika panjangnya sama dengan , ia mestilah kedudukan kosong, jadi kembalikan 0
Baris 6: Gunakan gelung for untuk mula melintasi tatasusunan Logik berikut adalah sangat mudah.
Baris 18: Panggil fungsi mp yang baru kami tulis untuk mendapatkan maklumat kedudukan.

Dapatkan harga tertinggi dan terendah bagi 50 K talian terakhir

Dalam Alat Kuantitatif Inventor, anda boleh mendapatkannya secara terus dengan menggunakan fungsi "TA.Highest" dan "TA.Lowest" tanpa perlu menulis sendiri pengiraan logik. Dan hasil yang dikembalikan oleh fungsi "TA.Highest" dan "TA.Lowest" adalah nilai khusus dan bukannya tatasusunan. Ini sangat mudah. ​​Bukan itu sahaja, pegawai itu mempunyai ratusan fungsi penunjuk terbina dalam.
img
Rajah 4-55

Seperti yang ditunjukkan dalam rajah di atas:
Baris 19: Panggil fungsi "TA.Highest" untuk mendapatkan nilai maksimum harga tertinggi dalam 50 tempoh
Baris 20: Panggil fungsi "TA.Lowest" untuk mendapatkan nilai minimum harga terendah dalam 50 tempoh
Baris 21: Kira nilai purata berdasarkan nilai maksimum harga tertinggi dalam 50 tempoh dan nilai minimum harga terendah dalam 50 tempoh

Langkah 3: Buat pesanan

Dengan data di atas, anda boleh menulis logik dagangan dan kod untuk membuat pesanan. Formatnya juga sangat mudah. ​​Yang paling biasa digunakan ialah "penyataan jika", yang boleh diterangkan dalam perkataan sebagai: jika syarat 1 dan syarat 2 dipenuhi, buat pesanan jika syarat 3 atau syarat 4 dipenuhi, buat pesanan.
img
Rajah 4-56

Seperti yang ditunjukkan dalam rajah di atas:
Baris 22: Gunakan perpustakaan transaksi, yang merupakan format tetap
Baris 23 dan 24: Ini adalah pernyataan untuk menutup kedudukan panjang, yang menggunakan "operator perbandingan" dan "operator logik" yang kami pelajari sebelum ini. Ini bermakna jika anda sedang memegang kedudukan panjang dan harga penutupan kurang daripada landasan tengah, semua kedudukan akan ditutup.
Baris 25 dan 26: Ini adalah pernyataan untuk menutup pesanan pendek, yang menggunakan "operator perbandingan" dan "operator logik" yang kami pelajari sebelum ini. Ini bermakna jika anda sedang memegang pesanan pendek dan harga penutupan lebih besar daripada landasan tengah, semua kedudukan akan ditutup.
Baris 27: Tentukan status kedudukan semasa Jika kedudukan pendek, teruskan ke langkah seterusnya.
Baris 28 dan 29: Tentukan sama ada harga penutupan lebih besar daripada landasan atas Jika harga penutup meningkat di atas landasan atas, beli untuk membuka kedudukan.
Baris 30 dan 31: Tentukan sama ada harga penutup adalah kurang daripada landasan bawah Jika harga penutup jatuh di bawah landasan bawah, jual dan buka kedudukan.

ringkaskan

Di atas, kami telah mempelajari setiap langkah untuk membangunkan strategi perdagangan kuantitatif lengkap menggunakan Python, termasuk: pengenalan strategi, kaedah pengiraan saluran Donchian, logik strategi, syarat jual beli, pelaksanaan kod strategi, dsb. Bahagian ini hanyalah strategi mudah, sebagai titik permulaan Terdapat lebih daripada satu kaedah Anda boleh menindih kaedah dagangan yang berbeza mengikut sistem dagangan anda sendiri untuk membentuk strategi dagangan kuantitatif anda sendiri.

Pratonton Bahagian Seterusnya

Dalam pembangunan strategi perdagangan kuantitatif, dari perspektif kelajuan pelaksanaan bahasa pengaturcaraan, jika kita bertanya bahasa mana yang paling cepat, ia hanya boleh C++. Terutamanya dalam bidang derivatif dan perdagangan frekuensi tinggi, C++ mempunyai kekhususan bahasa yang unik dan kelebihan dalam pengiraan berangkanya boleh ditingkatkan dengan beberapa urutan magnitud berbanding JavaScript dan Python Jika anda ingin mengembangkan dalam bidang derivatif dan perdagangan frekuensi tinggi pada masa hadapan, ini akan menjadi kursus yang anda tidak boleh ketinggalan.

Kerja rumah

  1. Mulakan dengan menyalin dan melaksanakan strategi dalam bahagian ini.
  2. Cuba tambah penunjuk purata bergerak pada strategi dalam bahagian ini untuk mengurangkan kekerapan transaksi.

Bab 5 Strategi Ujian Balik, Nyahpepijat dan Penambahbaikan

5.1 Kepentingan dan kelemahan ujian belakang

ringkasan

Ujian belakang ialah perbezaan terbesar antara dagangan kuantitatif dan perdagangan tradisional Berdasarkan data pasaran sebenar yang telah berlaku dalam sejarah, ia dengan cepat mensimulasikan isyarat strategi dan transaksi pemadanan untuk mendapatkan laporan prestasi dan data lain dalam tempoh masa. Ia merupakan salah satu komponen terpenting dalam pembangunan strategi untuk saham domestik dan asing, niaga hadapan komoditi, pertukaran asing dan pasaran lain.

Kepentingan ujian belakang

Dalam bab sebelumnya, kami mempelajari asas-asas bahasa pengaturcaraan arus perdana dan mengajar anda cara menggunakan asas pengaturcaraan ini untuk menulis beberapa strategi perdagangan mudah. ​​Boleh dikatakan bahawa kami telah melalui lebih daripada separuh perjalanan. Walau bagaimanapun, sebaik sahaja strategi ditulis, ia tidak boleh dipraktikkan secara langsung Ia masih memerlukan ujian belakang berterusan - penyahpepijatan - ujian belakang - penyahpepijatan - dan seterusnya, sehingga strategi dapat melaksanakan kandungan model sepenuhnya dan berjalan dengan lancar.

Dari perspektif logik perdagangan kuantitatif, strategi sebenarnya berdasarkan siri kognisi dan andaian tentang pasaran dengan cekap boleh menentukan sama ada andaian ini sah dan stabil. Apakah kerugian yang mungkin berlaku semasa tempoh sejarah yang tidak stabil dan cara membantu dalam membuat keputusan untuk mengelakkan kerugian tersebut.

Di samping itu, dari perspektif operasi dagangan kuantitatif, ujian belakang boleh membantu mengesan pepijat dalam logik strategi, seperti fungsi masa hadapan, mencuri harga, pelbagai pemasangan, dll. Sediakan bukti yang boleh dipercayai bahawa strategi boleh digunakan dalam perdagangan sebenar.

  • Sahkan ketepatan isyarat dagangan.
  • Sahkan logik transaksi dan sama ada idea anda boleh dilaksanakan.
  • Temui kelemahan dalam sistem perdagangan anda dan perbaiki strategi asal anda.

Oleh itu, kepentingan ujian belakang adalah untuk memulihkan proses dagangan sebenar serealistik mungkin melalui data sejarah, mengesahkan keberkesanan strategi, mengelak daripada membayar harga yang tinggi untuk strategi yang salah, dan membantu kami menyaring, menambah baik dan mengoptimumkan strategi dagangan.

Ujian Balik Perangkap

Isyarat perangkap ujian belakang berkelip:

Strategi dagangan diuji semula berdasarkan data sejarah statik. Data transaksi sebenar adalah dinamik. Contohnya: Jika harga tertinggi lebih besar daripada harga penutup semalam, maka beli untuk membuka kedudukan. Dalam dagangan sebenar, jika K-line belum selesai, harga tertinggi akan menjadi dinamik dan isyarat dagangan mungkin berkelip ke belakang dan ke belakang. Semasa ujian balik, enjin ujian belakang boleh mensimulasikan transaksi yang sepadan berdasarkan data sejarah statik.

Perangkap ujian belakang fungsi masa hadapan:

Fungsi masa hadapan menggunakan harga masa hadapan, yang bermaksud keadaan semasa boleh diubah suai pada masa hadapan Fungsi masa hadapan juga boleh menyebabkan isyarat berkelip. Jadi mana-mana fungsi mempunyai ciri-ciri fungsi masa hadapan, seperti "fungsi zigzag".

Seperti yang ditunjukkan dalam rajah di bawah: Fungsi ZigZag menunjukkan titik pusingan puncak dan palung Ia boleh melaraskan nilainya mengikut harga masa nyata terkini Walau bagaimanapun, jika harga semasa berubah, hasil yang dikira oleh fungsi ZigZag juga akan berubah. Jika fungsi dengan fungsi masa hadapan digunakan, isyarat pesanan semasa boleh diwujudkan dan pesanan boleh dibuat, tetapi isyarat mungkin tidak ditubuhkan selepas beberapa ketika.
img
Rajah 5-1

Perangkap Ujian Belakang: Curi Harga

Apa yang dipanggil mencuri harga merujuk kepada menggunakan harga masa lalu untuk berdagang. Contohnya: jika harga tertinggi lebih besar daripada harga tetap, beli pada harga pembukaan. Syarat ini mencuri harga, kerana dalam pasaran sebenar, apabila harga tertinggi lebih besar daripada harga tertentu, harga sudah berada pada jarak tertentu lebih tinggi daripada harga pembukaan, dan pada masa ini ia tidak boleh dibeli pada harga pembukaan. Tetapi dalam ujian belakang, terdapat isyarat beli dan transaksi boleh diselesaikan.

Terdapat satu lagi situasi. Jika harga melonjak lebih tinggi dan dibuka lebih tinggi daripada harga tetap yang ditetapkan oleh strategi, urus niaga boleh diselesaikan pada harga tetap semasa ujian balik, tetapi harga tetap ini jelas tidak tersedia di pasaran sebenar.

Perangkap Ujian Belakang: Harga Transaksi Mustahil

Terdapat beberapa situasi di mana harga tidak boleh didagangkan:
Yang pertama: Dalam perdagangan sebenar, anda biasanya tidak boleh membeli apabila harga mencapai had atas, dan sebaliknya. Walau bagaimanapun, adalah mungkin untuk berdagang dalam ujian belakang.

Jenis kedua: Mekanisme padanan pertukaran ialah: keutamaan harga dan keutamaan masa. Sesetengah jenis selalunya mempunyai pesanan yang besar pada harga pasaran Jika anda membuat pesanan beli atau jual semasa perdagangan sebenar, anda perlu menunggu harga pasaran menebal sebelum urus niaga boleh diselesaikan, atau bahkan tidak dapat diselesaikan. Walau bagaimanapun, semasa ujian belakang, pesanan beli dan jual yang belum selesai boleh dilaksanakan.

Jenis ketiga: Jika ia adalah strategi arbitraj, maka keuntungan backtesting adalah sangat tinggi, kerana setiap kali semasa backtesting, diandaikan bahawa perbezaan harga ini telah direbut. Pada hakikatnya, banyak spread harga tidak boleh direbut, atau hanya satu kaki yang direbut Secara umumnya, kaki yang tidak sesuai dengan arahan anda akan dilaksanakan terlebih dahulu, jadi anda perlu mengisi bahagian lain dengan segera Pada masa ini, gelinciran tidak lagi 1 atau 2 mata, dan strategi arbitraj itu sendiri tidak boleh disimulasikan dalam situasi ini. Keuntungan sebenar tidak sebaik backtest.

Jenis keempat: acara angsa hitam. Seperti yang ditunjukkan dalam bulatan merah dalam rajah di bawah, dalam acara angsa hitam franc Swiss, walaupun terdapat harga pembukaan, harga tertinggi, harga terendah, dan harga penutupan di permukaan, sebenarnya, dalam keadaan pasaran yang melampau pada hari itu, harga di tengah-tengah adalah hampa, sejumlah besar pesanan henti rugi menyebabkan rempuhan, kecairan adalah sifar, dan urus niaga adalah sangat sukar, tetapi henti rugi dalam ujian kembali.
img
Rajah 5-2

Perangkap Ujian Belakang: Pemasangan Terlebih

Setiap kali saya melihat gambar di bawah, saya berfikir: Hahahaha... Dari gambar di bawah, anda boleh melihat bahawa model yang tidak masuk akal, selagi ia cukup kompleks, boleh menyesuaikan diri dengan data dengan sempurna.
img
Rajah 5-3

Untuk dagangan kuantitatif, ujian belakang adalah berdasarkan data sejarah, tetapi sampel data sejarah adalah terhad Jika strategi dagangan mempunyai terlalu banyak parameter atau logik dagangan terlalu rumit, strategi dagangan akan terlalu disesuaikan dengan data sejarah.

Proses pemodelan strategi kuantitatif pada asasnya adalah proses mencari data bukan rawak tempatan daripada sejumlah besar data yang kelihatan rawak Tanpa bantuan pengetahuan statistik, ia adalah mudah untuk jatuh ke dalam perangkap overfitting.

Jadi, jangan menipu diri sendiri. Jika anda mendapati bahawa data luar sampel tidak menunjukkan prestasi yang baik, dan anda fikir adalah sayang untuk membuang model atau anda tidak mahu mengakui bahawa model anda tidak bagus, dan anda terus mengoptimumkan model pada data keluar sampel sehingga ia berfungsi dengan baik pada data keluar sampel, maka akhirnya wang titik peluh anda yang akan dirugikan.

Perangkap Ujian Belakang: Bias Terselamat

Ada jenaka popular di Wall Street: Katakan terdapat 1,000 monyet yang menyertai pelaburan dalam pasaran Pada tahun pertama, 500 ekor monyet yang kalah di pasaran akan dihapuskan. Pada tahun kedua, separuh daripada monyet telah dihapuskan lagi, meninggalkan 250 monyet. Pada penghujung tahun ketiga, terdapat 125 ekor monyet yang tinggal.
img
Rajah 5-4

Menjelang tahun kesembilan, hanya seekor monyet yang tinggal. Kemudian anda melihatnya, kiri dan kanan, dan ia kelihatan biasa. Akhirnya, apabila saya melihat muka depan majalah kewangan, saya tiba-tiba teringat, "Oh, ini bukan Buffett!"

Sudah tentu ini hanya gurauan, tetapi pernahkah anda terfikir sekiranya terdapat 1,000 pengurus dana, maka selepas 10 tahun, kira-kira 10 pengurus dana akan mengatasi prestasi pasaran selama 10 tahun berturut-turut. Tetapi ini mungkin ditentukan oleh rawak dan nasib, dan tiada kaitan dengan kemahiran pengurus dana.

Sama seperti prestasi backtest di sebelah kiri gambar di bawah, saya percaya bahawa kebanyakan pelabur akan kagum. Strategi pelaburan ini mempunyai prestasi yang sangat kukuh dengan hampir tiada pengeluaran yang ketara.
img
Rajah 5-5

Tunggu sebentar, seperti yang ditunjukkan dalam gambar di sebelah kanan, keadaan sebenar di dalam. Ternyata lengkung paling belakang di sebelah kiri adalah yang terbaik di antara banyak ujian belakang. Maksudnya, dalam ujian belakang di sebelah kiri, terdapat banyak situasi dengan prestasi yang lebih teruk.

Perangkap Ujian Belakang: Kos Kesan

Dalam persekitaran dagangan sebenar, harga sentiasa berubah-ubah Apabila anda melihat peluang dagangan dan membuat pesanan, harga mungkin telah berubah. Oleh itu, masalah slippage tidak dapat dielakkan, sama ada dalam perdagangan subjektif atau dalam perdagangan kuantitatif.

Walau bagaimanapun, ujian belakang adalah berdasarkan data statik dan sukar untuk mensimulasikan persekitaran dagangan sebenar. Sebagai contoh: harga pesanan adalah untuk membeli pada 1050, tetapi harga transaksi sebenar mungkin 1051. Terdapat banyak sebab untuk fenomena ini, seperti: vakum kecairan dalam keadaan pasaran yang melampau, kelewatan rangkaian, sistem perisian dan perkakasan, tindak balas pelayan, dsb.

Ujian belakang tanpa gelincir

img
Rajah 5-6

Seperti yang ditunjukkan dalam rajah di atas, ini adalah ujian belakang tanpa gelinciran Keluk modal kelihatan lebih baik, tetapi terdapat perbezaan antara harga urus niaga sebenar dalam dagangan sebenar dan harga urus niaga yang ideal bagi ujian balik strategi. Oleh itu, untuk mengurangkan ralat ini, semasa menguji balik strategi, anda boleh menetapkan 2 mata gelincir untuk meningkatkan harga belian atau menurunkan harga jualan.

Ujian belakang dengan Slippage

img
Rajah 5-7

Seperti yang ditunjukkan dalam rajah di atas, untuk strategi yang sama, jika keputusan backtest adalah berbeza dengan ketara daripada keputusan backtest tanpa gelinciran selepas menambah gelinciran 2-lompat, bermakna strategi ini perlu diperbaiki atau diganti dengan yang baru. Khususnya untuk strategi dengan kekerapan dagangan yang agak tinggi, menambah kegelinciran 1 hingga 2 lompatan semasa ujian belakang boleh menjadikan ujian belakang lebih dekat dengan persekitaran dagangan sebenar.

ringkaskan

Sesetengah rakan mungkin bertanya, kerana mungkin terdapat banyak masalah dalam perdagangan kuantitatif, bagaimanakah saya harus membuktikan bahawa strategi saya adalah baik? Sebenarnya, jawapannya sangat mudah sebelum melaksanakan strategi secara praktikal, anda mesti mensimulasikan transaksi untuk satu tempoh masa jika harga transaksi simulasi hampir sama dengan harga transaksi semasa ujian belakang, maka ia membuktikan bahawa tidak ada masalah dengan strategi, sekurang-kurangnya tiada masalah dengan logik strategi.

Walau apa pun, ujian belakang adalah satu kemestian bagi pembangun sistem perdagangan yang berpengalaman. Kerana ia boleh memberitahu anda sama ada idea strategi boleh disahkan berkesan dalam urus niaga sejarah. Tetapi banyak kali ujian belakang tidak bermakna keuntungan masa depan. Kerana terdapat terlalu banyak perangkap dalam ujian belakang, anda tidak akan memahaminya melainkan anda membelanjakan wang untuk mempelajari beberapa pelajaran. Dan pelajaran ini dipelajari dengan wang sebenar. Saya rasa membaca artikel ini sekurang-kurangnya boleh membantu anda mengelakkan banyak lencongan dan perangkap kuantitatif.

Kerja rumah

  1. Apakah overfitting dan bagaimana untuk mengelakkannya?
  2. Apakah beberapa contoh bias yang terselamat dalam kehidupan sebenar?

5.2 Bagaimana untuk melakukan ujian balik dagangan kuantitatif

ringkasan

Kepentingan dan kepentingan ujian belakang adalah tidak diragui Apabila menjalankan ujian belakang kuantitatif, seseorang harus cuba mengekalkan strategi dalam persekitaran sejarah sebenar sebanyak mungkin Jika butiran dalam persekitaran sejarah diabaikan, keseluruhan ujian belakang kuantitatif mungkin tidak sah. Artikel ini akan menerangkan kepada anda cara melakukan ujian balik dagangan kuantitatif.

Ujian belakang adalah bersamaan dengan main balik data Ia memainkan semula data K-line sejarah dan mensimulasikan peraturan perdagangan sebenar untuk membeli dan menjual, dan akhirnya meringkaskan nisbah Sharpe, kadar pengeluaran maksimum, kadar pulangan tahunan, keluk modal dan data lain dalam tempoh masa. Pada masa ini, terdapat banyak perisian yang boleh melakukan ujian balik, seperti Wenhua Finance, yang mempunyai rangkaian penuh produk, VNPY, yang boleh disesuaikan secara fleksibel, dan sebagainya.

Sebagai perisian dagangan kuantitatif komersil, Inventor Quant dilengkapi dengan enjin ujian belakang berprestasi tinggi dan menggunakan rangka kerja ujian belakang gelung (undi) untuk pengiraan vektor, yang lebih pantas. Ia juga menyatukan kod untuk ujian belakang dan dagangan sebenar, sebahagiannya menyelesaikan dilema "ujian belakang yang mudah, dagangan sebenar yang sukar".

Pengenalan antara muka ujian belakang

Mari kita ambil Strategi Bahasa Mai Inventor Quantitative sebagai contoh dan buka laman web rasmi Inventor Quantitative Trading Tool (www.fmz.com). Klik Pusat Kawalan, Pustaka Strategi, Pilih Strategi, Simulasi Ujian Belakang, dan masukkan halaman berikut:
img
Rajah 5-8

Dalam antara muka konfigurasi ujian belakang, anda boleh menyesuaikannya mengikut keperluan sebenar anda. Contohnya: tetapkan masa backtest, tempoh K-line, jenis data (data tahap simulasi atau data tahap masa nyata. Sebagai perbandingan, ujian balik data tahap simulasi lebih cepat, manakala ujian back data tahap masa nyata lebih tepat). Selain itu, anda juga boleh menetapkan yuran ujian belakang dan dana permulaan akaun, dsb.

Klik pada Perpustakaan Dagangan Bahasa Mai, yang pertama ialah tab Tetapan Dagangan Strategi Bahasa Mai dalam Alat Dagangan Kuantitatif Inventor mempunyai dua kaedah pelaksanaan ujian belakang, iaitu: model harga penutup dan model harga masa nyata. Model harga penutup bermakna model dilaksanakan hanya selepas K-line semasa selesai, dan urus niaga dilaksanakan apabila K-line seterusnya bermula. Model harga masa nyata bermakna model dilaksanakan sekali setiap kali harga berubah, dan urus niaga segera dilaksanakan apabila isyarat dagangan diwujudkan. Seperti yang ditunjukkan di bawah:
img
Rajah 5-9

Saiz lot pembukaan lalai merujuk kepada bilangan kedudukan dibuka dan ditutup semasa ujian balik, dan saiz pesanan transaksi tunggal maksimum ialah bilangan maksimum kedudukan buka dan tutup yang diamanahkan kepada enjin ujian belakang dalam satu transaksi. Terdapat sisihan antara harga urus niaga sebenar dan harga urus niaga pratetap Sisihan ini secara amnya bergerak ke arah yang tidak menguntungkan pedagang, mengakibatkan kerugian tambahan dalam urus niaga, jadi adalah perlu untuk menambah kegelinciran niaga hadapan komoditi domestik secara amnya menambah 1 hingga 2 lompatan, atau lebih, untuk mensimulasikan persekitaran dagangan sebenar.

Isikan jenis kontrak untuk diuji balik dalam opsyen niaga hadapan, seperti rb000 atau rb888. Pilihan sebenar digunakan terutamanya untuk dagangan sebenar, dan tetapan lalai boleh disimpan dalam ujian belakang. Jika kemajuan pemulihan automatik diklik kepada benar, maka apabila strategi menghentikan robot semasa operasi masa nyata, memulakan semula robot akan memulihkan kedudukan isyarat sebelumnya secara automatik tanpa mengira semula isyarat. Bilangan lalai percubaan semula pesanan ialah 20. Jika pesanan gagal, sistem akan cuba membuat pesanan semula. Selang undian rangkaian ialah selang masa di mana robot melaksanakan kod strategi.
img
Rajah 5-10

Pilihan perdagangan spot adalah terutamanya untuk perdagangan mata wang digital, dan anda boleh menyimpan tetapan lalai dalam ujian belakang. Anda boleh menentukan volum transaksi tunggal, volum transaksi minimum, ketepatan mata wang penetapan harga, ketepatan produk transaksi, yuran pengendalian, masa penyegerakan akaun, selang statistik untung dan rugi, dsb. Selain itu, untuk pertukaran mata wang digital individu, anda juga boleh menetapkan berbilang leveraj dan tetapan lain yang berkaitan.
img
Rajah 5-11

Ujian Balik Strategi

Sebelum ujian belakang, tentukan dahulu strategi dagangan anda Di sini kami mengambil strategi termostat sebagai contoh Strategi ini akan menggunakan strategi trend dalam pasaran yang sedang trend dan strategi yang tidak menentu dalam pasaran yang tidak menentu berdasarkan keadaan pasaran. Kod sumber adalah seperti berikut (anda juga boleh memuat turunnya terus dari Strategy Square of the Inventor Quantitative laman web rasmi):
img
Rajah 5-12
Dalam antara muka ujian belakang simulasi, selepas mengkonfigurasi tetapan ujian belakang, cuma klik butang Mulakan Ujian Belakang, dan keputusan ujian belakang akan dipaparkan serta-merta selepas beberapa puluh saat. Dalam log ujian belakang, bilangan saat yang diambil ujian belakang, jumlah bilangan log dan bilangan urus niaga direkodkan. Maklumat akaun mencetak keputusan prestasi akhir ujian balik strategi: purata untung dan rugi, untung dan rugi kedudukan, margin, yuran pengendalian dan anggaran pulangan, dsb.
img
Rajah 5-13

Lajur maklumat status merekodkan jenis transaksi, volum kedudukan, harga kedudukan, harga terkini, jenis isyarat terakhir, harga tertinggi dan terendah selepas kedudukan dipegang, nombor dan masa kemas kini serta maklumat modal. Selain itu, label untung rugi terapung menunjukkan keluk modal terperinci akaun, serta penunjuk prestasi yang biasa digunakan: hasil, hasil tahunan, nisbah Sharpe, turun naik tahunan dan kadar pengeluaran maksimum, yang pada asasnya boleh memenuhi keperluan kebanyakan pengguna.

Antaranya, penunjuk prestasi yang paling penting ialah nisbah Sharpe. Ia adalah penunjuk komprehensif yang mengambil kira pulangan dan risiko. Ia juga merupakan penunjuk rujukan penting untuk mengukur produk dana Dalam istilah awam, ini bermakna berapa banyak risiko yang anda ambil untuk setiap dolar yang anda perolehi, semakin baik.

Seperti namanya, turun naik tahunan ialah turun naik harian didarab dengan bilangan hari dagangan setahun Ia mengukur risiko sesuatu dana, tetapi ia pastinya bukan jumlah risiko. Sebagai contoh, Strategi A mempunyai turun naik yang lebih tinggi, tetapi ia telah turun naik ke atas dengan kadar pulangan yang baik, manakala Strategi B mempunyai turun naik yang lebih rendah, tetapi ia telah kekal mendatar Bolehkah kita mengatakan bahawa Strategi B lebih baik daripada Strategi A? Seperti yang ditunjukkan dalam rajah berikut, strategi A:
img
Rajah 5-14

Akhir sekali, dalam lajur maklumat log, status padanan setiap transaksi semasa ujian belakang direkodkan secara terperinci, termasuk masa khusus transaksi, pertukaran, beli dan jual, jenis pembukaan dan penutupan, harga transaksi dipadankan dengan enjin ujian belakang, kuantiti transaksi, dan maklumat bercetak, dsb.
img
Rajah 5-15

Selepas Backtesting

Banyak kali, walaupun dalam kebanyakan kes, keputusan ujian belakang akan jauh daripada jangkaan anda. Lagipun, strategi yang menjana keuntungan jangka panjang, mampan dan stabil bukanlah mudah diperolehi Ia memerlukan keupayaan anda untuk memahami pasaran.

Jika ujian balik strategi anda mengakibatkan kerugian, jangan berkecil hati, ini sebenarnya perkara biasa. Mula-mula, semak sama ada logik strategi ditulis dengan tidak betul, sama ada parameter ekstrem digunakan, sama ada terdapat terlalu banyak keadaan pembukaan dan penutupan, dsb. Jika perlu, anda juga boleh menyemak semula strategi dagangan dan falsafah dagangan anda dari sudut lain.

Jika keputusan backtest strategi anda sangat baik, keluk modal adalah sempurna, dan nisbah Sharpe melebihi 1 atau lebih. Jangan terlalu gembira apabila anda menghadapi situasi seperti ini, kebanyakan masa ia adalah kerana penggunaan fungsi masa hadapan, kecurian harga, overfitting, atau kegagalan untuk menetapkan gelinciran, dsb. Anda boleh menggunakan data kehabisan sampel dan simulasi perdagangan sebenar untuk menghapuskan masalah ini.

ringkaskan

Di atas adalah pengenalan kepada keseluruhan proses ujian balik keseluruhan strategi dagangan, yang boleh dikatakan telah ditentukan untuk setiap butiran. Perlu diingat bahawa ujian balik data sejarah, bagaimanapun, adalah persekitaran yang ideal di mana semua risiko diketahui. Oleh itu, masa terbaik untuk backtest strategi adalah untuk melalui pasaran lembu atau beruang, dan bilangan urus niaga yang berkesan hendaklah tidak kurang daripada 100 kali ganda, untuk mengelakkan bias yang terselamat separa.

Pasaran sentiasa berubah dan berkembang Strategi yang berprestasi baik dalam ujian belakang sejarah tidak semestinya menunjukkan prestasi yang baik pada masa hadapan. Oleh itu, adalah sangat perlu untuk meningkatkan rintangan risiko dan kesejagatan strategi.

Kerja rumah

  1. Cuba salin strategi dalam bahagian ini dan uji balik laporan prestasi
  2. Berdasarkan pengalaman dagangan anda sendiri, cuba perbaiki dan optimumkan strategi dalam bahagian ini

5.3 Bagaimana untuk memahami laporan prestasi ujian balik strategi

ringkasan

Apabila ujian belakang strategi kami selesai, Alat Dagangan Kuantitatif Pencipta akan mengeluarkan pelbagai penunjuk prestasi dan carta keluk keuntungan pada halaman web. Walau bagaimanapun, mungkin kerana kami tidak biasa dengan tafsiran dan kandungan penunjuk ini, kami tidak dapat menilai dengan tepat sama ada strategi itu baik atau buruk Artikel ini akan bermula dengan konsep penunjuk utama untuk membantu semua orang memahami laporan prestasi ujian balik strategi dan membezakan kebaikan dan keburukan strategi. Sudah tentu, kebanyakan alat dagangan kuantitatif mempunyai laporan prestasi ujian belakang seperti ini, dan kandungannya adalah serupa Setelah anda mempelajari kandungan bahagian ini, ia juga akan terpakai walaupun anda beralih kepada alat dagangan yang lain.

Penilaian objektif dan lengkap

Sama ada rekod data dagangan sebenar atau laporan ujian belakang menggunakan data sejarah, kualiti model dinilai melalui statistik mengenai keadaan dagangan.

Persoalan utama ialah, apakah data statistik yang diperlukan untuk perbandingan? Mari kita lihat contoh: Seperti yang ditunjukkan dalam rajah di bawah, dengan mengandaikan bahawa dua set data berikut diperoleh dalam ujian dalam tempoh masa yang sama, bolehkah kita menentukan model yang berprestasi lebih baik?
img
Rajah 5-16

Jawapannya tidak. Sikap berat sebelah sistem penilaian akan membawa sistem perdagangan kuantitatif ke jalan buntu.

Sistem perdagangan mesti boleh lulus ujian belakang sejarah sebelum ia boleh digunakan. Sistem perdagangan yang tidak boleh lulus ujian belakang sejarah tidak mungkin membuat keuntungan dalam perdagangan sebenar dalam jangka masa panjang. Ujian belakang sejarah adalah prasyarat yang diperlukan untuk meletakkan sistem perdagangan ke dalam perdagangan sebenar.

Sistem perdagangan yang boleh lulus ujian belakang sejarah tidak semestinya sistem perdagangan yang baik, tetapi jika ia tidak dapat lulus ujian belakang sejarah, ia pastinya bukan sistem perdagangan yang baik. Secara umumnya, kita perlu menganalisis laporan prestasi daripada perspektif kestabilan, kemampanan dan sama ada laporan tersebut memenuhi jangkaan.
img
Rajah 5-17

Seperti yang ditunjukkan dalam gambar di atas, sesiapa yang telah terdedah kepada perdagangan kuantitatif mungkin telah melihat istilah data prestasi ujian belakang yang panjang dan tidak jelas ini di antara data prestasi ini, malah banyak yang bercanggah. Ramai pemula kuantitatif keliru tentang data yang hendak difokuskan.

Istilah penunjuk prestasi dalam gambar di atas secara amnya boleh dibahagikan kepada beberapa kategori: nisbah prestasi, analisis kitaran, pelbagai keluk, analisis dagangan melampau, dsb. Malah dari perspektif produk dana, kebanyakannya hanyalah paparan hasil pengiraan ujian belakang, yang mempunyai sedikit kepentingan aplikasi praktikal, seperti: keperluan modal akaun, pendapatan pegangan, had keyakinan, dsb. Anda mungkin hanya perlu memberi tumpuan kepada yang penting. Di bawah saya akan memilih yang paling penting antara penunjuk prestasi ujian belakang untuk penjelasan terperinci.

Penunjuk prestasi penting

Pengeluaran Maks

Formula pengiraan pengeluaran maksimum adalah seperti di atas Untuk model, pengeluaran maksimum adalah penunjuk risiko yang sangat penting, yang lebih penting daripada turun naik. Pengeluaran maksimum yang dilihat dalam ujian belakang juga mewakili, dalam erti kata lain, situasi terburuk yang mungkin berlaku selepas anda membuka kedudukan.

Dari sudut matematik, jika modal kehilangan 20%, baki dana perlu membuat keuntungan sebanyak 25% untuk memulihkan skala modal asal Jika kerugian adalah 50%, baki dana perlu membuat keuntungan sebanyak 100% untuk memulihkan skala modal sebelum kerugian.

Maka tidak ada keraguan bahawa semakin besar kerugian, semakin kecil kemungkinan untuk pulih ke skala modal awal dan semakin besar kesukarannya. Ruang keuntungan menaik untuk dana adalah tidak terhad, tetapi ruang kerugian menurun adalah terhad, dan kemungkinan turun ke bawah adalah lebih besar.

Tidak kira bagaimana ia ditakrifkan, sekurang-kurangnya dua perkara ini adalah pemahaman arus perdana semasa:

  1. Lebih kecil anjakan maksimum, lebih baik;
  2. Pengeluaran adalah berkadar terus dengan risiko Lebih besar pengeluaran, lebih besar risiko, dan lebih kecil pengeluaran, lebih kecil risiko.

Nisbah pulangan kepada risiko (RAROC) diselaraskan

Ramai orang tidak biasa dengan konsep ini Sebenarnya, nisbah pulangan-risiko yang diselaraskan adalah titik permulaan antara pemain profesional dan pemain amatur. Ini juga merupakan alat penilaian yang sangat baik untuk bank pelaburan, dana besar dan pedagang profesional, dan merupakan standard penilaian biasa dalam bidang kewangan global.

Dalam pelaburan, kita bukan sahaja perlu melihat kepada keuntungan, tetapi juga mengambil kira berapa banyak risiko yang diambil untuk mendapatkan keuntungan ini. Secara umumnya, risiko dan pulangan aset adalah berkadar. Ini bermakna apabila model itu mendahului pek dari segi hasil dan membuat kemajuan pesat, mungkin terdapat risiko tersembunyi di sebalik kegemilangannya yang belum meletus.

Sebagai contoh, keadaan pembukaan dan penutupan atau kenaikan dan penurunan kedudukan dalam model mungkin mempunyai pulangan yang lebih tinggi apabila pasaran meningkat, tetapi apabila penurunan berlaku, kerugian akan berlipat ganda, mengakibatkan kerugian besar. Apatah lagi, naik dan turun mempunyai kesan asimetri yang besar.

Ramai peniaga kuantitatif yang berpengalaman sanggup mengorbankan beberapa pulangan untuk mengurangkan risiko Dalam kes ini, pulangan terlaras risiko adalah lebih berharga untuk rujukan. Oleh itu, dalam ujian belakang, model yang mempunyai risiko tinggi dan turun naik yang tinggi tidak semestinya model yang baik walaupun ia mempunyai pulangan yang tinggi.

Deposit adalah selamat, tetapi hasil tahunan hanya 2%. Pasaran boleh membuat anda memperoleh 50% dalam beberapa hari, atau ia boleh membuat anda kehilangan 50% dalam beberapa hari. Selepas bertahun-tahun berdagang, saya mempunyai konsep yang sangat penting: menghadapi risiko dan pulangan tidak pernah wujud secara berasingan Perdagangan adalah seperti pergi ke laut untuk memancing. Menjadi terlalu konservatif dan terlalu radikal sebenarnya adalah dua keterlaluan. Perkara yang sama berlaku untuk mereka bentuk model strategi.

Bilangan transaksi

Anda tidak boleh menggunakan prestasi ujian belakang selama beberapa bulan untuk membuktikan model. Jika terdapat terlalu sedikit data ujian belakang, keputusan ujian belakang mungkin tidak disengajakan, sama ada parameter tidak sengaja atau keadaan pasaran tidak sengaja, dsb. Selain itu, data sejarah yang lebih panjang juga boleh menapis beberapa kecenderungan yang terselamat.

Secara umumnya, untuk stok dan komoditi domestik, data tersebut hendaklah diuji balik selama lebih daripada 5 tahun, dan untuk produk yang baru disenaraikan, ujian balik sekurang-kurangnya 3 tahun diperlukan. Untuk produk atau komoditi yang tersenarai lebih awal seperti emas dan indeks dolar AS di pasaran antarabangsa, sekurang-kurangnya satu kitaran bull-bear harus diuji belakang, yang biasanya lebih daripada 10 hingga 15 tahun. Tempoh ujian belakang mestilah cukup lama untuk keputusan ujian belakang cukup dipercayai. Bagi produk yang tidak memenuhi keperluan ini, nilai R hendaklah ditimbang dengan sewajarnya apabila membuka kedudukan untuk mengurangkan pendedahan risiko secara proaktif.

Purata keuntungan

Penunjuk keuntungan purata kelihatan biasa, tetapi ia sebenarnya sangat penting. Pengiraannya juga sangat mudah: Untung Bersih / Bilangan Transaksi. Tidak keterlaluan untuk mengatakan bahawa ia adalah cermin yang dapat mengesan persembahan ujian belakang yang kelihatan terang di permukaan. Seperti yang ditunjukkan dalam rajah di bawah, jika strategi ini boleh menghasilkan wang, ia adalah tidak normal:
img
Rajah 5-18
img
Rajah 5-19

Jika anda melihat prestasi paling belakang bagi strategi ini, anda mungkin mempunyai soalan: bukankah sayang jika tidak menggunakan strategi yang hampir sempurna? Tunggu sebentar! Sila lihat dengan teliti pada purata keuntungan dalam gambar kedua, iaitu hanya 17, bermakna purata keuntungan daripada setiap transaksi hanya 17 yuan.

Ambil sebahagian besar produk pasaran niaga hadapan dengan lonjakan 10 yuan sebagai contoh Sesiapa yang telah melakukan perdagangan sebenar akan memahami maksudnya. Dalam perdagangan sebenar, apatah lagi satu lompatan, malah sepuluh atau lapan lompatan boleh dilakukan. Dua lompatan dan tiga lompatan adalah perkara biasa.

Kadar Menang

Kadar kemenangan tidak pernah wujud secara bersendirian, atau tidak realistik untuk bercakap tentang masalah hanya berdasarkan kadar kemenangan. Jika anda menggunakan model yang betul dalam pasaran yang betul, tidak menghairankan untuk mencapai kadar kemenangan 80%, tetapi ini tidak bermakna.

Harga sama ada naik atau turun, jika tidak, ia tetap sama. Jika masanya cukup lama, anda akan mendapati bahawa kebarangkalian harga naik dan turun ialah 50% setiap satu. Tidak kira jenis model strategi yang anda gunakan, jika kadar kemenangan melebihi 50% semasa ujian belakang, anda harus berhati-hati. Dari sudut matematik dan fizikal, ini adalah mustahil.

Keluk Ekuiti Terperinci

Seperti kata pepatah, gambar bernilai seribu perkataan Keluk ekuiti terperinci bermula dari masa entri pertama hingga masa bar terakhir carta. Ia adalah keluk ekuiti masa nyata untuk dagangan Ia adalah masa nyata kerana ia mengambil kira untung dan rugi terapung pada setiap bar.
img
Rajah 5-20

Keluk ekuiti terperinci mencerminkan perubahan dalam nilai bersih akaun dan merupakan alat penilaian yang paling intuitif Ia membolehkan seseorang mendapat gambaran kasar tentang status kerugian dan keuntungan strategi serta turun naik/kelancaran untung dan rugi sepintas lalu. Walau bagaimanapun, gambar laporan prestasi strategi ini bukan sahaja bernilai seribu perkataan, tetapi juga mengelirukan berjuta-juta orang yang beriman. Juga, jangan sekali-kali melihat keluk ekuiti penutupan.

Kadar Pulangan Tahunan

Pulangan tahunan adalah penunjuk kontroversi Sesetengah orang berpendapat bahawa ia adalah untuk orang awam untuk melihat dan tidak mempunyai nilai rujukan. Pertama sekali, membuat keuntungan adalah prasyarat untuk model dipilih, atau dengan kata lain, pulangan model itu sendiri mesti mempunyai nilai jangkaan yang positif.
img
Rajah 5-21

Anda boleh mendapat pulangan 100% yang tidak terkira banyaknya, tetapi anda hanya mampu membeli satu 100% paling banyak. Jurang antara kadar pulangan tahunan dan kadar pulangan sebenar (kadar pulangan tempoh pegangan) mungkin sangat besar, kadangkala lebih besar daripada yang kita bayangkan.

ringkaskan

Akhir sekali, satu perkara yang perlu dijelaskan prestasi ujian belakang yang sempurna Selain masalah dengan data ujian itu sendiri, pengguna model mungkin menghadapi lebih banyak perangkap Semuanya daripada pengoptimuman parameter kepada reka bentuk transaksi mungkin berbeza daripada operasi sebenar.

Lebih penting lagi, isu emosi di peringkat pelaksanaan adalah faktor X dalam meletakkan model ke dalam pengeluaran Perdagangan sebenar tidak boleh dijalankan dalam persekitaran "kosong emosi" Fenomena fat-tail adalah sesuatu yang mesti sentiasa berwaspada.

Kerja rumah

  1. Senaraikan penunjuk prestasi yang anda fikir paling penting dalam ujian belakang
  2. Cuba kira penunjuk nisbah Sharpe

5.4 Mengapa ujian luar sampel diperlukan

ringkasan

Dalam bahagian sebelumnya, kami menumpukan pada beberapa penunjuk prestasi penting untuk mengajar anda cara memahami laporan prestasi ujian balik strategi. Sebenarnya, menulis strategi yang boleh membuat wang melalui ujian belakang bukanlah perkara yang paling sukar adalah bagaimana untuk menilai sama ada strategi ini terus berkesan dalam perdagangan sebenar. Jadi hari ini saya akan menerangkan kepada anda ujian luar sampel dan kepentingannya.

Backtesting tidak sama dengan perdagangan sebenar

Ramai pemula kuantitatif mudah menjadi yakin dengan strategi dagangan mereka berdasarkan laporan prestasi yang kelihatan baik atau keluk modal daripada ujian belakang, dan bersedia untuk menunjukkan bakat mereka di pasaran. Diakui, keputusan ujian belakang ini boleh dipadankan dengan sempurna dengan keadaan pasaran tertentu yang mereka perhatikan, tetapi sebaik sahaja strategi perdagangan ini dimasukkan ke dalam pertempuran sebenar untuk jangka masa yang lebih lama, mereka akan mendapati bahawa strategi ini sebenarnya tidak berkesan.

Saya telah melihat banyak strategi dagangan yang mempunyai kadar kejayaan melebihi 50% apabila diuji semula. Dengan kadar kemenangan yang tinggi, nisbah untung dan rugi masih boleh melebihi 1:1. Walau bagaimanapun, sebaik sahaja strategi ini dipraktikkan, ia pada asasnya mengakibatkan kerugian. Terdapat banyak sebab untuk kerugian, salah satunya ialah apabila ujian balik, terdapat terlalu sedikit sampel data, yang membawa kepada bias data.

Walau bagaimanapun, perdagangan adalah perkara yang rumit apabila melihat ke belakang, ia adalah sangat jelas, tetapi jika kita kembali ke permulaan, kita masih dalam kerugian. Ini melibatkan masalah akar kuantifikasi - batasan data sejarah. Oleh itu, jika anda hanya menggunakan data sejarah terhad untuk menguji strategi dagangan anda, sukar untuk mengelakkan masalah "memandu sambil melihat cermin pandang belakang".

Apakah ujian luar sampel?

Bagaimanakah kita boleh menggunakan data terhad yang terbaik untuk menguji strategi dagangan secara saintifik apabila data terhad? Jawapannya ialah ujian di luar sampel. Apabila ujian belakang, data sejarah dibahagikan kepada dua bahagian mengikut urutan masa Bahagian pertama data digunakan untuk pengoptimuman strategi dan dipanggil set latihan, manakala bahagian kedua data digunakan untuk ujian luar sampel dan dipanggil set ujian.

Jika strategi anda sentiasa berkesan, maka optimumkan parameter terbaik dalam data set latihan dan gunakan parameter ini pada data set ujian untuk ujian belakang Sebaik-baiknya, keputusan ujian belakang hendaklah serupa dengan set latihan atau dalam julat yang munasabah. Ini menunjukkan bahawa strategi ini agak berkesan.

Walau bagaimanapun, jika strategi berprestasi baik dalam set ujian tetapi berprestasi rendah dalam set ujian, atau sangat berbeza, dan perkara yang sama berlaku untuk parameter lain, maka strategi itu mungkin mempunyai bias penginapan data.

Sebagai contoh, katakan anda ingin menguji rebar niaga hadapan komoditi, dan terdapat kira-kira 10 tahun data pada rebar (2009-2019 Kemudian anda boleh menggunakan data dari 2009 hingga 2015 sebagai set latihan, dan data dari 2015 hingga 2019 sebagai set ujian). Sebagai contoh, untuk strategi purata bergerak berganda, kumpulan parameter terbaik dalam set latihan ialah (purata bergerak 15 tempoh dan purata bergerak 90 tempoh), (purata bergerak 5 tempoh dan purata bergerak 50 tempoh), (purata bergerak 10 tempoh dan purata bergerak 100 tempoh)... Kemudian, kami meletakkan kumpulan parameter ini ke dalam set ujian, dan set ujian untuk menetapkan ujian ke belakang untuk menentukan prestasi latihan perbezaan adalah dalam julat yang munasabah.

Jika anda tidak menggunakan ujian luar sampel dan secara langsung menggunakan data dari tahun 2009 hingga 2019 untuk menguji strategi, hasilnya mungkin laporan prestasi ujian belakang dan keluk modal yang baik kerana data sejarah yang sesuai Walau bagaimanapun, keputusan ujian belakang sedemikian tidak begitu penting untuk dagangan sebenar dan tidak mempunyai peranan panduan, terutamanya untuk strategi dengan lebih banyak parameter.

Ujian Luaran Sampel Lanjutan

Selain membahagikan data sejarah kepada dua bahagian dan melaksanakan ujian belakang dalam sampel dan luar sampel, sebenarnya terdapat pilihan yang lebih baik, iaitu kaedah ujian belakang rekursif dan ujian silang silang. Terutama apabila terdapat sedikit data sejarah, seperti niaga hadapan minyak mentah dan niaga hadapan epal yang baru sahaja disenaraikan dalam beberapa tahun kebelakangan ini, kedua-dua kaedah ini boleh digunakan untuk menguji model secara menyeluruh menggunakan data terhad.

Prinsip-prinsip asas ujian berulang: Latih model dengan data sejarah yang lebih lama, dan kemudian dengan data yang lebih pendek, kemudian terus bergerak ke belakang untuk mendapatkan data, mengulangi langkah-langkah latihan dan pemeriksaan.
Data latihan: 2000 hingga 2001, data ujian: 2002;
Data latihan: 2001 hingga 2002, data ujian: 2003;
Data latihan: 2002 hingga 2003, data ujian: 2004;
Data latihan: 2003 hingga 2004, data ujian: 2005;
Data latihan: 2004 hingga 2005, data ujian: 2006;
...dan sebagainya...
Akhirnya, hasil ujian untuk tahun 2002, 2003, 2004, 2005, 2006 ... telah dikira secara statistik untuk menilai prestasi strategi secara menyeluruh.

Prinsip-prinsip pemeriksaan deduktif dapat dijelaskan secara intuitif seperti yang ditunjukkan dalam rajah berikut:
img
Rajah 5-22

Rajah di atas menunjukkan dua kaedah untuk melakukan pemeriksaan deduktif.

Yang pertama: setiap kali ujian, data ujian lebih pendek dan ujian lebih banyak.
Jenis kedua: Setiap kali ujian, data ujian lebih lama dan ujian lebih sedikit.

Dalam aplikasi praktikal, panjang data ujian boleh diubah dan pelbagai ujian boleh dilakukan untuk menentukan kestabilan model dalam menangani data tidak pegun. Prinsip asas pengesahan silang adalah untuk membahagikan semua data kepada N bahagian yang sama, menggunakan bahagian N-1 untuk latihan setiap kali, dan menggunakan bahagian yang tinggal untuk ujian.

Bahagikan tahun 2000 hingga 2003 kepada 4 bahagian. Proses operasi pemeriksaan silang adalah seperti berikut:

  1. Data latihan: 2001-2003, data ujian: 2000;
    Data latihan: 2000-2002, data ujian: 2003
  2. Data latihan: 2000, 2001, 2003, data ujian: 2002;
  3. Data latihan: 2000, 2002, 2003, data ujian: 2001;
    img
    Rajah 5-23

Seperti yang ditunjukkan di atas: Kelebihan terbesar ujian silang adalah memanfaatkan data terhad, setiap data latihan juga merupakan data ujian. Tetapi terdapat kelemahan yang jelas apabila ujian silang digunakan untuk ujian model strategi:

  1. Apabila data harga tidak stabil, hasil ujian model sering tidak boleh dipercayai. Sebagai contoh, menggunakan data tahun 2008 untuk latihan, menggunakan data tahun 2005 untuk ujian.
  2. Sama seperti yang pertama, dalam pemeriksaan silang, ia tidak masuk akal jika anda menggunakan model latihan data terkini dan menggunakan model ujian data yang lebih lama.
    Di samping itu, apabila model strategi kuantitatif diukur, masalah overlap data dihadapi dalam kedua-dua ujian deduktif dan ujian silang.

Dalam membangunkan model strategi perdagangan, sebahagian besar indikator teknikal adalah berdasarkan data sejarah dengan panjang tertentu. Sebagai contoh, menggunakan indikator trend, mengira data sejarah 50 hari yang lalu, dan pada hari perdagangan berikutnya, indikator itu dikira data 50 hari sebelum hari perdagangan itu, maka kedua-dua indikator dikira data 49 hari sama, yang akan menyebabkan perubahan yang tidak jelas dalam indikator setiap dua hari berdekatan.
img
Rajah 5-24

Data yang berlainan boleh menyebabkan:

  1. perubahan yang perlahan dalam hasil yang diramalkan oleh model menyebabkan perubahan yang perlahan dalam kedudukan, yang mana kita sering menyebutnya sebagai keterlambatan dalam penunjuk.
  2. Beberapa nilai statistik tidak boleh digunakan untuk ujian hasil model, kerana hubungan urutan yang disebabkan oleh data berulang, menjadikan hasil ujian statistik tidak boleh dipercayai.

Strategi perdagangan yang baik sepatutnya boleh menguntungkan pada masa hadapan. Selain menguji strategi dagangan secara objektif, ujian luar sampel juga boleh menjimatkan masa pedagang kuantitatif dengan cekap. Dalam kebanyakan kes, adalah sangat berbahaya untuk terus mengguna pakai parameter optimum semua sampel dan meletakkannya dalam pertempuran sebenar.

Jika semua data sejarah sebelum masa pengoptimuman parameter dibedakan, dibahagikan kepada data dalam sampel dan data luar sampel, terlebih dahulu menggunakan data dalam sampel untuk pengoptimuman parameter, kemudian menggunakan data luar sampel untuk pengujian luar sampel, maka kesalahan ini dapat dipetik, dan pada masa yang sama dapat diperiksa apakah strategi yang dioptimumkan sesuai untuk pasaran masa depan.

ringkaskan

Sama seperti perdagangan, kita tidak akan pernah dapat melintasi masa untuk membuat keputusan yang betul tanpa melakukan kesalahan sedikit pun. Jika ada tangan Tuhan atau kemampuan untuk melintasi masa depan, maka tanpa ujian, perdagangan langsung dalam talian, kita juga akan mendapat banyak wang. Dan saya, manusia biasa, harus menguji strategi kita dalam data sejarah.

Walau bagaimanapun, walaupun dengan sejumlah besar data sejarah, ia kelihatan sangat terhad apabila berhadapan dengan masa depan yang luas, tidak berkesudahan dan tidak dapat diramalkan. Oleh itu, sistem perdagangan yang dibangunkan dari bawah ke atas berdasarkan sejarah akhirnya akan tenggelam dari masa ke masa. Kerana sejarah tidak boleh meletihkan masa depan. Oleh itu, sistem perdagangan jangkaan positif yang lengkap mesti disokong oleh prinsip dan logik dalamannya.

"Percaya, tetapi sahkan" - Presiden Reagan

Kerja rumah

  1. Apakah fenomena dalam kehidupan sebenar adalah bias mangsa?
  2. Gunakan alat kuantitatif pencipta untuk menguji balik kedua-dua sampel dalam dan sampel luar dan membandingkan perbezaannya.

5.5 Pengoptimuman dan pengoptimuman strategi perdagangan

ringkasan

Intipati strategi perdagangan ialah generalisasi dan kesimpulan peraturan pasaran Semakin mendalam pemahaman anda tentang pasaran dan semakin tinggi keupayaan anda untuk menyatakan idea dengan kod, semakin dekat strategi anda dengan pasaran. Bahagian ini akan terus menerangkan cara mengoptimumkan strategi dagangan anda dan membuat persediaan akhir untuk dagangan sebenar anda.

Optimumkan kemasukan dan keluar

Kebanyakan strategi penjejakan arah aliran menggunakan penembusan atau penunjuk teknikal untuk menangkap arah aliran pasaran Biasanya, kaedah masuk dan keluar isyarat ini kurang tepat pada masanya Jika strategi menggunakan model harga penutupan, titik masuk akan berada pada harga pembukaan garisan K seterusnya, masa kemasukan terbaik untuk menembusi garisan K ini akan terlepas.

Oleh itu, cara yang berkesan ialah menggunakan harga masa nyata yang lebih berfaedah dalam pelaksanaan strategi dan membuat pesanan serta-merta apabila isyarat muncul. Dengan cara ini, apabila isyarat ditubuhkan, anda boleh memasuki pasaran dengan segera dan tidak akan kehilangan keuntungan. Tetapi tidak semua harga masa nyata adalah lebih baik daripada harga penutupan Ini bergantung pada strategi dagangan. Untuk beberapa strategi dengan logik dagangan mudah, perbezaan antara harga masa nyata dan harga penutup adalah agak kecil. Walau bagaimanapun, model harga penutup tidak dapat mengendalikan logik dagangan yang lebih terperinci, jadi perlu menggunakan harga masa nyata.

Optimumkan parameter

Pengoptimuman parameter boleh menjadikan strategi dagangan kuantitatif lebih dekat dengan data sejarah dan mencapai prestasi ujian belakang yang lebih baik. Contohnya: Kami menggunakan strategi purata bergerak berganda dalam kontrak rebar, tetapi dua purata bergerak manakah yang terbaik? Kemudian anda boleh menggunakan fungsi penalaan parameter dalam alat kuantitatif pencipta untuk mencari dua parameter purata bergerak terbaik secara automatik.

Seperti yang ditunjukkan dalam rajah di bawah, mengambil strategi purata bergerak berganda sebagai contoh, ia sendiri merupakan contoh berbilang dimensi Jika kita melukis hasil ujian belakang setiap parameter sebagai titik (perhatikan rajah di bawah), maka setiap parameter ialah dimensi strategi ini, dan akhirnya semua kombinasi parameter membina bentuk permukaan berbilang dimensi yang kompleks ini (seperti gunung).
img
Rajah 5-25

Seperti yang ditunjukkan di atas, ini ialah carta prestasi strategi dwi-parameter Apabila parameter berubah, kadar pulangan akhir juga berubah dengan ketara, dan permukaannya sangat herot, membentuk "puncak" dan "palung" dengan ketinggian yang berbeza. Biasanya tempat pertama dalam hasil hasil pengoptimuman ialah titik tertinggi dari keseluruhan permukaan. Walau bagaimanapun, dari perspektif sensitiviti parameter, objektiviti, dsb., kadangkala hasil ini mungkin bukan hasil yang "optimum". Kerana pasaran sentiasa berubah.

Oleh itu, prinsip penting pengoptimuman parameter ialah memilih dataran tinggi parameter daripada pulau parameter. Dataran parameter yang dipanggil merujuk kepada kewujudan julat parameter yang lebih luas di mana strategi boleh mencapai prestasi yang baik. Secara amnya, ia membentuk taburan normal dengan pusat dataran tinggi. Pulau parameter yang dipanggil bermakna strategi akan berprestasi baik hanya apabila nilai parameter berada dalam julat yang sangat kecil Apabila parameter menyimpang daripada nilai ini, prestasi strategi akan merosot dengan ketara.
img
Rajah 5-26

Dataran Tinggi Parameter

Mengambil angka di atas sebagai contoh, taburan parameter strategi yang baik harus menjadi dataran tinggi parameter Walaupun tetapan parameter menyimpang, keuntungan strategi masih boleh dijamin. Parameter sedemikian adalah sangat stabil, yang boleh menjadikan strategi lebih universal apabila menghadapi pelbagai keadaan pasaran dalam operasi sebenar masa hadapan.
img
Rajah 5-27

Kepulauan Parameter

Mengambil angka di atas sebagai contoh, jika prestasi ujian belakang menunjukkan pulau parameter, apabila parameter beralih sedikit, keuntungan strategi akan dikurangkan dengan banyak parameter sedemikian sering sukar untuk menghadapi keadaan pasaran yang sentiasa berubah dalam urus niaga sebenar kerana kesejagatannya yang lemah.

Oleh itu, jika prestasi parameter berdekatan adalah jauh lebih teruk daripada parameter optimum, maka parameter optimum ini mungkin hasil daripada pemasangan berlebihan, yang boleh dianggap secara matematik sebagai penyelesaian tunggal dan bukannya penyelesaian maksimum yang dicari. Dari sudut pandangan matematik, singulariti adalah tidak stabil Dalam keadaan pasaran yang tidak menentu pada masa hadapan, apabila ciri pasaran berubah, parameter optimum mungkin menjadi parameter yang paling teruk.

Tambah penapis

Banyak strategi trend boleh memahami trend dengan baik dan mencapai pulangan yang kaya apabila trend pasaran Walau bagaimanapun, dalam jangka masa panjang, keputusan akhir adalah sama ada keuntungan atau kerugian yang kecil.

Sebabnya ialah strategi itu terus berdagang berulang kali dalam pasaran yang tidak menentu, dan kebanyakan dagangan yang tidak menentu adalah kerugian atau keuntungan kecil Pasaran berada dalam pasaran yang tidak menentu kira-kira 70% daripada masa kerugian kecil berterusan jangka panjang membawa kepada kehilangan semua keuntungan sebelumnya.
img
Rajah 5-28

Penyelesaiannya adalah dengan menambah penapis Terdapat banyak jenis penapis di pasaran, termasuk penapis untung rugi, penapis nilai risiko, penapis corak trend, penapis penunjuk teknikal, dll. Sebagai contoh, menambah penapis purata bergerak tempoh besar boleh mengurangkan bilangan urus niaga dalam pasaran yang tidak menentu dan menapis separuh daripada urus niaga yang salah.

Melicinkan keluk pembiayaan

Kuantifikasi mengejar kaedah membuat keuntungan yang stabil dan mampan, yang mana kebanyakan peniaga mahu melihat tiada siapa yang mahu membuat 50% tahun ini, kehilangan 30% tahun depan, dan membuat 40% tahun selepas itu, tetapi ia boleh bertahan selama lebih daripada sepuluh tahun. Inilah yang boleh dilakukan oleh pelaburan kuantitatif. Kerana pelaburan kuantitatif adalah model perdagangan dengan prestasi yang mampan.

Untuk mencapai keluk modal yang lancar, adalah perlu untuk membina portfolio pelaburan dengan pelbagai strategi, pelbagai jenis, pelbagai kitaran dan pelbagai parameter. Tetapi semakin banyak tidak semestinya lebih baik Terdapat kesan marginal yang semakin berkurangan Semakin banyak anda menambah portfolio pada permulaannya, semakin baik kepelbagaian Namun, apabila strategi mencapai susunan magnitud tertentu, kesan pulangan kepelbagaian yang semakin berkurangan. Kelebihan gabungan ialah kepelbagaian Walaupun kadar pulangan keseluruhan bukanlah yang tertinggi, ia adalah yang paling stabil.

Berhenti mencari Holy Grail

Sama ada perdagangan kuantitatif boleh mencari Holy Grail adalah persoalan yang dipertimbangkan oleh ramai pedagang. Sesetengah peniaga juga tergesa-gesa memasuki pasaran dengan apa yang dipanggil strategi sempurna mereka selepas ujian belakang yang mudah. Saya berharap untuk memenangi setiap pertempuran dan menjadi ahli profesional yang boleh mengatasi semua halangan.

Tetapi adakah terdapat Holy Grail? Ia sebenarnya sangat mudah, jawapannya adalah tidak. Sebenarnya, ia tidak sukar untuk difahami jika pasaran ini benar-benar mempunyai peraturan, maka orang yang mempunyai IQ yang lebih tinggi, berpendidikan tinggi dan bekerja lebih keras akan dapat mengetahui peraturan tersebut Sama ada mereka menggunakan analisis matematik, monopoli maklumat, atau kaedah analisis lain, mereka akhirnya akan membuat sebahagian besar wang dalam pasaran dalam jangka masa panjang, mereka akan memonopoli pasaran dagangan sehingga pasaran biasa.

ringkaskan

Jika masa dagangan cukup lama, sesiapa sahaja mungkin menghadapi pelbagai arah aliran pasaran semasa proses dagangan, dan arah aliran ini tidak mungkin berulang dengan tepat. Sebagai pedagang kuantitatif, selain memeriksa dan mengoptimumkan strategi dagangan anda sendiri dengan betul, anda juga perlu memantau keadaan pasaran secara berterusan dan menambah baik strategi anda secara berterusan sebagai tindak balas kepada perubahan pasaran.

Pada masa yang sama, anda juga harus menyedari bahawa keuntungan dan kerugian datang dari sumber yang sama Kerugian adalah sebahagian daripada keseluruhan strategi perdagangan. Sekurang-kurangnya jangan ubah rangka kerja logik strategik anda dengan mudah melainkan rangka kerja logik anda salah dari awal.

Kerja rumah

  1. Bina portfolio pelaburan berdasarkan ciri strategi anda sendiri dan ujian belakang menggunakan alat kuantitatif pencipta
  2. Cuba untuk mengoptimumkan strategi dagangan kuantitatif anda berdasarkan kandungan bahagian ini

5.6 Bina pemikiran kebarangkalian dan tingkatkan corak dagangan anda

ringkasan

Perdagangan adalah sains dan seni. Terdapat banyak kaedah dalam perdagangan, sama ada ia adalah pelaburan nilai, analisis teknikal, titik panas peristiwa, lindung nilai arbitraj, dan lain-lain, ia kelihatan secara logik ketat pada permukaan dan masuk akal dalam teori. Tetapi pada hakikatnya, mereka sering bertentangan Kadang-kadang, ketegasan sains tidak dapat menjelaskan imaginasi seni yang liar.

Walaupun pelbagai kaedah perdagangan mempunyai titik permulaan yang berbeza, semua jalan menuju ke Rom. Kelebihan pelaburan nilai ialah margin keselamatan boleh ditetapkan untuk turun naik harga berdasarkan nilai kelebihan analisis teknikal ialah tiga andaian utama menjadikan transaksi itu saintifik.

Walau bagaimanapun, kesemuanya mempunyai satu ciri yang sama, iaitu: mereka hanya boleh membuat ramalan kasar tentang analisis harga masa hadapan, tetapi bukan ramalan yang tepat. Walaupun analisis fundamental digabungkan dengan analisis teknikal, ia tidak dapat menyelesaikan masalah meningkatkan "ketepatan", jadi perdagangan adalah permainan kebarangkalian dari awal hingga akhir.

Permainan Peluang

Sebenarnya, perdagangan bukan sekadar permainan kebarangkalian. Dalam kehidupan seseorang, segala-galanya daripada perkara-perkara kecil seperti menyeberang jalan (lampu hijau, adakah selamat untuk menyeberang jalan sekarang?) dan jenis kawan yang harus dibuat (adakah kawan ini boleh dipercayai?); hingga perkara besar seperti jenis kerjaya yang perlu diceburi (adakah perdagangan profesional benar-benar kerjaya yang baik?) dan siapa yang akan dikahwini (adakah kita akan bahagia bersama?), semuanya adalah permainan kebarangkalian menilai risiko dan pulangan. Kerana kita tidak mempunyai keupayaan untuk meramal masa depan, setiap kali kita melakukan sesuatu, tidak kira betapa yakinnya kita, risiko sentiasa ada dan kita tidak boleh yakin 100%.

Sebab penting mengapa ramai orang membuat kesilapan dalam perdagangan adalah kekurangan pemikiran kebarangkalian dan terlalu emosi daripada rasional semasa berdagang. Emosi sebenarnya adalah naluri primitif kita Di pasaran, naluri primitif ini boleh merangsang banyak kelemahan manusia dan menguatkannya secara eksponen. Itulah sebabnya kebanyakan orang datang ke pasaran dan akhirnya gagal.

Sebab kegagalan transaksi

Sebab 1: Kerana fitrah manusia

Sebilangan besar orang mempunyai kelemahan: mereka suka mengambil kesempatan daripada kelebihan kecil dan takut mengalami kerugian kecil. Apabila terdapat keuntungan kecil dalam pasaran, mereka tunaikan serta-merta dan keluar dari pasaran dengan keuntungan apabila berlaku kerugian, mereka berpegang pada kedudukan yang rugi dalam usaha untuk mendapatkan semula wang mereka secara kebetulan.

Harga sama ada naik atau turun, atau ia kekal sama. Dalam jangka panjang, tanpa mengambil kira yuran transaksi dan kegelinciran, kebarangkalian untuk membuat wang atau kehilangan wang adalah lebih kurang 50%. Oleh itu, kaedah perdagangan kebanyakan orang menjadi strategi jangkaan negatif dengan keuntungan terhad dan risiko tanpa had. Penyata penyelesaian transaksi mereka sepatutnya seperti ini: untung kecil>>......>>untung kecil>>rugi besar.

Dalam kehidupan sebenar, ini hampir sama dengan pemikiran orang miskin dan pemikiran orang kaya. Orang miskin tidak mengambil risiko dan takut kehilangan wang. Saya suka pekerjaan yang menjamin pendapatan yang stabil dan mengejar kestabilan. Walaupun anda tidak pasti sepenuhnya tentang melakukan sesuatu, anda tidak sepatutnya melakukannya. Pada zahirnya, nampaknya tiada salahnya melakukan ini, tetapi terdapat peluang dan risiko yang besar di sebaliknya.

Orang kaya lebih bersedia untuk mengambil risiko, mengetahui bahawa risiko dan pulangan sentiasa berkadar Hanya risiko melahirkan peluang.

Sebab 2: Saya suka buat duit cepat

Sebuah institusi asing pernah melakukan statistik, yang menunjukkan bahawa dalam jangka panjang, pulangan tahunan ke atas aset bersih kebanyakan industri tidak mungkin melebihi 15%. Sebaliknya, ramai pelabur runcit berasa malu untuk bertanya khabar kepada orang lain jika mereka memperoleh keuntungan 15% dalam pasaran. Orang suka membuat wang cepat, jadi mereka terlibat dalam perdagangan berat dan perdagangan jangka pendek.

Kedudukan Berat
Kedudukan berat, leveraj tinggi, dan peruntukan modal semuanya sangat menggoda, tetapi juga sangat berbahaya. Jika anda berjaya, anda akan berjaya; jika anda gagal, anda akan ditakdirkan. Jika anda mempunyai strategi dagangan dengan kadar kemenangan sebanyak 50%, dan anda beroperasi dengan kedudukan penuh dan dagangan margin, jika anda bernasib baik, anda mungkin menang lebih daripada sepuluh kali berturut-turut, dan juga mungkin untuk kekayaan anda berubah daripada perubahan kuantitatif kepada perubahan kualitatif.

Tetapi jika anda membuat kesilapan sekali sahaja, semuanya akan ditetapkan semula kepada sifar. Walaupun anda hanya beroperasi dengan kedudukan yang berat tanpa sebarang peruntukan modal, terdapat risiko akaun anda menjadi sifar, kerana anda tidak boleh menjamin bahawa anda tidak akan mengalami kerugian lebih daripada sedozen kali berturut-turut dalam situasi pasaran seterusnya. Malah dagangan yang berat boleh mengubah strategi dagangan yang pada asalnya dijangka menjadi strategi dengan keuntungan dan kerugian yang tidak sama rata.

Jangka pendek
Satu-satunya seni mempertahankan diri di dunia yang tidak boleh dikalahkan adalah kepantasan. Dalam bulatan dagangan, dagangan hari manual, dagangan jangka pendek intrahari, dan perdagangan frekuensi tinggi kuantitatif sentiasa menjadi sangat misteri. Saya tidak meragui orang-orang ini yang berdagang dengan melihat jam randik, tetapi saya cuba memujuk anda untuk melepaskan dagangan jangka pendek dari perspektif lain.

Apabila kita menilai sama ada sesuatu kaedah itu boleh dilaksanakan, kita bukan sahaja harus melihat kepada mereka yang telah berjaya menggunakan kaedah ini, tetapi juga mereka yang gagal menggunakan kaedah ini. Dengan kata lain, anda tidak boleh menganggap bahawa membeli tiket loteri adalah strategi dengan jangkaan positif hanya kerana sesetengah orang memenangi jackpot.

Tambahan pula, melihat kedudukan produk ekuiti persendirian, dalam tempoh tiga tahun yang lalu, berapa ramai daripada 100 teratas yang terlibat dalam spekulasi harian atau dagangan jangka pendek? Tidak dinafikan bahawa kadar kejayaan pelaburan jangka pendek adalah sangat rendah Walaupun ia berjaya, kaedah membuat wang dengan cepat ini sukar untuk dikekalkan dalam jangka masa panjang. Jika anda tidak berbakat, berhati-hati apabila menggunakan helah seperti ini, lagipun, hanya ada satu Simmons.

Sebab 3: Bias

Jika boleh, saya cadangkan anda menghabiskan 100 minit menonton filem - "12 Angry Men". Filem yang dibuat semula oleh empat negara: versi Amerika pertama pada tahun 1957, versi Jepun pada tahun 1991, versi Rusia pada tahun 1997, dan versi Cina pada tahun 2014. Walaupun filem ini tidak dapat mengajar anda cara berdagang, ia mengajar anda cara melihat sesuatu dan belajar mengenali diri sendiri, yang sangat penting.

Kerana pengalaman manusia terhad, kognisi manusia juga terhad. Setiap orang mempunyai berat sebelah pada tahap yang lebih besar atau lebih kecil berdasarkan pengalaman mereka sendiri. Banyak kali, prasangka telah menjadi kebiasaan kebanyakan orang, dan mereka mengambil mudah untuk menilai banyak perkara berdasarkan emosi mereka sendiri.

Kembali ke pasaran, sama ada penilaian anda terhadap pasaran berdasarkan analisis asas atau analisis teknikal, ia sebenarnya tidak penting. Jika pandangan anda berbeza daripada pandangan majoriti dalam pasaran, harga akan cenderung memihak kepada majoriti pasaran, dan pasaran tidak akan beroperasi mengikut pandangan anda.

Oleh itu, dalam transaksi, kita mesti ingat untuk "menghakimi, tetapi tidak bergantung pada pertimbangan". Satu-satunya kuasa yang mendorong harga naik dan turun ialah apa yang kebanyakan orang jangkakan masa depan. Pertimbangan anda tidak mempunyai berat dalam pasaran, jadi jangan biarkan pertimbangan anda membentuk berat sebelah anda sendiri.

Sebab 4: Mengejar kesempurnaan.

Peserta pasaran termasuk pakar dari semua lapisan masyarakat, termasuk fizik, statistik, matematik, astronomi, dll. Ramai orang cuba menggunakan pengetahuan profesional mereka untuk menerangkan pasaran ini.

Tetapi peserta utama dalam pasaran adalah orang, dan orang itu sendiri mempunyai batasan kognitif, yang bermaksud bahawa pasaran itu sendiri adalah salah dan tidak sempurna. Jadi bagaimana kita boleh menggunakan kaedah "sempurna" ini untuk menerangkan pasaran? Tidakkah ini bertentangan dengan sifat pasaran?

Di atas menyenaraikan sebab mengapa sebahagian besar orang yang datang ke pasaran akhirnya gagal. Sebagai tambahan kepada sebab-sebab utama yang disebutkan di atas, terdapat banyak faktor lain, yang tidak disenaraikan di sini satu demi satu. Pendek kata, kecuali keyakinan anda dalam kemenangan, segala-galanya adalah batu penghalang yang menghalang anda daripada berjaya.

Mereka yang membuat wang di pasaran kerana nasib baik akhirnya akan mengembalikannya ke pasaran dari semasa ke semasa. Oleh itu, pasaran niaga hadapan adalah permainan jumlah negatif. Hanya dengan mengubah cara pemikiran anda dan mewujudkan strategi dagangan anda sendiri boleh anda mempunyai kemungkinan untuk berjaya.

Apakah pemikiran probabilistik?

Pemikiran kebarangkalian adalah nama yang mewah, secara ringkasnya ia adalah pemikiran perjudian. Anda dengar betul, berdagang adalah perjudian. Apabila anda mendengar tentang perjudian, anda mungkin terfikir tentang "seseorang yang kehilangan segala-galanya dalam perjudian, melarikan diri kerana hutang, atau tidak mempunyai keluarga", dan menjauhinya.

Memang ada sesetengah penjudi dalam masyarakat yang obses dengan perjudian. Tetapi perjudian ≠ penjudi. "Perjudian" mungkin salah satu perkataan yang paling disalahfahamkan. Jika strategi anda adalah jangkaan negatif, anda adalah seorang penjudi; jika strategi anda adalah jangkaan positif, anda sedang berjudi.

Jika kita membuang maksud negatif "berjudi" dan memahaminya sebagai aktiviti yang melibatkan mengambil risiko tertentu sebagai pertukaran untuk pulangan tertentu, maka kehidupan benar-benar "berjudi" di mana-mana. Jurusan mana yang perlu dipilih di sekolah, sama ada untuk membeli rumah, sama ada untuk memulakan projek, bekerja atau memulakan perniagaan, dll.

Malah meletakkan wang di bank adalah satu perjudian kerana anda tidak pasti sama ada akan berlaku inflasi pada masa hadapan atau sama ada bank akan muflis (lihat krisis hutang Yunani). Pendek kata, dari buaian hingga ke liang lahad, setiap proses kehidupan adalah satu perjudian.

Bagaimana untuk menang dalam jangka masa panjang

Konsep perjudian perlu diselesaikan dengan lebih lanjut: bagaimana seseorang boleh menang dalam jangka masa panjang? Sebelum mengkaji strategi kemenangan jangka panjang, mari kita kaji dahulu prinsip strategi kemenangan jangka panjang tersebut. Selain daripada mesin pencetak wang, apakah lagi yang boleh menjamin kemenangan jangka panjang?

Itulah yang berlaku di kasino: bakarat, rolet, mesin slot, blackjack, dll. Tidak kira bagaimana kaedah bermain berubah, kasino akan menang pada akhirnya. Sebenarnya ada rahsia tersembunyi di sini yang tidak pernah diberitahu oleh kasino: undang-undang bilangan besar.

Bagaimana Sic Bo berfungsi

Tiga dadu, bertaruh pada saiz, 4-10 adalah kecil, 11-17 adalah besar, jika anda bertaruh dengan betul, anda memenangi wang. Terdapat sejenis dadu di sekeliling dalam Sic Bo, iaitu, apabila mata pada tiga dadu adalah sama, peniaga kasino akan menang Kebarangkalian dadu di sekeliling muncul ialah 2.8%. Maka kebarangkalian nombor besar dan nombor kecil muncul ialah 48.6% setiap satu. Kasino bergantung pada kebarangkalian 2.8% ini Jika setiap penjudi mempertaruhkan 100 yuan dalam setiap permainan, kasino akan memenangi 280 yuan selepas bermain 100 permainan.

(0.486+0.028)100100-0.486100100=280

Walau bagaimanapun, strategi kasino ini mempunyai kelemahan Jika pemain besar bertaruh berpuluh bilion secara sesuka hati dan kebetulan menang, kasino akan muflis secara tiba-tiba. Oleh itu, kasino akan menetapkan had pertaruhan, dan tiada pertaruhan lanjut boleh diletakkan dalam pusingan ini jika melebihi had tersebut. Dengan cara ini, walaupun penjudi bernasib baik untuk memenangi wang untuk seketika, dalam jangka masa panjang, dia masih akan kalah kepada kebarangkalian Dalam jumlah permainan Sic Bo yang tidak terhingga, penjudi akan kehilangan 2.8% daripada wangnya.

Hukum bilangan besar

Kelebihan pemilik kasino hanya 2% lebih daripada penjudi Dalam satu perjudian, pemilik mungkin mengalami kerugian atau mengalami kerugian berterusan. Walau bagaimanapun, pemilik kasino tidak akan takut dengan kerugian, kerana dia tahu bahawa sebab mengapa dia boleh membuat wang adalah kerana "undang-undang bilangan besar" sedang bekerja Selagi orang terus berjudi, dia hanya memerlukan sedikit kelebihan 2% untuk mengekalkan keuntungan yang stabil dalam jangka panjang.

Jadi kasino tidak takut anda memenangi wang, tetapi takut anda tidak akan datang. Anda juga pernah mendengar tentang bank bankrap selama bertahun-tahun, tetapi bilakah anda pernah mendengar tentang kasino bankrap? Dalam jangka panjang, kasino sentiasa menjadi pemenang Inilah sebab mengapa perjudian akan menang dalam jangka masa panjang.

Contoh yang sama untuk menang dalam jangka masa panjang termasuk: pelbagai loteri. Dana kumpulan hadiah loteri semakin banyak terkumpul sejak loteri dilancarkan, dan wang ini pastinya datang daripada majoriti pemain loteri. Adakah anda tahu apakah kebarangkalian untuk memenangi 5 juta dalam Double Color Ball? Jawapannya adalah satu dalam 17.7 juta.

Perubahan dalam kebarangkalian

Katakan terdapat syiling dengan berat yang sama pada kedua-dua belah pihak, kebarangkalian untuk membalikkan perkataan (belakang) atau bunga (depan) ialah 50%, dan setiap flip syiling adalah bebas daripada keputusan sebelumnya. Jika anda melambung syiling 10,000 kali berturut-turut, kebarangkalian untuk mendapat kepala adalah lebih kurang 50%.

Tetapi jika anda hanya melambungnya 10 kali, kebarangkalian untuk mendapat keputusan positif akan berubah, dan kebarangkalian mungkin tidak 50%. Oleh itu, peniaga kasino mesti memastikan bahawa strategi jangkaan positif ini dicetuskan cukup masa untuk strategi jangkaan positif ini berkesan. Ini juga merupakan sebab mengapa institusi ekuiti swasta tidak boleh menghentikan strategi apabila mereka memulakan strategi perdagangan kuantitatif melainkan terdapat syarat khas.

Cara menggunakan "undang-undang bilangan besar" untuk mencipta strategi kemenangan jangka panjang dalam pasaran kewangan akan menjadi kandungan siri kursus kami yang seterusnya, jadi nantikan!

ringkaskan

Di atas, kami telah menerangkan kepada anda cara melihat dagangan secara saintifik dari aspek kebarangkalian, sebab kegagalan dagangan, minda dagangan yang betul, prinsip menang dalam jangka masa panjang dalam perjudian, dll. Saya percaya bahawa jika anda belajar dengan baik, perubahan dalam pemikiran akan menjadi perubahan dalam tingkah laku anda, dan perubahan dalam tingkah laku akan menjadi perubahan dalam kejayaan anda.

Kerja rumah

  1. Mengapakah perdagangan adalah permainan kebarangkalian?
  2. Apakah sebab lain kegagalan transaksi?
Related Recommendations
Comment
All comments (2)

    好文章啊!

    5 years ago

    mark

    5 years ago
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)