Tuesday 18 July 2017

Trading Strategi Quantmod


Saya sangat baru mengenal R dan mencoba strategi backtest yang telah saya programkan di WealthLab. Beberapa hal yang saya tidak mengerti (dan it doesnt bekerja jelas :) Saya tidak mendapatkan Harga Dekat baik ke vektor. Atau semacam vektor tapi dimulai dengan struktur dan saya tidak benar-benar mengerti fungsi ini. Itu sebabnya serial saya, 1 panggilan mungkin tidak bekerja. N lt - nrow (seri) tidak bekerja baik, tapi saya memerlukannya untuk Loop Jadi saya kira jika saya mendapatkan 2 pertanyaan ini menjawab strategi saya harus bekerja. Saya sangat bersyukur untuk bantuan apapun .. R sepertinya cukup rumit bahkan dengan pengalaman pemrograman dalam bahasa lain ya saya agak disalin beberapa baris kode dari tutorial ini dan donben benar benar mengerti baris ini. Maksud saya seri, saya pikir akan menerapkan fungsi f ke quotcolumnquot 1 dari seri. Tapi karena seri ini adalah beberapa compley dengan struktur dll itu tidak bekerja. Saya berbicara tentang tutorial ini: r-bloggersbacktesting-a-trading-strategy ndash MichiZH 6 Jun 13 at 14: 22Introducing quantmod: Ada kemungkinan dengan satu fungsi quantmod untuk memuat data dari berbagai sumber, termasuk. Yahoo Finance (data OHLC) Federal Reserve Bank of St Louis FRED174 (11.000 seri ekonomi) Google Finance (data OHLC) Oanda, Situs Mata Uang (FX dan Logam) Database MySQL (data lokal Anda) Format biner R (.RData dan. Rda) Comma Separated Value files (.csv) Yang akan datang termasuk (RODBC, economagic, Rbloomberg.) Bagaimana Anda bertanyaMendapatkan data gt getSymbols (YHOO, srcgoogle) dari google finance 1 YHOO gt getSymbols (GOOG, srcyahoo) dari yahoo finance 1 GOOG Gt getSymbols (DEXJPUS, srcFRED) Harga FX dari FRED 1 DEXJPUS gt getSymbols (XPTUSD, srcOanda) Platinum dari Oanda 1 XPTUSD Setiap panggilan menghasilkan data yang dimuat langsung ke ruang kerja Anda, dengan nama objek dikembalikan dari panggilan. Semacam berguna, tapi akan lebih baik. Gt Tentukan parameter pencarian, dan simpan untuk sesi berikutnya. Gt gt setSymbolLookup (YHOOgoogle, GOOGyahoo) gt setSymbolLookup (DEXJPUSFRED) gt setSymbolLookup (XPTUSDlist (nameXPTUSD, srcoanda)) gt saveSymbolLookup (filemysymbols. rda) gt sesi baru panggil loadSymbolLookup (filemysymbols. rda) gt gt getSymbols (c (YHOO, GOOG, DEXJPUS, XPTUSD) 1 YHOO GOOG DEXJPUS XPTUSD Sekarang mudah untuk memuat data dari sumber yang berbeda ke dalam ruang kerja Anda (atau lingkungan lainnya) tanpa secara eksplisit meminta penugasan, atau mengingat secara terus-menerus menentukan parameter koneksi. Anggap saja sebagai perintah beban yang bisa mengambil data dari mana saja. Cobalah sendiri gettingdata. R Charting dengan quantmod Sekarang kita memiliki beberapa data yang mungkin ingin kita cermati. Masukkan chartSeries fungsi baru. Saat ini adalah alat yang bagus untuk memvisualisasikan deret waktu keuangan dengan cara yang banyak diketahui oleh banyak praktisi - diagram garis, serta diagram bar OHLC dan lilin. Ada pembungkus kenyamanan untuk gaya yang berbeda ini (lineChart, barChart dan candleChart), meskipun chartSeries cukup sedikit untuk menangani data secara otomatis dengan cara yang paling tepat. Sekilas bagaimana membuat beberapa grafik, termasuk beberapa fitur dan melihat apa yang akan terjadi di rilis mendatang. Gt Tentukan parameter pencarian, dan simpan untuk sesi berikutnya. Gt gt getSymbols (AAPL, srcyahoo) 1 AAPL gt barChart (AAPL) gt Tambahkan multi-coloring dan ubah latar belakang ke candleChart gt putih (AAPL, multi. colTRUE, themewhite) Seri Non-OHLC dan Volume ditangani secara otomatis gt getSymbols (XPTUSD, Srcoanda) 1 XPTUSD gt chartSeries (XPTUSD, namePlatinum (oz) dalam USD) Platinum, sekarang setiap minggu dengan lilin warna kustom menggunakan fungsi quantmod to. weekly gt chartSeries (to. weekly (XPTUSD), up. colwhite, dn. colblue) Alat analisis charting teknis Seperti versi 0.3-0 kita sekarang dapat menambahkan studi analisis teknis dari paket TTR ke grafik di atas. Sebuah contoh contoh rinci akan segera menyusul, tapi inilah sedikit kebaikannya: Fungsi teknis yang sangat bagus dari perpustakaan oleh Josh Ulrich - pada CRAN gt require (TTR) gt getSymbols (AAPL) 1 AAPL gt chartSeries (AAPL) gt addMACD ( ) Gt addBBands () Menggunakan data untuk menghasilkan sinyal Model bangunan sebagian besar akan ditinggalkan untuk seri contoh berikutnya, namun bagi mereka yang ingin terus menyia-nyiakan pekerjaan sore hari Jumat (ketika sebagian besar pengunjung saya tampaknya hadir), saya akan melanjutkannya. Pemodelan di R adalah apa R adalah tentang. Data masuk ke dalam diskusi ini paling tepat karena data keuangan tidak terkandung dalam objek data tunggal. Banyak, jika tidak semua, harus dikumpulkan dan dikumpulkan oleh Anda, si modeller. Di sinilah sumber data dan parameter koneksi yang telah ditentukan sebelumnya sangat berguna. SetSymbolLookup memungkinkan pemodel kesempatan untuk menginstruksikan quantmod ke data sumber - dengan simbol tertentu - dengan cara tertentu. Saat membangun model di R. Seringkali formula dilewatkan ke fungsi pas bersama dengan objek data yang sesuai untuk dicari. Untuk menangani berbagai sumber, penting untuk membuat objek data dengan semua kolom yang ditentukan sebelumnya, ATAU untuk menggunakan objek yang terlihat di lingkungan pengguna. Keduanya memiliki kekurangan yang jelas - tidak sedikit yang bergantung pada pemantik untuk memuat dan menyelaraskan seri yang dipermasalahkan secara manual. Paling banter ini memakan waktu dan tentunya tidak terlalu mencerahkan. Yang terburuk itu bisa berbahaya karena penanganan data secara inheren rawan kesalahan. Kesalahan data dalam penelitian bisa mahal, kesalahan data dalam trading dapat dengan cepat mengarah pada karir baru. Yang mengatakan, saya akan menekankan kembali persyaratan LISENSI yang menyatakan LENGKAP LENGKAP JAMINAN sehubungan dengan perangkat lunak ini dan semua R untuk masalah ini. User beware Untuk memudahkan masalah data yang relatif unik ini, secara dinamis quantmod menciptakan objek data untuk digunakan dalam proses pemodelan, menciptakan kerangka model secara internal setelah melalui serangkaian langkah untuk mengidentifikasi sumber data yang dibutuhkan - loading jika perlu. TentukanModel adalah fungsi pekerja keras untuk menangani semua masalah data, dan file bantuannya harus dibaca untuk memahami sepenuhnya apa yang terjadi secara internal. Untuk tujuan kami di sini, cukup untuk mengetahui bahwa seseorang dapat menentukan data APAPUN dalam panggilan untuk menentukanModel, dan quantmod akan menangani ke pencarian dan agregasi data untuk Anda. Tentu saja data itu harus locatable dan unik, tapi itu mungkin dicurigai. Mari kita lihat contoh defineModel. Gt Buat objek quantmod untuk digunakan dalam gt di pas model selanjutnya. Perhatikan ada gt tidak perlu memuat data sebelum tangan. Gt gt setSymbolLookup (SPYyahoo, VXNlist (namaVIX, srcyahoo)) gt gt mm lt - tentukanModel (Berikutnya (OpCl (SPY)) OpCl (SPY) Cl (VIX)) gt gt modelData (mm) mm sekarang merupakan objek quantmod yang memegang Formula model dan struktur data yang menyiratkan periode berikutnya (Berikutnya) yang terbuka untuk penutupan SampP 500 ETF (OpCl (SPY)) dimodelkan sebagai fenntion periode saat ini yang terbuka untuk ditutup dan penutupan saat ini dari VIX (Cl (VIX) ). Panggilan ke modelData mengekstrak kumpulan data yang relevan, dengan transformasi secara ajaib diterapkan. Anda bisa mengambil data dan melakukannya dengan seperti yang Anda inginkan. Fungsi yang lebih langsung untuk mencapai tujuan yang sama adalah buildData. Bagaimana selanjutnya Bagaimana beberapa contoh penanganan data quantmods Perangkat lunak ini ditulis dan dikelola oleh Jeffrey A. Ryan. Lihat lisensi untuk rincian tentang penyalinan dan penggunaan. Hak Cipta 2008. Saya mengalami kesulitan untuk mendukung strategi Bollinger Band di R. Logikanya adalah saya ingin mengambil posisi pendek jika Close lebih besar dari pada Upper Band dan kemudian tutup posisi saat melintasi Average. Saya juga ingin mengambil posisi Long jika Close lebih rendah dari Lower Band, dan Close posisi saat melintasi Average. Sejauh ini yang saya miliki: bbands lt - BBands (stockClose, n20, sd2) sig1 lt - Lag (ifelse ((stockClose gtbbandsup), - 1,0)) sig2 lt - Lag (ifelse ((stockClose ltbbandsdn), 1 , 0)) sig3 lt - Lag (ifelse ((stockClose gt bbandsmavg), 1, -1)) sig lt - sig1 sig2 Di sinilah saya terjebak, bagaimana cara menggunakan sig3 untuk mendapatkan hasil yang diinginkan Arsip Kategori: Strategi Perdagangan I Menemukan rangkaian video ini selama akhir pekan, seorang pedagang opsi membahas bagaimana dia menyebarkan kredit (terutama mencari pengembalian dana). Sebagian besar dari Anda akan terbiasa dengan pita bollinger sebagai strategi pembalikan umum, pada dasarnya Anda mengambil moving average dan mengubah standar deviasi saham. Anda kemudian plot pada grafik Anda bergerak rata-rata dan atas dan bawah band (moving average - nstandard deviations). Diasumsikan bahwa harga akan kembali ke moving average maka setiap pergerakan harga ke band adalah titik masuk yang baik. Masalah umum dengan strategi ini adalah bahwa rata-rata bergerak adalah indikator LAGGING dan seringkali sangat lambat untuk melacak pergerakan harga jika jangka waktu lama digunakan. Video 1 menyajikan teknik yang disebut kurva regresi berganda 8220linear8221 tentang 10mins. Kurva regresi linier bertujuan untuk memecahkan masalah rata-rata bergerak yang lamban untuk melacak harganya. Kurva Regresi Linier vs Rata-Rata Bergerak Sederhana Lihat seberapa erat kurva regresi linier biru mengikuti harga penutupan, secara signifikan lebih cepat untuk mengidentifikasi belokan di pasar dimana rata-rata pergerakan sederhana memiliki kesalahan pelacakan yang cukup besar. MSE dapat diambil untuk mengukur keketatan. Bagaimana menghitung kurva regresi linier: Dalam contoh ini Anda memiliki 100 harga penutupan untuk saham Anda. Bar 1 adalah harga tertua, bar 100 adalah harga terbaru. Kami akan menggunakan regresi 20 hari. 1. Ambil harga 1-20 dan gambarlah garis yang paling sesuai dengan mereka 2. Pada akhir garis pas terbaik Anda (jadi bar 20), gambarlah lingkaran kecil 3. Ambil harga 2-21 dan gambar garis paling sesuai Melalui mereka 4. Pada akhir garis pas terbaik Anda (jadi bar 21) menggambar lingkaran kecil 5. Ulangi upto bar 100 6. Bergabunglah dengan semua lingkaran kecil Anda, ini adalah kurva regresi 8216linear Anda8217 Jadi singkatnya Anda bergabung saja Ujung regresi linier bergulir. Pos ini terlihat untuk memeriksa apakah frase yang terkenal itu semakin tinggi risikonya semakin tinggi pahala8221 berlaku untuk konstituen FTSE 100. Sejumlah model telah mencoba untuk menangkap metrik penghargaan risiko, yang paling dikenal adalah Capital Alokasi Pricing Model (CAPM). CAPM mencoba menghitung laba atas investasi yang harus diterima investor agar mendapat kompensasi yang memadai atas risiko yang telah mereka ambil. Kode di bawah ini menghitung standar deviasi rolling return, 8216 the risk8217, untuk konstituen FTSE 100. Kemudian kelompok saham menjadi kuartil dengan metrik risiko ini, kelompok diperbarui setiap hari. Kuartil 1 adalah saham volatilitas terendah, kuartil 2 tertinggi. Indeks yang sama tertimbang (amt) dibuat untuk setiap kuartil. Menurut teori di atas Q4 (high vol) harus menghasilkan hasil kumulatif tertinggi. Bila menggunakan lookback 1 bulan untuk perhitungan stdev ada indeks pemenang yang jelas, indeks vol terendah (hitam). Menariknya indeks ke 2 terbaik adalah indeks vol tertinggi (biru). Grafik di atas dihitung dengan menggunakan hasil aritmatika. Bila menggunakan tampilan balik lebih lama dari 250 hari, tahun perdagangan, indeks vol tertinggi adalah pemain terbaik dan indeks vol terendah berkinerja terburuk. Untuk short lookback (30days) low vol index adalah pemain terbaik Untuk lookback panjang (250days) high vol index adalah pemain terbaik Salah satu penjelasan yang mungkin (belum teruji) adalah bahwa untuk melihat kembali singkat, metrik risiko volatilitas lebih sensitif terhadap pergerakan di saham. Dan karenanya pada pengumuman berita, saham memiliki kemungkinan lebih tinggi untuk bergerak dari indeks hari ke hari ke indeks yang lebih tinggi. Mungkin tidak masuk akal untuk mengasumsikan bahwa indeks vol tinggi hanya berisi saham yang memiliki volatilitas sementara yang baru saja dilaporkan dan berada dalam periode konsolidasi atau pemulihan rata-rata. Atau dengan kata lain, untuk tampilan pendek, indeks jilid tinggi tidak mengandung stok yang sangat tinggi, sedangkan untuk pencarian panjang, penyimpangan vol sementara pun merapikannya. Berikut adalah grafik yang sama seperti di atas tapi untuk pengembalian geometris.

No comments:

Post a Comment