MulaiMulai sekarang secara gratis

Menjalankan strategi Anda

Selamat atas pembuatan strategi di quantstrat! Sebagai pengingat, strategi Anda menggunakan tiga indikator terpisah dan lima sinyal terpisah. Strategi ini mensyaratkan ambang DVO_2_126 berada di bawah 20 dan SMA50 lebih besar daripada SMA200. Strategi menjual ketika DVO_2_126 menembus ke atas 80, atau SMA50 menembus ke bawah SMA200.

Agar strategi ini berjalan dengan benar, Anda menentukan lima sinyal terpisah:

  1. sigComparison untuk kondisi SMA50 lebih besar dari SMA200;
  2. sigThreshold dengan cross disetel ke FALSE untuk DVO_2_126 kurang dari 20;
  3. sigFormula untuk menggabungkan keduanya dan menyetel cross ke TRUE;
  4. sigCrossover dengan SMA50 lebih kecil dari SMA200; dan
  5. sigThreshold dengan cross disetel ke TRUE untuk DVO_2_126 lebih besar dari 80.

Strategi menginvestasikan $100.000 (initeq Anda) ke setiap transaksi, dan mungkin melakukan sedikit dollar cost averaging jika DVO_2_126 berosilasi di sekitar 20 (meskipun dampaknya umumnya kecil dibandingkan alokasi awal).

Di bab terakhir ini, Anda akan mempelajari cara melihat hasil aktual dari portofolio Anda. Namun terlebih dahulu, untuk menghasilkan hasil tersebut, Anda perlu menjalankan strategi Anda dan melengkapi beberapa kode boilerplate tambahan agar quantstrat mencatat semuanya. Kode dalam latihan ini adalah kode yang nantinya perlu Anda salin dan tempel.

Latihan ini adalah bagian dari kursus

Perdagangan Finansial dengan R

Lihat Kursus

Petunjuk latihan

  • Gunakan applyStrategy() untuk menerapkan strategi Anda (strategy.st) ke portofolio Anda (portfolio.st). Simpan hasilnya ke objek out.
  • Jalankan fungsi yang diperlukan untuk merekam hasil strategi Anda, termasuk updatePortf() dan menyetel daterange serta updateAcct() dan updateEndEq().
  • Berdasarkan informasi ini, coba cari tanggal transaksi terakhir.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Use applyStrategy() to apply your strategy. Save this to out
out <- applyStrategy(strategy = ___, portfolios = ___)

# Update your portfolio (portfolio.st)
updatePortf(___)
daterange <- time(getPortfolio(___)$summary)[-1]

# Update your account (account.st)
updateAcct(___, daterange)
updateEndEq(___)
Edit dan Jalankan Kode