Wednesday 19 July 2017

Trading Strategy To Backtest


Ikhtisar: Situs pendidikan gratis ini dimaksudkan agar Anda dapat membandingkan strategi perdagangan teknik yang paling ilmiah sealami mungkin melalui backtesting. Secara umum, cukup sulit untuk secara konsisten mengalahkan pasar dan Anda harus skeptis terhadap apapun yang memberitahu Anda sebaliknya. Situs ini memungkinkan Anda untuk mendukung beberapa strategi teknis yang umum untuk melihat bagaimana kinerja mereka terhadap pasar dan memungkinkan Anda memajang saham yang memenuhi kriteria trading Anda. Strategi yang backtest dengan baik, tentu saja, tidak menjamin kesuksesan maju namun bisa memiliki probabilitas yang lebih tinggi untuk berkinerja baik. Backtesting juga memungkinkan Anda melihat kondisi pasar di mana strategi tertentu akan berkinerja baik. Misalnya, jika Anda yakin pasar akan terikat ke depan, Anda dapat mengetahui strategi apa yang terbaik di pasar jenis ini. Hal ini dilakukan dengan backtesting kerangka waktu sejarah yang terikat dan melihat strategi mana yang terbaik. Backtesting juga membantu Anda melihat parameter strategi mana yang paling kuat sepanjang periode waktu yang berbeda. Misalnya, apakah 10 stop-loss mengungguli 5 titik perhentian 9 periode waktu historis dari 10 Jadi, backtesting dapat memberikan wawasan perdagangan yang berharga meskipun tidak dapat menjamin masa depan. Beberapa hal menarik yang mungkin Anda temukan: Kombinasi perdagangan dan komisi aktif dapat menghapus Anda meskipun Anda memiliki persentase yang baik dalam memenangkan perdagangan. Halangan yang benar-benar ketat dapat benar-benar menyakiti profitabilitas jangka panjang Anda dan tidak mengurangi penarikan sebanyak yang mungkin Anda harapkan. Strategi yang Anda pikir akan bagus yang secara konsisten mengimbangi pasar Directions (Single Stock Backtesting): Pilih saham yang ingin Anda gunakan untuk mendukung strategi teknis Anda. Modal Awal: Jumlah uang yang Anda mulai dengan Stoploss: Titik di mana Anda ingin keluar dari posisi yang bergerak melawan Anda. Perhentian reguler berarti Anda akan keluar dari posisi Anda jika saham turun dalam persentase di bawah tempat Anda membelinya. Trailing stop: Katakanlah Anda membeli saham pada pukul 10 dan memasukkan 10 trailing stop. Jika saham jatuh 10 tanpa kenaikan yang lebih tinggi, Anda akan menjual di 9. Tetapi jika saham naik sampai 15 lalu turun 10 menjadi 13,5, Anda akan menjual pada level 13,5 dan mengunci beberapa keuntungan. Target: Jual bila stok Anda mencapai persentase keuntungan tertentu (Bisa dimatikan dengan memilih Dont Use Target) Tanggal Mulai Tanggal dan Tanggal: Pilih tanggal historis di mana Anda ingin menguji strategi. Sinyal: Sinyal melibatkan penyeberangan atau hubungan antara harga dan indikator teknis. Misalnya, golden cross, beli saat 50 hari simple moving average (sma) melintasi diatas sma 200 hari dan jual saat 50 hari melintasi di bawah hari 200 (death cross). Tautan berikut menjelaskan beberapa indikator teknis populer: Dapatkan TradesGraph: Dapatkan perdagangan akan benar-benar menunjukkan kepada Anda perdagangan yang akan Anda lakukan jika Anda kembali pada waktunya dengan ringkasan kinerja yang disertakan. Tes statistik: Uji untuk melihat apakah rata-rata strategi pengembalian rata-rata harian sama dengan rata-rata pengembalian Sampr 500 harian atau sama dengan rata-rata pengembalian pembelian dan penangguhan harian selama periode tersebut. Kami ingin tahu seberapa yakin kita bisa menolak bahwa kedua pengembalian itu sama. Semakin tinggi kepercayaan semakin yakin bahwa strategi Anda sebenarnya lebih baik daripada SampP 500 atau buy and hold. Grafik memplot nilai portofolio dari waktu ke waktu dengan ringkasan kinerja yang disertakan. Petunjuk (PortTester Beta): Ini untuk mendukung strategi yang akan Anda terapkan pada portofolio Anda karena saham mencapai sinyal pembelian dan penjualan teknis Anda. Di kotak teks pertama, masukkan ticker untuk keranjang saham yang ingin Anda gunakan untuk mendukung strategi teknis Anda. Masukkan setiap ticker yang dipisahkan oleh spasi. Saham saat ini tersedia termasuk 30 saham dow, AA AXP BA BAC CAT CSCO CVX DD DIS GE HD HPQ IBM INTC JNJ JPM KFT KO MCD MMM MRK MSFT PFE PG T TRV UTX VZ WMT XOM. Untuk memasukkan semua 30 di backtest, cukup ketik DJIA yang merupakan default. Target Jumlah Posisi Terbuka: Ini adalah jumlah saham yang ingin Anda posisikan dan tidak ada lagi. Misalnya, katakanlah Anda ingin menargetkan 2 posisi terbuka. Ketika backtester menemukan sinyal beli di salah satu saham yang Anda masukkan ke dalam keranjang, katakan GE, itu akan menganggap GE dibeli. Sekarang akan mencari 1 saham lagi untuk membeli ketika ada sinyal beli, katakanlah BAC. Anda sekarang memiliki portofolio 2 posisi terbuka (GE dan BAC) dan backtester tidak akan membeli lagi sampai sinyal jual menjual salah satu saham. Portofolio terdiversifikasi mungkin memiliki 10 saham atau lebih, namun ini membutuhkan banyak daya komputasi untuk backtest. Dengan demikian, portofolio kecil seperti default dari 5 posisi terbuka akan cukup untuk mendapatkan rasa kinerja strategi. Sebagai catatan, bagi investor dengan modal kecil mengatakan 10.000, sangat mahal untuk menukar sejumlah besar posisi dengan 20 komisi untuk perdagangan round trip. ETF adalah cara murah untuk mendapatkan diversifikasi. Modal Awal: Jumlah uang yang Anda mulai dengan Komisi Perdagangan: Jumlah yang Anda bayarkan untuk TDAmeritrade, SOGO, ScottTrade, dll untuk memperdagangkan saham Ukuran Posisi: Beginilah cara Anda memutuskan sejumlah uang untuk masing-masing saham dalam portofolio Anda. Saat ini hanya ada satu pilihan (Equal Cash Allocation) yang tersedia. Ini berarti jika saya memiliki 10.000 dan saya ingin masuk 2 posisi, saya akan memasukkan 5000 di setiap komisi yang lebih sedikit. Dengan kata lain, uang tunai yang tersedia akan dibagi rata ke posisi baru sampai saya mencapai target n jumlah posisi terbuka saya. Pilihan lain yang akan datang adalah jumlah saham yang sama, dan aturan ukuran berdasarkan volatilitas. Stoploss: Titik di mana Anda ingin keluar dari posisi yang bergerak melawan Anda. Katakanlah Anda membeli saham di 10 dan dimasukkan ke dalam 10 trailing stop. Jika saham jatuh 10 tanpa kenaikan yang lebih tinggi, Anda akan menjual di 9. Tetapi jika saham naik sampai 15 lalu turun 10 menjadi 13,5, Anda akan menjual pada level 13,5 dan mengunci beberapa keuntungan. Tanggal Mulai Tanggal dan Tanggal: Pilih tanggal historis di mana Anda ingin menguji strategi. Backtester akan dimulai pada tanggal mulai dalam data historis dan akan mencari melalui saham yang Anda pilih sampai meniru sinyal beli. Jika tidak ada sinyal beli yang ditemukan pada hari pertama, backtester bergerak ke hari berikutnya dan mencari semua saham di keranjang sampai sinyal beli ditemukan dimana harga saham diasumsikan dibeli pada harga penutupan yang disesuaikan untuk perpecahan dan Dividen. Begitu stok dibeli, backtester akan mencari untuk menjual saham itu saat sinyal jual datang. Ini juga terus terlihat untuk membeli saham sampai jumlah target posisi terbuka tercapai. Pada saat bersamaan, akan menjual posisi yang ada jika terjadi sinyal jual. Nilai portofolio dihitung setiap hari sampai tanggal akhir. Sinyal: Sinyal melibatkan penyeberangan atau hubungan antara harga dan indikator teknis. Misalnya, golden cross, beli saat 50 hari simple moving average (sma) melintasi diatas sma 200 hari dan jual saat 50 hari melintasi di bawah hari 200 (death cross). Dapatkan TradesGraph: Dapatkan perdagangan akan benar-benar menunjukkan kepada Anda perdagangan yang akan Anda lakukan jika Anda kembali pada waktunya dengan ringkasan kinerja yang disertakan. Grafik memplot nilai portofolio dari waktu ke waktu dengan ringkasan kinerja yang disertakan. Penafian: stockbacktest tidak mendukung atau merekomendasikan strategi atau sekuritas apa pun di situs ini. Konten di situs ini adalah untuk tujuan informasi dan tidak dijadikan saran investasi. Stockbacktest tidak bertanggung jawab atas kesalahan pada situs ini atau tindakan yang diambil berdasarkan konten situs ini. Mengunduh Apa Backtesting Backtesting adalah proses pengujian strategi perdagangan pada data historis yang relevan untuk memastikan kelangsungan hidup sebelum trader mengetahui adanya modal sebenarnya. . Seorang pedagang dapat mensimulasikan perdagangan strategi selama periode waktu yang tepat dan menganalisis hasilnya untuk tingkat profitabilitas dan risiko. BREAKING DOWN Backtesting Jika hasilnya memenuhi kriteria yang diperlukan yang dapat diterima oleh trader, strategi tersebut kemudian dapat diimplementasikan dengan tingkat kepercayaan tertentu sehingga akan menghasilkan keuntungan. Jika hasilnya kurang menguntungkan, strategi bisa dimodifikasi, disesuaikan dan dioptimalkan untuk mencapai hasil yang diinginkan, atau bisa saja benar-benar dibatalkan. Sejumlah besar volume yang diperdagangkan di pasar keuangan hari ini dilakukan oleh pedagang yang menggunakan semacam otomasi komputer. Hal ini terutama berlaku untuk strategi trading berdasarkan analisa teknikal. Backtesting merupakan bagian integral dari pengembangan sistem perdagangan otomatis. Backtesting Berarti Bila dilakukan dengan benar, backtesting bisa menjadi alat yang sangat berharga untuk membuat keputusan tentang apakah akan menggunakan strategi perdagangan. Periode waktu sampel dimana backtest dilakukan sangat penting. Durasi jangka waktu sampel harus cukup lama untuk memasukkan periode dari berbagai kondisi pasar termasuk tren naik, downtrend dan range-bound trading. Melakukan tes hanya pada satu jenis kondisi pasar dapat menghasilkan hasil yang unik yang mungkin tidak berfungsi dengan baik pada kondisi pasar lainnya, yang dapat menyebabkan kesimpulan palsu. Ukuran sampel dalam jumlah perdagangan dalam hasil tes juga penting. Jika jumlah sampel perdagangan terlalu kecil, tes mungkin tidak signifikan secara statistik. Contoh dengan terlalu banyak perdagangan dalam jangka waktu yang terlalu lama dapat menghasilkan hasil yang dioptimalkan di mana sejumlah besar perdagangan yang menang menyatu di seputar kondisi pasar tertentu atau tren yang menguntungkan bagi strategi. Hal ini juga dapat menyebabkan pedagang menarik kesimpulan yang menyesatkan. Menjaganya Nyata Backtest harus mencerminkan kenyataan semaksimal mungkin. Biaya perdagangan yang mungkin dianggap diabaikan oleh pedagang bila dianalisis secara individual mungkin memiliki dampak signifikan bila biaya agregat dihitung selama periode backtesting keseluruhan. Biaya ini termasuk komisi, spread dan selip, dan mereka bisa menentukan perbedaan antara apakah strategi trading itu menguntungkan atau tidak. Sebagian besar paket perangkat lunak backtesting mencakup metode untuk memperhitungkan biaya ini. Mungkin metrik yang paling penting yang terkait dengan backtesting adalah tingkat strategi ketahanan. Hal ini dilakukan dengan membandingkan hasil uji balik yang dioptimalkan pada periode waktu sampel tertentu (disebut dalam sampel) dengan hasil backtest dengan strategi dan pengaturan yang sama dalam periode waktu sampel yang berbeda (disebut out - Dari sampel). Jika hasilnya sama menguntungkannya, maka strategi tersebut dapat dianggap valid dan kuat, dan siap diimplementasikan di pasar real-time. Jika strategi gagal dalam perbandingan di luar sampel, maka strategi tersebut memerlukan pengembangan lebih lanjut, atau harus ditinggalkan sama sekali. Menguji ide trading Anda Salah satu hal yang paling berguna yang dapat Anda lakukan di jendela analisis adalah mundur - Uji strategi trading Anda pada data historis. Hal ini dapat memberi Anda wawasan berharga tentang kekuatan dan kelemahan sistem Anda sebelum menginvestasikan uang sungguhan. Fitur AmiBroker tunggal ini bisa menghemat banyak uang untuk Anda. Menulis aturan trading Anda Pertama-tama Anda harus memiliki peraturan objektif (atau mekanis) untuk masuk dan keluar dari pasar. Langkah ini adalah dasar strategi Anda dan Anda perlu memikirkannya sendiri karena sistem ini harus sesuai dengan toleransi risiko, ukuran portofolio, teknik pengelolaan uang, dan banyak faktor individual lainnya. Setelah Anda memiliki aturan trading sendiri, Anda harus menuliskannya sebagai aturan beli dan jual di AmiBroker Formula Lanugage (ditambah short dan cover jika Anda ingin menguji juga short trading). Dalam bab ini kita akan mempertimbangkan sistem cross average moving average yang sangat mendasar. Sistem ini akan membeli stockscontracts ketika harga penutupan naik di atas rata-rata bergerak eksponensial 45 hari dan akan menjual stockscontracts saat harga penutupan turun di bawah rata-rata pergerakan eksponensial 45 hari. Rata-rata pergerakan eksponensial dapat dihitung di AFL menggunakan fungsi bawaannya EMA. Yang perlu Anda lakukan adalah menentukan array input dan periode rata-rata, sehingga rata-rata moving average 45-hari dari harga penutupan dapat diperoleh dengan pernyataan berikut: Pengenal dekat mengacu pada array built-in yang menahan harga penutupan simbol yang dianalisis saat ini. . Untuk menguji apakah harga penutupan di atas rata-rata bergerak eksponensial, kita akan menggunakan fungsi silang bawaan: beli cross (close, ema (close, 45)) Pernyataan di atas mendefinisikan aturan perdagangan beli. Ini memberi quot1quot atau quottruequot saat harga penutupan mendekati di atas ema (close, 45). Kemudian kita bisa menulis aturan jual yang akan memberi quote saat situasi berlawanan terjadi - harga penutupan dekat di bawah ema (close, 45): sell cross (ema (close, 45), close) Perlu diketahui bahwa kita menggunakan fungsi cross yang sama tapi Urutan argumen yang berlawanan. Jadi rumus lengkap untuk perdagangan panjang akan terlihat seperti ini: beli cross (close, ema (close, 45)) jual cross (ema (close, 45), close) CATATAN: Untuk membuat formula baru silahkan buka Formula Editor menggunakan Analysis-gtFormula Editor Menu, ketik rumusnya dan pilih Tools-gtSend to Analysis menu di Formula editor Untuk melakukan back-test sistem anda cukup klik tombol Back test di jendela automatic analysis. Pastikan Anda telah mengetikkan rumus yang berisi paling sedikit aturan jual beli dan jual (seperti yang ditunjukkan di atas). Bila rumusnya benar, AmiBroker mulai menganalisis simbol Anda sesuai dengan peraturan perdagangan Anda dan menghasilkan daftar perdagangan simulasi. Seluruh prosesnya sangat cepat - Anda bisa kembali menguji ribuan simbol dalam hitungan menit. Jendela kemajuan akan menunjukkan perkiraan waktu penyelesaian. Jika Anda ingin menghentikan prosesnya Anda bisa mengklik tombol Cancel di progress window. Ketika proses selesai daftar perdagangan simulasi ditunjukkan di bagian bawah jendela analisis otomatis. (Panel Hasil). Anda bisa memeriksa kapan sinyal beli dan jual terjadi hanya dengan mengklik ganda pada trade di panel Results. Ini akan memberi Anda sinyal mentah atau tanpa filter untuk setiap batang saat kondisi beli dan jual terpenuhi. Jika Anda hanya ingin melihat panah perdagangan tunggal (membuka dan menutup perdagangan yang dipilih saat ini), Anda harus mengklik dua kali baris sambil menahan tombol SHIFT yang ditekan. Atau Anda bisa memilih jenis tampilan dengan memilih item yang sesuai dari menu konteks yang muncul saat Anda klik pada panel hasil dengan tombol mouse sebelah kanan. Selain daftar hasil, Anda bisa mendapatkan statistik yang sangat rinci mengenai kinerja sistem Anda dengan mengklik tombol Report. Untuk mengetahui lebih lanjut tentang statistik laporan, periksa deskripsi jendela laporan. Mengubah pengaturan pengujian kembali Anda Mesin pengujian ulang di AmiBroker menggunakan beberapa nilai yang telah ditetapkan untuk menjalankan tugasnya termasuk ukuran portofolio, periodisitas (setiap bulan sepekan sekali), jumlah komisi, tingkat suku bunga, kerugian maksimum dan target keuntungan, jenis perdagangan, harga ladang dan sebagainya. di. Semua pengaturan ini bisa diubah oleh pengguna menggunakan setting window. Setelah mengubah pengaturan ingatlah untuk menjalankan pengujian kembali jika Anda ingin hasilnya disinkronkan dengan pengaturannya. Misalnya, untuk kembali menguji pada bar mingguan bukan sehari-hari klik saja pada tombol Settings pilih Weekly from Periodicity combo box dan klik OK. Lalu jalankan analisis Anda dengan mengklik Back test. Nama variabel yang dilindungi Tabel berikut menunjukkan nama variabel reserved yang digunakan oleh Automatic Analyzer. Makna dan contoh penggunaannya akan diberikan kemudian dalam bab ini. Memungkinkan pengendalian jumlah dolar atau persentase portofolio yang diinvestasikan ke dalam perdagangan (lihat penjelasan di bawah) Analisis Otomatis (baru di 3.9) Sampai sekarang kami telah membahas penggunaan tester belakang yang cukup sederhana. AmiBroker, bagaimanapun, mendukung metode dan konsep yang jauh lebih canggih yang akan dibahas nanti di bab ini. Harap dicatat bahwa pengguna pemula pertama-tama harus bermain sedikit dengan topik yang lebih mudah dijelaskan di atas sebelum melanjutkan. Jadi, saat Anda siap, mohon lihat fitur penguji belakang berikut ini: a) host scripting AFL untuk penulis rumus lanjutan b) dukungan yang disempurnakan untuk perdagangan pendek c) cara untuk mengendalikan harga eksekusi pesanan dari Script d) berbagai jenis berhenti di back tester e) ukuran posisi f) ukuran lot bulat dan ukuran centang g) akun margin h) backtesting futures Hosting script AFL adalah topik lanjutan yang tercakup dalam dokumen terpisah yang tersedia di sini dan saya tidak akan membahasnya. Itu dalam dokumen ini Sisa fitur jauh lebih mudah dimengerti. Dalam versi AmiBroker sebelumnya, jika Anda ingin sistem back-test menggunakan perdagangan panjang dan pendek, Anda hanya bisa mensimulasikan strategi stop-and-reverse. Bila posisi long ditutup maka posisi short baru dibuka dengan segera. Itu karena membeli dan menjual variabel reserved digunakan untuk kedua jenis perdagangan. Sekarang (dengan versi 3.59 atau lebih tinggi) ada variabel reserved terpisah untuk pembukaan dan penutupan perdagangan panjang dan pendek: buy - quottruequot atau 1 value membuka trade sell sell - quottruequot atau 1 value menutup trade long short - quottruequot atau 1 value membuka short trade cover. - quottruequot atau 1 value menutup short trading Som untuk melakukan back-test short trade Anda perlu menetapkan variabel short dan cover. Jika Anda menggunakan sistem stop-and-reverse (selalu ada di pasaran) cukup tetapkan sell to short dan beli untuk cover sell cover buy. Ini mensimulasikan cara kerja versi pra-3.59. Tapi sekarang AmiBroker memungkinkan Anda memiliki peraturan perdagangan terpisah untuk jangka panjang dan untuk berjalan singkat seperti yang ditunjukkan pada contoh sederhana ini: peraturan masuk dan keluar perdagangan yang panjang: beli salib (cci (), 100) menjual potongan silang (100, cci ()) Aturan masuk dan keluar perdagangan: cross cross pendek (-100, cci ()) mencakup cross (cci (), -100) Perhatikan bahwa dalam contoh ini jika CCI berada di antara -100 dan 100 Anda berada di luar pasar. Mengontrol harga perdagangan AmiBroker sekarang menyediakan 4 variabel reserved baru untuk menentukan harga di mana order beli, sell, short dan cover dieksekusi. Array ini memiliki nama berikut: buyprice, sellprice, shortprice dan coverprice. Aplikasi utama dari variabel-variabel ini adalah mengendalikan harga perdagangan: BuyPrice IIF (dayofweek () 1, HIGH, CLOSE) pada hari senin membeli di level tinggi, jika tidak membeli di dekat Jadi, Anda dapat menulis berikut untuk mensimulasikan perintah stop-order: BuyStop. Rumus untuk membeli stop level SellStop. Rumus untuk menjual level stop jika harga day day naik di atas tingkat buystop (highgtbuystop) order beli terjadi (pada buystop atau low mana yang lebih tinggi) Buy Cross (High, BuyStop) jika harga siang hari di hari turun di bawah level sellprice (Sellstop rendah) order sell berlangsung (di sellstop atau high mana yang lebih rendah) Sell Cross (SellPrice, SellStop) BuyPrice max (BuyStop, Low) pastikan harga beli tidak kurang dari SellPold Rendah min (SellStop, High) pastikan Harga jual tidak lebih besar dari Tinggi Harap dicatat bahwa AmiBroker mengatur variabel pilihan, variabel harga jual, harga pendek dan variabel coverprice dengan nilai yang ditentukan di jendela pengaturan sistem (ditunjukkan di bawah), sehingga Anda dapat melakukannya namun tidak perlu menentukannya dalam formula Anda. Jika Anda tidak mendefinisikan mereka AmiBroker bekerja seperti pada versi lama. Selama pengujian ulang, AmiBroker akan memeriksa apakah nilai yang Anda tetapkan untuk dijual, harga jual, harga pendek, harga penutupan sesuai dengan kisaran rendah kisaran bar yang diberikan. Jika tidak, AmiBroker akan menyesuaikannya dengan harga tinggi (jika harga array lebih tinggi dari harga tinggi) atau harga yang rendah (jika nilai harga array lebih rendah dari rendah) Target keuntungan berhenti Seperti yang dapat Anda lihat pada gambar di atas, pengaturan baru untuk Target keuntungan berhenti tersedia di jendela pengaturan sistem. Target penghentian laba dijalankan saat harga tinggi untuk hari tertentu melebihi tingkat stop yang dapat diberikan sebagai persentase atau kenaikan poin dari harga beli. Secara default, penghentian dijalankan dengan harga yang Anda definisikan sebagai array harga jual (untuk perdagangan jangka panjang) atau kisaran harga penutupan (untuk perdagangan singkat). Perilaku ini bisa diubah dengan menggunakan fitur quotExit pada stopquot. QuotExit pada fitur stopquot Jika Anda menandai quotExit pada kotak stopquot pada pengaturan, stop akan dijalankan pada level stop yang tepat, yaitu jika Anda menentukan target keuntungan berhenti di 10 stop dan harga beli 50 stop order akan dieksekusi di 55 bahkan jika Array harga jual Anda mengandung nilai yang berbeda (misalnya harga penutupan 56). Kerugian maksimum berhenti bekerja dengan cara yang sama - mereka dijalankan saat harga rendah untuk hari tertentu turun di bawah tingkat stop yang dapat diberikan sebagai persentase atau kenaikan poin dari harga beli Jenis pemberhentian ini digunakan untuk melindungi keuntungan karena Lacak perdagangan Anda sehingga setiap kali nilai posisi mencapai tingkat tinggi yang baru, trailing stop ditempatkan pada tingkat yang lebih tinggi. Bila profit turun di bawah level trailing stop posisi ditutup. Mekanisme ini diilustrasikan pada gambar di bawah (10 trailing stop ditunjukkan): contoh implementasi tingkat rendah dari pemberhentian Target Laba di AFL: Beli Cross (MACD (), Sinyal ()) untuk (i 0 i lt BarCount i) Jika (priceatbuy 0 Buy i) priceatbuy BuyPrice i if (priceatbuy gt 0 SellPrice i gt 1.1 priceatbuy) Jual i 1 SellPrice i 1.1 priceatbuy priceatbuy 0 lain Jual i 0 Ini adalah fitur baru di versi 3.9. Ukuran posisi di backtester diimplementasikan dengan menggunakan variabel reserved baru PositionSize ltsize arraygt Sekarang Anda dapat mengendalikan jumlah dolar atau persentase portofolio yang diinvestasikan ke dalam jumlah positif perdagangan menentukan jumlah (dolar) yang diinvestasikan ke dalam perdagangan misalnya: PositionSize 1000 menginvestasikan 1000 dalam setiap nomor negatif perdagangan -100 ..- 1 mendefinisikan persentase: -100 memberikan 100 dari ukuran portofolio saat ini, -33 memberikan 33 ekuitas yang tersedia misalnya: PositionSize -50 selalu menginvestasikan hanya setengah dari ukuran ekuitas dinamis saat ini contoh: PositionSize - 100 RSI () karena RSI bervariasi dari 0,.100, ini akan menghasilkan posisi tergantung pada nilai RSI - rendahnya nilai RSI akan menghasilkan persentase investasi yang lebih tinggi. Jika kurang dari 100 uang yang tersedia diinvestasikan maka jumlah sisanya akan menghasilkan tingkat bunga Seperti yang didefinisikan dalam pengaturan. Ada juga kotak centang baru di jendela pengaturan AA: ukuran preset posisi klik shrinkingquot - ini mengontrol bagaimana backtester menangani situasi saat ukuran posisi yang diinginkan (melalui variabel PositionSize) melebihi uang yang tersedia: saat bendera ini diperiksa posisi dimasukkan dengan ukuran yang telah dipangkas ke Tersedia uang jika tidak dicentang posisi tidak masuk. Untuk melihat ukuran posisi sebenarnya, gunakan mode laporan baru di jendela setelan AA: daftar Perdagangan dengan harga dan pos. Sizequot Untuk akhirnya, berikut adalah contoh teknik penentuan posisi Tharps ATR yang dikodekan di AFL: Beli formula pembelian ltyour heregt Jual 0 hanya dengan stop TrailStopAmount 2 ATR (20) Modal 100000 PENTING: Set juga di Settings: Initial Equity Risk 0.01Capital PositionSize (RiskTrailStopAmount) BuyPrice ApplyStop (2, 2, TrailStopAmount, 1) Teknik ini dapat diringkas sebagai berikut: Ekuitas total per simbol adalah 100.000, kami menetapkan tingkat risiko pada 1 dari total ekuitas. Tingkat risiko didefinisikan sebagai berikut: jika trailing stop pada 50 saham berada di, katakanlah, 45 (nilai dua ATR terhadap posisi), kerugian 5 dibagi menjadi 1000 risiko untuk memberikan 200 saham untuk dibeli. Jadi, resiko kerugiannya 1000 tapi tolok ukurnya adalah 200 saham x 50share atau 10.000. Jadi, kami mengalokasikan 10 dari ekuitas untuk pembelian tetapi hanya mempertaruhkan 1000. (Diedit kutipan dari mailing list AmiBroker) Ukuran lot bulat dan ukuran kutu Berbagai instrumen diperdagangkan dengan berbagai unit quottradingquot atau quotblocksquot. Misalnya Anda bisa membeli pecahan jumlah unit reksadana, tapi Anda tidak bisa membeli pecahan jumlah saham. Terkadang Anda harus membeli di 10s atau 100s lot. AmiBroker sekarang memungkinkan Anda menentukan ukuran blok pada tingkat global dan per simbol. Anda dapat menentukan ukuran lot per simbol dalam halaman Symbol-gtInformation (gambar 3). Nilai nol berarti simbol tidak memiliki ukuran bulat khusus dan akan menggunakan ukuran kuadrat kuartet bulat (pengaturan global) dari halaman pengaturan Analisis Otomatis (gambar 1). Jika ukuran default diatur juga ke nol berarti jumlah pecahan dari kontrak saham diperbolehkan. Anda juga dapat mengontrol ukuran lot bulat secara langsung dari formula AFL Anda dengan menggunakan variabel reserved RoundLotSize, misalnya: Pengaturan ini mengendalikan pergerakan harga minimum dari simbol yang diberikan. Anda bisa mendefinisikannya di tingkat global dan per simbol. Seperti ukuran putaran lot, Anda dapat menentukan ukuran kuncian per simbol di halaman Symbol-gtInformation (gambar 3). Nilai nol menginstruksikan AmiBroker untuk menggunakan ukuran kuota tick kuadrat yang ditentukan di halaman Pengaturan (gambar 1) jendela Analisis Otomatis. Jika ukuran tick default juga diset ke nol artinya tidak ada pergerakan harga minimum. Anda dapat mengatur dan mengambil ukuran kutu juga dari formula AFL menggunakan variabel TickSize reserved, misalnya: Perhatikan bahwa pengaturan ukuran centang hanya mempengaruhi perdagangan HANYA yang dikeluarkan oleh stopkontak terpasang dan dan ApplyStop (). Backtester mengasumsikan bahwa data harga mengikuti persyaratan ukuran tick dan tidak mengubah susunan harga yang dipasok oleh pengguna. Jadi, menentukan ukuran kutu masuk akal hanya jika Anda menggunakan penghentian built-in sehingga titik keluar dihasilkan pada tingkat harga quotetowedquot daripada yang dihitung. Misalnya di Jepang - Anda tidak dapat memiliki bagian fraksional dari yen sehingga Anda harus menentukan ticksize global menjadi 1, jadi berhenti berhenti beroperasi pada tingkat integer. Setelan margin akun menentukan persyaratan persentase margin untuk keseluruhan akun. Nilai default dari margin Account adalah 100. Ini berarti bahwa Anda harus menyediakan 100 dana untuk memasuki perdagangan, dan inilah cara bagaimana backtester bekerja di versi sebelumnya. Tapi sekarang Anda bisa mensimulasikan akun margin. Bila Anda membeli dengan margin Anda hanya meminjam uang dari broker Anda untuk membeli saham. Dengan peraturan saat ini Anda dapat memasang 50 dari harga pembelian saham yang ingin Anda beli dan meminjam separuh lainnya dari broker Anda. Untuk mensimulasikan ini masuk saja 50 di bidang margin Account (lihat gambar 1). Jika ekuitas awal Anda ditetapkan ke 10000 daya beli Anda akan menjadi 20000 dan Anda akan dapat memasuki posisi yang lebih besar. Perlu diketahui bahwa pengaturan ini menetapkan margin untuk keseluruhan akun dan TIDAK terkait dengan perdagangan berjangka sama sekali. Dengan kata lain Anda bisa menukar saham dengan margin account. QuotReverse entry signal memaksa exitquot check box ke pengaturan Backtester. Bila ON (pengaturan default) - backtester bekerja seperti pada versi sebelumnya dan menutup posisi sudah terbuka jika sinyal masuk baru di arah sebaliknya ditemui. Jika saklar ini OFF - meskipun sinyal balik terjadi, backtester mempertahankan perdagangan terbuka saat ini dan tidak menutup posisi sampai sinyal keluar (sell atau cover) tetap keluar. Dengan kata lain saat saklar ini MATI backtester mengabaikan sinyal pendek selama perdagangan panjang dan mengabaikan sinyal Beli selama perdagangan singkat. QuotAllow bar yang sama keluar (one bar trade) quot pilihan ke Pengaturan Bila ON (pengaturan default) - masuk dan keluar pada bar yang sama diperbolehkan (seperti pada versi sebelumnya) jika OFF - exit bisa terjadi mulai dari Bar berikutnya saja (ini berlaku untuk sinyal reguler, ada pengaturan terpisah untuk pintu keluar yang dihasilkan oleh ApplyStop). Mengalihkannya ke MATI memungkinkan untuk mereproduksi perilaku backtester MS yang tidak mampu menangani hari yang sama. QuotActivate stop soonquotThis setting memecahkan masalah sistem pengujian yang memasuki perdagangan di pasar terbuka. Pada versi sebelum 4.09 backtester diasumsikan bahwa Anda memasuki perdagangan di pasar sehingga berhenti terpasang diaktifkan dari hari berikutnya. Masalahnya adalah ketika Anda sebenarnya mendefinisikan harga terbuka sebagai harga masuk perdagangan - maka fluktuasi harga hari yang sama tidak memicu pemberhentian. Ada beberapa workarounds diterbitkan berdasarkan kode AFL tapi sekarang Anda tidak perlu menggunakannya. Cukup jika Anda berdagang terbuka Anda harus menandai stop quotActivate stopquote segera (gambar 1). Anda mungkin bertanya mengapa tidak hanya memeriksa array buyprice atau shortprice jika sama dengan harga terbuka. Unfortunatelly ini biasa bekerja. Mengapa Cukup karena ada doji hari ketika harga terbuka sama dengan penutupan dan kemudian backtester tidak akan pernah tahu apakah perdagangan masuk di pasar terbuka atau dekat. Jadi kita benar-benar butuh setting yang terpisah. QuotUse QuickAFLquotQuickAFL (tm) adalah fitur yang memungkinkan perhitungan AFL lebih cepat dalam kondisi tertentu. Awalnya (sejak 2003) hanya tersedia untuk indikator, seperti versi 5.14 tersedia dalam Automatic Analysis juga. Awalnya idenya adalah untuk memungkinkan redundansi grafik lebih cepat melalui perhitungan formula AFL hanya untuk bagian yang terlihat pada grafik. Dengan cara yang sama, jendela analisis otomatis dapat menggunakan subset dari kutipan yang tersedia untuk menghitung AFL, jika dipilih parameter 8220range8221 kurang dari 8220All quotationsquot. Penjelasan terperinci tentang bagaimana QuickAFL bekerja dan bagaimana mengendalikannya, ada dalam artikel Basis Pengetahuan ini: amibrokerkb20080703quickafl Perhatikan bahwa opsi ini bekerja tidak hanya di backtester, tetapi juga dalam pengoptimalan, eksplorasi dan pemindaian. Bukannya memberi tahu Anda alat atau proses terbaik. Yang bisa Anda gunakan untuk backtesting, biarkan saya malah fokus pada kesalahan terbesar yang perlu Anda hindari agar bisa melakukan backtest yang andal. Ini adalah beberapa faktor terpenting yang perlu diingat saat strategi trading backtesting trading - Kelengkapan data: Ini adalah kesalahan terbesar yang dibuat kebanyakan orang dalam upaya menciptakan strategi yang memberikan hasil backtested yang spektakuler. Saat membuat strategi, jika Anda mulai mengutak-atik parameter dengan cara memaksimalkan hasil, strategi itu kemungkinan besar akan gagal total dalam kondisi hidup. Ada 2 cara untuk mengatasi hal ini - pengujian di luar sampel dan menciptakan strategi berdasarkan logika dan bukan dengan mengutak-atik parameter masukan. Ekspresi arah ke depan: Hal ini terjadi bila Anda menggunakan data untuk menghasilkan sinyal yang seharusnya tidak tersedia pada saat itu di masa lalu. Misalnya, jika akhir tahun keuangan perusahaan adalah bulan Maret dan Anda menggunakan data pendapatan mereka untuk tahun sebelumnya pada tanggal 1 April, kemungkinan besar perusahaan tersebut tidak akan mengumumkan data tersebut sebelum Mei atau Juni. Itu akan menghasilkan bias memandang ke depan. Bias bertahan Ini adalah salah satu dari mereka yang sulit untuk melihat kesalahan. Katakanlah Anda memiliki strategi yang diperdagangkan dari daftar 500 saham cap kecil berdasarkan beberapa indikator teknis. Kemungkinannya adalah jika Anda mencoba mendapatkan data harga historis 10 tahun untuk 500 saham ini untuk backtesting Anda, Anda tidak akan menyertakan data untuk semua saham yang dihapus dalam periode 10 tahun tersebut. Ketika Anda menguji strategi Anda, Anda tidak akan memperhitungkan kemungkinan perdagangan yang akan dihasilkan pada saham-saham buruk tersebut jika Anda benar-benar menjalankan strategi ini selama periode tersebut. Murni berfokus pada pengembalian. Ada sejumlah parameter yang perlu Anda pertimbangkan untuk menilai kualitas strategi. Murni memusatkan perhatian pada pengembalian bisa menimbulkan masalah besar. Misalnya, jika Strategi A memberi 10 pengembalian selama periode tertentu dengan penarikan maksimum -2, dan strategi B memberikan 12 pengembalian dengan penarikan -10, maka B jelas bukan strategi unggulan untuk A. Ada parameter penting lainnya. Seperti penarikan, tingkat keberhasilan, rasio sharpe, dll. Dampak pasar, biaya transaksi. Bila melihat kelayakan strategi, sangat penting untuk mempertimbangkan kemungkinan dampak pasar dari perdagangan dan juga biaya transaksi yang terjadi. Anda mungkin tergoda untuk membuat strategi yang menyedot sejumlah besar saham likuiditas rendah yang cenderung memberi keuntungan luar biasa. Tapi ketika Anda masuk ke pasar untuk menjalankan strategi ini, pesanan besar pada saham yang tidak likuid akan memindahkan harga yang tidak Anda inginkan dalam pengujian Anda. Juga, biaya transaksi juga dapat mengubah pengembalian secara substansial sehingga Anda harus selalu melihat laba bersih. Data mining. Ini sangat mirip dengan masalah overfitting data. Jika Anda menyiksa data cukup lama, itu akan mengaku apa saja. Ini adalah lelucon umum di antara ilmuwan data yang percaya bahwa, jika Anda menghabiskan cukup banyak waktu, Anda dapat menemukan pola di hampir semua rangkaian data yang tidak berarti bahwa pola ini akan berlaku di masa depan. Fundamental berubah. Bisa sangat baik terjadi bahwa Anda menemukan strategi yang berjalan sangat baik pada data masa lalu. Tapi perubahan mendasar dalam dinamika pasar mungkin membuat strategi yang sama gagal di masa depan. Sudah diketahui dengan pasti bahwa hampir semua strategi bagus perlu terus berkembang seiring dengan perubahan kondisi pasar. Kerangka waktu kecil. Sangat penting untuk menguji strategi selama jangka waktu yang cukup lama dan dalam mengubah kondisi pasar. Hal ini terutama berlaku untuk strategi perdagangan saham yang mungkin tampil sangat baik di pasar bull tapi akan menghapus rekening bank Anda di pasar sideway atau bear. Ada banyak hal lain yang perlu dipertimbangkan saat backtesting. Tapi akhirnya, satu-satunya cara untuk memastikan bahwa strategi bekerja dalam kondisi hidup adalah dengan mengujinya dalam kondisi hidup. (Disclaimer: Saya adalah pendiri pendiri Tauro Wealth) Pandangan yang disajikan di sini hanyalah pendapat pribadi saya dan hanya untuk tujuan informasi saja.) Tauro Wealth adalah perusahaan teknologi keuangan (Tauro Wealth) yang ingin menyelesaikan masalah yang dihadapi oleh Investor ritel di India. Kami berharap dapat memberikan solusi investasi jangka panjang yang komprehensif dengan biaya yang lebih rendah. 4.4k Views middot Lihat Upvotes middot Bukan untuk Reproduksi Jawaban Lebih Lanjut Dibawah ini. Pertanyaan Terkait Apa cara yang baik untuk mendukung strategi trading dan bagaimana melakukannya Apakah ada lima teknik atau strategi trading saham terbaik Apa itu trading saham terbaik Apa cara terbaik untuk menjadi lebih baik dalam perdagangan pasar saham Apa itu Strategi terbaik untuk investasi dan perdagangan bagi trader baru di pasar saham Pertanyaan bagus Sayangnya komponen backtesting dari semua program berorientasi ritel seperti ninjatrader, tradestation, esignal, dll, semuanya omong kosong. Anda benar-benar tidak bisa mempercayainya. Hasil karya fiksi dipotong dari kain utuh. Anda perlu membangun lingkungan backtesting Anda sendiri (blog Andreas Clenow039s mengikuti tren memiliki beberapa artikel tentang ini) Atau Anda dapat menggunakan salah satu dari beberapa solusi berbasis cloud. Quantopian terlihat cukup bagus sebenarnya dan quantconnect adalah produk sejenis. Saat ini, mulai dari nol, saya akan melihat Quantopian. 11.5k Views middot Lihat Upvotes middot Not for Reproduction middot Jawaban yang diminta oleh Xiaoguang Wang Mccabe Hurley. Pendidik turunan pedagang turun tinggal di NYC. Ada beberapa broker yang memberikan backtesting kepada klien sebagai bagian dari paket perangkat lunak klien mereka. Namun, lebih sering daripada tidak, itu adalah kotak hitam dalam arti bahwa Anda tidak tahu bagaimana perhitungannya dilakukan. Selanjutnya ada free backtesters online. Tapi IMO Anda mendapatkan apa yang Anda bayar. Software standalone dapat diteliti di: Backtesting Software Daftar ini mencakup perangkat lunak backtesting yang disertakan dalam alat perusahaan pialang, namun juga memiliki perangkat lunak mandiri. Jika Anda melakukan trading untuk mencari nafkah (uang Anda sendiri atau seseorang elses), preferensi saya untuk menggunakan perangkat lunak yang berdiri sendiri. Semoga bermanfaat. 1.5k Views middot Lihat Upvotes middot Bukan untuk Reproduksi Pratik Jain. Pemimpin Redaksi: Pameran Perdagangan Tidak ada yang setinggi Amibroker dalam hal Backtesting. Ini adalah salah satu alat yang paling serbaguna untuk pengembangan dan pengujian sistem Trading. Ini memiliki mesin backtest dan optimisasi yang sangat kuat di luar kotak. Selain itu, ini juga menyediakan antarmuka backtester khusus yang dapat digunakan untuk memutar ulang aturan dan metrik backtest default. Simak beberapa artikel di bawah ini yang membahas tentang backecesting Amibroker: 2.8k Views middot View Upvotes middot Not for Reproduction

No comments:

Post a Comment