Skip to main content

Moving Average Trading System Backtesting


Strategi Peralihan Rata-rata Bergerak. Pada halaman ini saya ingin membawa Anda melalui perbandingan beberapa sistem crossover rata-rata bergerak Satu menggunakan dua rata-rata moving average sederhana dan yang lainnya menggunakan tiga sma s. Dipikirkan menggunakan sistem rata-rata bergerak ganda. Untuk berdagang. Jika Anda mempertimbangkan untuk menggunakan crossover rata-rata bergerak ganda baik untuk memasuki dan keluar dari perdagangan, Anda mungkin mempertimbangkan untuk menguji sistem triple MA juga Membandingkannya berdampingan dengan saham yang berbeda atau instrumen perdagangan lainnya serta periode waktu atau jangka waktu yang berbeda Uji Periode rata-rata bergerak yang berbeda, tapi hati-hati jangan mengandalkan hasil optimal atau hasil kurva. Tapi karena beberapa pengunjung saya tidak tahu apa ini, mari kita membahas beberapa hal mendasar terlebih dahulu. APA SA BERGERAK RATA-RATA RATA-RATA. Gambar di sebelah kanan Adalah contoh crossover rata-rata bergerak ganda yang akan memulai sinyal beli crossover bullish A moving average 8 silau biru sma di atas rata-rata lebih lambat 13 sma - kuning. Perhatikan bahwa sinyal bukan co Nfirmed sampai penutupan bar Ini berarti entri aktual dalam live trading akan berada di suatu tempat di bar berikutnya Kemungkinan besar di dekat tempat terbuka bar itu. Jika Anda belum melakukan backtesting, sistem sederhana semacam ini mungkin akan menjadi salah satu dari Yang pertama yang akan Anda uji, karena memerlukan keterampilan pemrograman yang sangat sedikit. Jika demikian, jika Anda menuruni jalan ini, Anda akan menemukan bahwa harga pembukaan bar berikutnya setelah salib, adalah di mana perangkat lunak backtesting bergantung pada setting yang akan dilakukan pada simulasi. Perdagangan yang masuk akal, karena jika Anda benar-benar trading menggunakan software trading otomatis, ini adalah perkiraan yang mendekati kemana perdagangan Anda akan terjadi. Dengan sistem stop reversal yang khas, entri yang panjang ini tidak akan berakhir sampai MA yang biru dan cepat melintang di bawah MA yang berwarna kuning dan lebih lambat MA Ini crossover MA bearish tidak hanya keluar dari perdagangan, tapi juga memulai perdagangan singkat ke arah yang berlawanan. Jadi, dengan sistem crossover rata-rata bergerak ganda, trader selalu dalam perdagangan, Panjang atau pendek. Mari kita lihat contoh intraday selama satu hari. BERANDA RATA-RATA RATA-RATA CROSSOVER. Kami akan menggunakan grafik 5 menit SPY dengan dua rata-rata bergerak sederhana untuk contoh pertama Fast 8 sma - green dan Slow 13 Sma - kuning. Saya memilih hari ini, karena saya ingin menggambarkan apa yang sangat khas untuk strategi perpotongan rata-rata bergerak rata-rata. Perdagangan panjang pertama setelah pukul 11:00 berjalan dengan sangat baik dan benar-benar menarik arus mundur yang bagus. Pintu keluar sekitar pukul 12:45 Adalah menguntungkan. Tapi, ingin saya ingin Anda amati adalah tindakan harga berombak antara pukul 12 00 - 3 00 Di sinilah sistem MA ganda benar-benar dapat menggiling keuntungan Anda turun MA hanya whipsaw bolak-balik menyebabkan tiga kerugian berturut-turut, Mungkin menguap keuntungan dari perdagangan pertama Jika seseorang memperdagangkan metode ini pada hari ini, untungnya mereka akan pernah melihat satu lagi perdagangan kemenangan yang layak di 2 30. Bagian yang baik dari sistem ini ditampilkan pada perdagangan pertama dan perdagangan terakhir. Bergerak avera Penggantian ge gagal total selama tindakan harga berombak, mereka bekerja dengan sangat baik selama aksi harga tren. Jika Anda mendukung sistem penghentian dan mundur sederhana ini, dan memeriksa yang menghasilkan keuntungan, kemungkinan besar Anda akan menemukan bahwa kemenangan kurang dari 50 , Namun rata-rata pemenangnya akan lebih besar dari rata-rata pecundang. Itu karena sistem crossover rata-rata bergerak pada dasarnya adalah sistem perdagangan tren. Dan, sistem perdagangan tren hampir selalu memiliki karakteristik persentase kecil dari pemenang dan rasio yang baik. Di bawah L Long, S Short dan Ex Exit. TRIPLE MOVING AVERAGE CROSSOVER. Sejauh ini diskusi berpusat di seputar sistem tipe stop reverse, dimana sinyal untuk keluar, juga menghasilkan perdagangan ke arah yang berlawanan Tetapi jika kita memperkenalkan langkah ketiga Rata ke sistem, ada masa netralitas Dengan kata lain, tidak ada perdagangan yang terjadi - Anda kembali dengan uang tunai. Untuk contoh ini, kita akan menggunakan grafik 3 menit dan tiga rata-rata bergerak sederhana 4 sma, 1 0 sma dan 50 sma. Aturannya sangat sederhana Jika garis lambat 50 sma sedang naik, dan jalur cepat 4 sma melintasi garis tengah 10 sma, ada sinyal beli Sinyal keluarnya datang saat garis cepat melintasi bawah Garis tengah. Aturannya berlawanan untuk entri pendek. Mudah dilihat, bahwa sistem ini serupa dengan mengambil perdagangan dari tren kerangka waktu yang lebih tinggi. Alternatif sistem ini, hanya akan mengambil masukan lama, ketika keduanya Rata-rata bergerak cepat dan menengah berada di atas sma yang lambat. Sadarilah bahwa ketika Anda berhadapan dengan tiga tingkat kebebasan 3 variabel, bukan dua seperti contoh di atas, Anda membuat sistem lebih kompleks dan karena itu menciptakan lebih banyak kombinasi yang mungkin untuk Test. Tentu saja, perangkat lunak backtesting membuat ini sekejap, tapi ingat bahwa menambahkan filter dan kompleksitas tidak selalu membuat sistem yang lebih baik Seringkali, sistem yang lebih sederhana dapat lebih kuat dalam pengujian. Contohnya ada di bawah. Jika Anda tertarik untuk memindahkan rata-rata , Kamu migh Saya juga ingin melihat halaman saya tentang bagaimana menggunakan moving averages sebagai trailing stop. Backtesting a Moving Average Crossover dengan Python dengan panda. Pada artikel sebelumnya mengenai Research Backtesting Environments Dengan Python Dengan Pandas, kami menciptakan sebuah penelitian berbasis objek. Lingkungan backtesting dan mengujinya dengan strategi peramalan acak. Pada artikel ini kami akan menggunakan mesin yang kami gunakan untuk melakukan penelitian mengenai strategi aktual, yaitu Moving Average Crossover pada Strategi Crossover Rata-rata AAPL. Moving Average. Teknik Moving Average Crossover adalah Strategi momentum sederhana yang sangat terkenal Hal ini sering dianggap sebagai contoh Halo Dunia untuk perdagangan kuantitatif. Strategi seperti yang diuraikan di sini adalah hanya-panjang Dua filter rata-rata bergerak sederhana yang terpisah dibuat, dengan periode pencarian yang bervariasi, dari rangkaian waktu tertentu Sinyal ke Pembelian aset terjadi ketika moving average moving average yang lebih pendek melebihi lookback moving average yang lebih lama. Jika subsenya rata-rata lebih lama Jauh melebihi rata-rata yang lebih pendek, aset dijual kembali Strategi berjalan dengan baik saat deret waktu memasuki periode tren yang kuat dan kemudian perlahan membalikkan tren. Untuk contoh ini, saya telah memilih Apple, Inc AAPL sebagai rangkaian waktu, dengan Lookback pendek 100 hari dan lookback panjang 400 hari Inilah contoh yang diberikan oleh perpustakaan perdagangan algoritma zipline Jadi jika kita ingin menerapkan backtester kita sendiri, kita perlu memastikan bahwa itu sesuai dengan hasil di zipline, sebagai sarana dasar untuk validasi. Pastikan untuk mengikuti tutorial sebelumnya di sini yang menjelaskan bagaimana hirarki objek awal untuk backtester dibangun, jika kode di bawah ini tidak akan bekerja Untuk implementasi khusus ini, saya telah menggunakan librari berikut. Penerapan memerlukan dari tutorial sebelumnya Yang pertama Langkahnya adalah mengimpor modul dan objek yang diperlukan. Seperti pada tutorial sebelumnya kita akan mengelompokkan kelas dasar abstraksi Strategi untuk menghasilkan MovingAverageCrossStrategy w Hich berisi semua rincian tentang bagaimana untuk menghasilkan sinyal ketika rata-rata bergerak AAPL saling silang satu sama lain. Objek memerlukan shortwind dan longwindow yang beroperasi Nilai telah ditetapkan ke default masing-masing 100 hari dan 400 hari, Yang merupakan parameter yang sama yang digunakan pada contoh utama zipline. Rata-rata bergerak dibuat dengan menggunakan fungsi rollingmanan pandas pada palang Tutup harga penutupan saham AAPL Setelah rata-rata pergerakan individu telah dibangun, Seri sinyal dihasilkan oleh pengaturan Kolum sama dengan 1 0 bila moving average pendek lebih besar dari moving average yang panjang, atau 0 0 sebaliknya Dari sini posisi order dapat dihasilkan untuk mewakili sinyal trading. MarketOnClosePortfolio dikelompokkan dari Portofolio yang ditemukan di dalamnya hampir identik. Untuk implementasi yang dijelaskan di tutorial sebelumnya, dengan pengecualian bahwa perdagangan sekarang dilakukan secara Close-to-Close, bukan Open-to - Open basis Untuk rincian tentang bagaimana objek Portofolio didefinisikan, lihat tutorial sebelumnya saya telah meninggalkan kode untuk kelengkapan dan untuk menjaga agar tutorial ini tetap terkandung. Sekarang, kelas MovingAverageCrossStrategy dan MarketOnClosePortfolio telah didefinisikan, fungsi utama akan menjadi Dipanggil untuk mengikat semua fungsi bersama Selain itu, kinerja strategi akan diperiksa melalui sebidang kurva ekuitas. Objek dataBander pandas mendownload harga OHLCV dari saham AAPL untuk periode 1 Januari 1990 sampai 1 Januari 2002, pada saat mana Sinyal DataFrame dibuat untuk menghasilkan sinyal yang panjang saja. Portofolio selanjutnya dihasilkan dengan basis modal awal 100.000 USD dan imbal hasil dihitung pada kurva ekuitas. Langkah terakhir adalah menggunakan matplotlib untuk merencanakan plot dua angka dari keduanya. Harga AAPL, dilapis dengan rata-rata bergerak dan sinyal jual beli, serta kurva ekuitas dengan sinyal jual beli yang sama Kode pemodelan diambil dan dimodifikasi dari z Contoh implementasi ipline. Output grafis dari kode ini adalah sebagai berikut Saya menggunakan perintah paste IPython untuk memasukkan ini langsung ke konsol IPython saat berada di Ubuntu, sehingga output grafis tetap terlihat. Upticks pink mewakili pembelian saham, sementara Downticks hitam mewakili penjualan kembali. APLL Moving Average Crossover Performance dari tahun 1990-01-01 sampai 2002-01-01.As dapat dilihat strategi kehilangan uang selama periode tersebut, dengan lima perdagangan round-trip Hal ini tidak mengherankan mengingat Perilaku AAPL selama periode tersebut, yang pada tren sedikit menurun, diikuti oleh kenaikan yang signifikan yang dimulai pada tahun 1998 Periode pengembalian sinyal pergerakan rata-rata agak besar dan ini berdampak pada keuntungan perdagangan akhir, yang mungkin telah membuat Strategi yang menguntungkan. Pada artikel selanjutnya kita akan menciptakan cara yang lebih canggih untuk menganalisa kinerja, serta menggambarkan bagaimana mengoptimalkan periode lookback dari rata-rata sinyal moving average. S. Hanya Memulai dengan Quantitative Trading. BackTesting Moving Averages. Mengapa Moving Averages. As seorang pedagang atau investor, satu-satunya alasan untuk menyelidiki moving averages adalah untuk mendapatkan pengetahuan untuk meningkatkan keuntungan Seperti banyak indikator teknis lainnya, moving averages dimaksudkan untuk membantu kita. Secara obyektif memberi tahu status pasar pada waktu tertentu Ini membantu kita melihat melalui emosi hari ini dan membuat keputusan rasional, yang akan kita katakan akan menghasilkan keuntungan lebih besar dan atau sedikit kerugian dalam jangka panjang Moving averages MAs memperlancar serangkaian harga untuk MA saham paling sering digunakan untuk mengidentifikasi tren arah pasar, dan digolongkan sebagai indikator tren berikut Ini tidak berarti bahwa MA hanya untuk pedagang jangka panjang trader jangka pendek menggunakannya juga Moving averages dapat digunakan untuk menyaring Saham untuk calon yang baik, peluang membeli sinyal, dan menawarkan sinyal jual. Mengapa Backtest A Story. Tujuan backtesting adalah untuk mengetahui apakah moving averages benar-benar menghasilkan hasil yang lebih baik. Apa cara yang paling menjanjikan untuk menerapkan MA Biarkan saya ceritakan sebuah cerita pendek Sewaktu saya mengumpulkan hasilnya untuk salah satu masalah BackTesting Report, saya kebetulan mengunjungi seorang teman Di rumahnya, saya menemukan beberapa bahan bacaan. Dari broker saham diskon yang diiklankan dengan baik Di dalamnya adalah artikel yang memberi saran kepada pelanggannya untuk menggunakan panjang rata-rata bergerak tertentu yang diterapkan dengan cara tertentu untuk mendapatkan hasil terbaik. Tes komprehensif saya ada di depan saya dan saya dapat memberi tahu Anda bahwa Metode broker tidak mendapatkan hasil terbaik walaupun mereka menyebutkan panjang MA yang berguna dengan cara lain yang saya dapatkan dalam hasil tes tangan saya yang menunjukkan bahwa cara broker menerapkan rata-rata bergerak memiliki tingkat kemenangan lebih buruk daripada baseline saat diuji. Pada 7147 saham selama 14 tahun data pasar saham Jelas broker tidak menjalankan pengujian semacam itu. Hal ini ditujukan kepada pelanggan yang ingin kita jaga untuk diri kita sendiri dan mencari tahu apa yang berhasil versus apa yang tidak terjadi. Bagaimana Menghitung MAs. When kembali Pengujian rata-rata bergerak, keputusan pertama adalah bagaimana menghitung rata-rata bergerak Apakah Anda menginginkan SMA bergerak sederhana atau sesuatu yang dirancang untuk melacak harga lebih baik seperti rata-rata bergerak eksponensial EMA Anda mungkin mempertimbangkan eksperimen untuk membandingkan tingkat kemenangan dari dua perbedaan Rata-rata yang saya lakukan hanya beberapa tahun yang lalu, dan sementara saya tidak memiliki hasil untuk dipublikasikan, saya datang dengan anggapan bahwa hal itu tidak membuat perbedaan besar apakah saya memilih SMA atau EMA hanya memilih satu dan menggunakannya secara konsisten Jadi untuk Proyek ini, saya memilih untuk menggunakan rata-rata bergerak sederhana karena saya melihat mereka yang disebutkan di komentar paling sering Untuk benar-benar melakukan perhitungan, saya bergantung pada fungsi built-in yang disertakan dengan TradeStation Pilihan mesin backtesting adalah keputusan lain yang cukup umum untuk Menulis tentang di post. How lain untuk menggunakan MAs. Berikutnya Anda perlu menentukan bagaimana sebenarnya Anda ingin menerapkan rata-rata bergerak Bagaimana Anda akan menafsirkan hubungan antara harga dan rata-rata bergerak Apa aturan wi Yang akan Anda gunakan untuk memutuskan kapan harus membeli dan menjual Anda tidak perlu membaca lama tentang saham sebelum menemukan referensi bullish ke perdagangan saham di atas rata-rata pergerakan 200 hari atau rata-rata pergerakan 50 hari, atau bahkan 10 atau lebih MA 20 hari atau saran untuk membeli saham saat mereka melewati moving average 50 hari atau 200 hari Ini adalah peraturan penting untuk diuji di mesin backtesting Dan kemudian ada perpotongan rata-rata bergerak metode klasik analisis teknis Yang membuat tiga perbedaan Cara menggunakan rata-rata bergerak untuk menguji. Pergi lebih dalam, beberapa teks perdagangan berbicara tentang kemiringan rata-rata bergerak Jika Anda kembali ke aljabar dan menganggap MA sebagai garis, untuk menemukan kemiringannya, Anda akan memilih dua titik di Line dan menerapkan rumus biasa x2-x1 y2-y1 Ini memunculkan pertanyaan tentang seberapa jauh jaraknya untuk memilih dua poin yang dapat membuat perbedaan pada hasil. Sungguh, karena MA sedang digunakan untuk mengidentifikasi tren, kita hanya ingin Tahu apakah itu miring ke atas atau ke bawah Maka kita bisa menyederhanakannya Secara keseluruhan perhitungan dengan memperhatikan bahwa jika harga berada di atas rata-rata bergerak, maka harus ditarik rata-rata, dan harga di bawah MA menariknya ke bawah. Jadi, alasan lain untuk menguji keampuhan harga di atas rata-rata pergerakan. Parameter settings. Once Anda memutuskan bagaimana menggunakan MAs, Anda perlu memilih berbagai rentang untuk diuji Waspadai pengoptimalan berlebihan di suatu tempat di luar sana ada seorang pria dengan hasil backtesting yang menunjukkan keuntungan 3895 atau apa pun yang menggunakan rata-rata pergerakan yang tepat. Terlalu buruk dia tidak melakukannya. Tahu apa MA akan menghasilkan hasil di masa depan Yang mengatakan, Anda perlu mencoba lebih dari satu panjang untuk memastikan bahwa hasil Anda tidak sesuai Stick dengan pengaturan default atau yang Anda dengar paling banyak di media Menemukan satu pengaturan parameter yang sempurna Tidak akan membuat Anda kaya Menemukan sekelompok pengaturan bagus dan kuat mungkin akan banyak membantu Anda. Sebagai masalah praktis saat backtesting memungkinkan jeda data yang cukup sebelum mengukur Semua tes harus mulai mengukur Tempat yang sama untuk perbandingan apel-apel sampai perbandingan antara panjang MA yang berbeda Misalnya, jika Anda menguji rata-rata pergerakan 200 hari, dibutuhkan 200 hari pertama data untuk menghitung titik pertama dari rata-rata pergerakan itu. Bahwa hari pertama Anda mungkin memiliki sinyal 200 hari ke kumpulan data Untuk membuat perbandingan yang adil dengan, misalnya, rata-rata pergerakan 10 hari, Anda harus memastikan tidak menghitung sinyal apapun dari pergerakan 10 hari. Rata-rata sebelum hari 200 siap untuk pergi Untungnya TradeStation memiliki cara untuk mengatur jumlah maksimum bar studi akan referensi di Properties untuk Semua strategi yang memaksa mesin backtesting untuk menunggu lama sebelum data tabulasi. Laba lebih baik dari Membeli atau Menjual. Aturan rata-rata bergerak, dan khususnya aturan crossover moving average, sering dibicarakan sebagai sistem pembalikan. Ini berarti bahwa satu sinyal, katakanlah bahwa perpindahan MA ke atas adalah sinyal beli dan kemudian sebaliknya, katakanlah garis MA yang melintang, bukan hanya menjual Sinyal juga Pemicu untuk pergi pendek Secara teoritis, itu saja tapi banyak orang tidak tertarik pada korslet pasar Mereka mencari teknik untuk membantu mereka membeli dan mungkin menjual Bahkan orang yang secara teratur menjual dan menjual pendek mungkin menggunakan teknik yang berbeda untuk membeli dan menjual Untuk alasan ini, bijaksana untuk menguji sinyal beli secara terpisah dari sinyal jual. Hal ini menimbulkan dilema karena sulit untuk mengevaluasi sinyal beli secara terpisah Salah satu cara untuk melakukannya adalah dengan menggunakan waktu keluar yang tepat, yaitu keluar dari perdagangan atau Menjual saham setelah beberapa waktu berlalu saya memilih untuk menjalankan setiap backtest tiga kali dengan tiga kali berbeda keluar karena berbeda orang memiliki gaya yang berbeda dan kebutuhan yang berbeda Untuk menghasilkan hasil backtesting yang berguna untuk swing trader, saya keluar setelah 2 hari Untuk model trader posisi , 20 hari Untuk memenuhi kebutuhan investor aktif, backtesting memegang setiap posisi selama 200 hari. Ini memberi jalan untuk mengisolasi sinyal beli dan mencari tahu seberapa berguna rata-rata pergerakannya. O pembeli saham dari berbagai temperamen. Perlu Menentukan Kebaikan. Satu hal yang lebih penting untuk dipertimbangkan jika Anda melakukan backtesting moving averages untuk mengetahui seberapa baik kinerja mereka di pasar saham Bagaimana Anda tahu apa yang baik? Anda memerlukan kriteria objektif untuk kesuksesan. Berarti mengidentifikasi statistik kunci seperti tingkat kemenangan, harapan, keuntungan ekuitas hipotetis, dll. Ini juga berarti menetapkan standar untuk kinerja yang dapat diterima di masing-masing bidang ini. Contoh menggambarkan mengapa hal ini penting dan mengapa hal itu tidak semudah yang pertama kali muncul. Katakanlah Tes Anda menunjukkan tingkat kemenangan 55 untuk indikator tertentu Mungkin tidak begitu bagus jika, katakanlah, 62 dari semua saham naik selama periode yang sama atau jika hanya 25 saham yang naik selama periode waktu itu, kemenangan Anda 55 Rate akan spektakuler Apa yang baik tergantung pada bagaimana perbandingannya dengan kinerja pasar dasar di bawah kondisi yang sama. Anda dapat mendownload salinan terbebas dari masalah Baseline Laporan BackTesting dengan mengklik di sini. Untuk backtest yang berarti, Anda perlu memiliki cukup data untuk membuat perbandingan yang valid secara statistik Minimal, itu berarti 30 perdagangan Bahkan jika Anda memperdagangkan hanya satu instrumen hanya satu saham atau hanya satu pasangan mata uang, saya pikir penting untuk menguji strategi trading Anda pada banyak instrumen yang berbeda. Untuk membuktikan ketahanannya, saya mendapatkan hasil yang bagus dengan 7147 saham yang sangat besar selama 14 tahun untuk memastikan hasilnya akan diterapkan dalam berbagai kondisi pasar. Anda bisa mendapatkan salinan laporan backtesting saya untuk membeli sinyal beli rata-rata dengan Klik disini

