設定策略(下)

R 的金融交易

Ilya Kipnis

Professional Quantitative Analyst and R programmer

交易金額與初始權益

  • 要處理報酬,你需要先設定交易金額與初始權益,以計算損益
tradesize <- 100000
initeq <- 100000

tradesize 不可大於 initeq

R 的金融交易

三個重要物件

  • 帳戶
    • 投資組合
      • 策略
R 的金融交易

命名帳戶、投資組合與策略

  • 基本策略中,帳戶、投資組合與策略用同一個名稱即可
strategy.st <- portfolio.st <- account.st <- "firststrat"
R 的金融交易

移除既有策略

  • 若你已經執行過該策略,需要先從環境中移除
rm.strat(strategy.st)
R 的金融交易

初始化…

  • 投資組合
  • 帳戶
  • 訂單
  • 策略
R 的金融交易

初始化投資組合

  • 使用 initPortf() 進行投資組合初始化

  • initPortf() 需要投資組合名稱、商品代號、起始日期與貨幣

initPortf(portfolio.st, symbols = "LQD", 
          initDate = initdate, currency = "USD")

R 的金融交易

初始化帳戶

  • 使用 initAcct() 進行帳戶初始化

  • initAcct() 需要帳戶名稱、投資組合、起始日期、貨幣與初始權益

initAcct(account.st, portfolios = portfolio.st, 
           initDate = initdate, currency = "USD", 
           initEq = initeq)
R 的金融交易

初始化訂單

  • 使用 initOrders() 進行訂單初始化

  • initOrders() 需要投資組合名稱與起始日期

initOrders(portfolio.st, initDate = initdate)
R 的金融交易

初始化策略

  • 使用 strategy() 進行策略初始化
strategy(strategy.st, store = TRUE)
R 的金融交易

總覽

tradesize <- 100000
initeq <- 100000

strategy.st <- portfolio.st <- account.st <- "firststrat"
rm.strat(strategy.st)

initPortf(portfolio.st, symbols = "LQD", 
          initDate = initdate, currency = "USD")
initAcct(account.st, portfolios = portfolio.st, 
         initDate = initdate, currency = "USD", 
         initEq = initeq)
initOrders(portfolio.st, initDate = initdate)
strategy(strategy.st, store = TRUE)
R 的金融交易

一起來練習吧!

R 的金融交易

Preparing Video For Download...