Bagaimana untuk backtest trading system


Backtesting Apa Backtesting Backtesting adalah proses pengujian strategi trading pada data historis yang relevan untuk memastikan kelangsungan hidup sebelum trader mengambil risiko atas setiap modal sebenarnya. Seorang trader 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 jadi 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 pada sangat penting. Durasi periode 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 menyebabkan trader 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 tes 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. Pengecatan: Menafsirkan Backtesting Masa Lalu adalah komponen kunci dari pengembangan sistem perdagangan yang efektif. Hal ini dilakukan dengan merekonstruksi, dengan data historis, perdagangan yang akan terjadi di masa lalu dengan menggunakan peraturan yang didefinisikan oleh strategi yang diberikan. Hasilnya menawarkan statistik yang bisa digunakan untuk mengukur keefektifan strategi. Dengan menggunakan data ini, para pedagang dapat mengoptimalkan dan memperbaiki strategi mereka, menemukan kekurangan teknis atau teoritis, dan mendapatkan kepercayaan pada strategi mereka sebelum menerapkannya ke pasar sebenarnya. Teori dasarnya adalah bahwa setiap strategi yang bekerja dengan baik di masa lalu cenderung berjalan dengan baik di masa depan, dan sebaliknya, strategi apa pun yang berkinerja buruk di masa lalu cenderung berkinerja buruk di masa depan. Artikel ini membahas aplikasi apa yang digunakan untuk melakukan backtest, data seperti apa yang diperoleh, dan bagaimana menggunakannya untuk menggunakan Data dan Alat BackTesting dapat memberikan banyak umpan balik statistik yang berharga mengenai sistem yang diberikan. Beberapa statistik backtesting universal meliputi: Laba atau Rugi Bersih - Persentase keuntungan atau kerugian bersih. Kerangka Waktu - Tanggal terakhir di mana proses pengujian terjadi. Universe - Saham yang termasuk dalam backtest. Langkah Volatilitas - Persentase maksimum terbalik dan downside. Rata-rata - Persentase kenaikan rata-rata dan rata-rata kerugian, rata-rata bar yang ditahan. Paparan - Persentase modal yang diinvestasikan (atau terkena pasar). Rasio - rasio Wins-to-losses. Annualized return - Persentase pengembalian lebih dari satu tahun. Resiko yang disesuaikan kembali - Persentase pengembalian sebagai fungsi risiko. Biasanya, backtesting software akan memiliki dua layar yang penting. Yang pertama memungkinkan pedagang untuk menyesuaikan pengaturan untuk backtesting. Penyesuaian ini mencakup segala hal mulai dari periode waktu hingga biaya komisi. Berikut adalah contoh layar seperti di AmiBroker: Layar kedua adalah laporan hasil backtesting aktual. Di sinilah Anda dapat menemukan semua statistik yang disebutkan di atas. Sekali lagi, berikut adalah contoh layar ini di AmiBroker: Secara umum, kebanyakan perangkat lunak perdagangan berisi elemen yang serupa. Beberapa program perangkat lunak high-end juga mencakup fungsionalitas tambahan untuk melakukan ukuran posisi otomatis, optimalisasi dan fitur lainnya yang lebih maju. 10 Perintah Ada banyak faktor yang diperhatikan para pedagang saat mereka melakukan backtesting strategi trading. Berikut adalah daftar 10 hal terpenting yang harus diingat saat backtesting: Perhatikan tren pasar yang luas dalam kerangka waktu di mana strategi yang diberikan diuji. Misalnya, jika strategi hanya dilelang pada tahun 1999-2000, mungkin strategi ini tidak berjalan dengan baik di pasar beruang. Seringkali merupakan ide bagus untuk melakukan backtest dalam jangka waktu lama yang mencakup beberapa jenis kondisi pasar yang berbeda. Perhatikan alam semesta di mana backtesting terjadi. Misalnya, jika sistem pasar yang luas diuji dengan alam semesta yang terdiri dari saham teknologi, hal itu mungkin gagal dilakukan dengan baik di berbagai sektor. Sebagai aturan umum, jika sebuah strategi ditargetkan pada genre saham tertentu, batasi alam semesta untuk genre itu, namun, dalam kasus lain, pertahankan alam semesta yang besar untuk tujuan pengujian. Langkah-langkah volatilitas sangat penting untuk dipertimbangkan dalam mengembangkan sistem perdagangan. Hal ini terutama berlaku untuk akun leverage, yang mendapat margin call jika ekuitas mereka turun di bawah titik tertentu. Pedagang harus berusaha menjaga agar volatilitas tetap rendah agar mengurangi risiko dan memungkinkan transisi lebih mudah masuk dan keluar dari saham tertentu. Jumlah rata-rata bar yang dipegang juga sangat penting untuk ditonton saat mengembangkan sistem perdagangan. Meskipun kebanyakan perangkat lunak backtesting mencakup biaya komisi dalam perhitungan akhir, bukan berarti Anda harus mengabaikan statistik ini. Jika memungkinkan, meningkatkan jumlah rata-rata bar yang dimiliki dapat mengurangi biaya komisi, dan meningkatkan keseluruhan pengembalian Anda. Paparan adalah pedang bermata dua. Eksposur yang meningkat dapat menyebabkan keuntungan lebih tinggi atau kerugian yang lebih tinggi, sementara penurunan eksposur berarti menurunkan keuntungan atau menurunkan kerugian. Namun, secara umum, adalah ide yang bagus untuk mempertahankan eksposur di bawah 70 untuk mengurangi risiko dan memungkinkan transisi lebih mudah masuk dan keluar dari saham tertentu. Statistik rata-rata gainloss, dikombinasikan dengan rasio won-to-loss, dapat berguna untuk menentukan ukuran posisi optimal dan pengelolaan uang menggunakan teknik seperti Kelly Criterion. (Lihat Manajemen Uang Menggunakan Kriteria Kelly.) Pedagang dapat mengambil posisi yang lebih besar dan mengurangi biaya komisi dengan meningkatkan keuntungan rata-rata mereka dan meningkatkan rasio kemenangan-terhadap-kerugian mereka. Kembalinya tahunan sangat penting karena digunakan sebagai alat untuk mengukur kembali sistem terhadap tempat investasi lainnya. Penting tidak hanya untuk melihat keseluruhan pengembalian tahunan, tetapi juga untuk memperhitungkan peningkatan atau penurunan risiko. Hal ini dapat dilakukan dengan melihat tingkat pengembalian yang disesuaikan dengan risiko, yang memperhitungkan berbagai faktor risiko. Sebelum sistem perdagangan diterapkan, perusahaan harus mengungguli semua tempat investasi lainnya dengan risiko sama atau kurang. Kustomisasi backtesting sangat penting. Banyak aplikasi backtesting memiliki masukan untuk jumlah komisi, ukuran lot bulat (atau pecahan), ukuran tick, persyaratan margin, tingkat suku bunga, asumsi slippage, peraturan ukuran posisi, aturan keluar bar yang sama, (trailing) stop setting dan banyak lagi. T o mendapatkan hasil backtesting yang paling akurat, saya penting untuk menyetel pengaturan ini untuk meniru broker yang akan digunakan saat sistem dijalankan live. Backtesting kadang-kadang dapat menyebabkan sesuatu yang dikenal sebagai over-optimization. Ini adalah kondisi dimana hasil kinerja sangat sesuai dengan masa lalu sehingga mereka tidak lagi seakurat mungkin di masa depan. Biasanya ide yang baik untuk menerapkan peraturan yang berlaku untuk semua saham, atau serangkaian target saham yang ditargetkan, dan tidak dioptimalkan sejauh peraturan tidak dapat dimengerti oleh pencipta. Backtesting tidak selalu merupakan cara yang paling akurat untuk mengukur keefektifan sistem perdagangan tertentu. Terkadang strategi yang dilakukan dengan baik di masa lalu gagal dilakukan dengan baik di masa sekarang. Kinerja masa lalu tidak menunjukkan hasil di masa depan. Pastikan kertas menukar sistem yang telah berhasil dilipat sebelum ditayangkan untuk memastikan strategi masih berlaku dalam praktik. Kesimpulan Backtesting adalah salah satu aspek terpenting dalam mengembangkan sistem perdagangan. Jika dibuat dan diinterpretasikan dengan benar, ini dapat membantu pedagang mengoptimalkan dan memperbaiki strategi mereka, menemukan kekurangan teknis atau teoritis, serta mendapatkan kepercayaan pada strategi mereka sebelum menerapkannya ke pasar dunia nyata. Sumber Daya Tradecision (tradecision) - Pengembangan Sistem Perdagangan High-end AmiBroker (amibroker) - Pengembangan Sistem Perdagangan Anggaran. Back-testing ide trading Anda Salah satu hal yang paling berguna yang dapat Anda lakukan di jendela analisis adalah menguji kembali 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 moving average 45 hari eksponensial dan akan menjual stockscontracts ketika harga penutupan turun di bawah rata-rata pergerakan eksponensial 45 hari. Rata-rata pergerakan eksponensial dapat dihitung di AFL menggunakan fungsi EMA bawaannya. Yang perlu Anda lakukan adalah menentukan array masukan 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 jual 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 setidaknya membeli dan menjual peraturan perdagangan (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 terperinci 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, bidang harga 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. Kemudian jalankan analisis Anda dengan mengklik Back test. Nama variabel yang dicadangkan 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 dalam 3.9) Sampai saat ini 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 jangka 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 sell stop level jika setiap saat di siang hari harga naik di atas tingkat buystop (highgtbuystop) order beli berlangsung (pada buystop atau low mana yang lebih tinggi) Buy Cross (High, BuyStop) jika harga siang hari di bawah harga di bawah level sellprice (Sellstop rendah) order jual berlangsung (di sellstop atau high mana yang lebih rendah) Sell Cross (SellPrice, SellStop) BuyPrice max (BuyStop, Low) pastikan harga beli tidak kurang dari SellPrice 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 dengan harga rendah (jika nilai harga array lebih rendah dari yang 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 Melacak 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 penguraian posisi kuota - ini mengontrol bagaimana backtester menangani situasi saat ukuran posisi yang diminta (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 berbasis Tharps ATR yang dikodekan di AFL: Beli formula pembelian ltyour heregt Jual 0 jual hanya dengan berhenti TrailStopAmount 2 ATR (20) Modal 100000 PENTING: Set juga di Settings: Initial Resiko Ekuitas 0.01 Posisi Personalisasi (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), 5 kerugian dibagi menjadi 1000 risiko untuk memberikan 200 saham untuk membeli. Jadi, risiko kerugiannya adalah 1000 tapi risiko alokasi 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 untuk 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 dapat menentukannya 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 kutu default juga disetel ke nol berarti 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 kutu mempengaruhi HANYA perdagangan yang dikeluarkan oleh penghentian built-in dan atau ApplyStop (). Backtester mengasumsikan bahwa data harga mengikuti persyaratan ukuran tick dan tidak mengubah array 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. Saat 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 dihasilkan. 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 (single 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). Switching to OFF 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 tidak hanya bekerja di backtester, namun juga dalam pengoptimalan, eksplorasi dan pemindaian.

Comments

Popular posts from this blog

Apa date do stock options kadaluarsa

Binary option box review

Binary option trading erfahrungen