Comments

Popular posts from this blog

Pindah Rata Filter Matlab Kode Contoh

Dibuat pada hari Rabu, 08 Oktober 2008 20 04 Terakhir Diperbaharui pada Kamis, 14 Maret 2013 01 29 Ditulis oleh Batuhan Osmanoglu Hits 41574.Moving Average Di Matlab. Seringkali saya mendapati diri saya membutuhkan data rata-rata saya harus mengurangi sedikit kebisingan. Aku menulis beberapa fungsi untuk melakukan apa yang saya inginkan, tapi matlab s dibangun di fungsi filter bekerja cukup bagus juga Disini saya akan menulis tentang 1D dan 2D rata-rata data.1D filter dapat direalisasikan dengan menggunakan fungsi filter Fungsi filter memerlukan setidaknya Tiga parameter masukan koefisien pembilang untuk filter b, koefisien penyebut untuk filter a, dan data X tentu saja. Filter rata-rata yang sedang berjalan dapat didefinisikan secara sederhana oleh. Untuk data 2D kita dapat menggunakan fungsi filter2 Matlab s Untuk informasi lebih lanjut Tentang bagaimana filter bekerja, Anda dapat mengetik. Berikut adalah penerapan cepat dan kotor dari 16 dengan 16 filter rata-rata bergerak Pertama, ...