無法使用
出現以下錯誤訊息 ~~ 請問需要將yahoo改成google嗎 ? 現在yahoo抓不到資料
但我改了google後一樣不行 ..
> require(quantstrat)
Loading required package: quantstrat
Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, :
there is no package called ‘quantstrat’
> require(quantmod)
Loading required package: quantmod
Loading required package: xts
Loading required package: zoo
Attaching package: ‘zoo’
The following objects are masked from ‘package:base’:
as.Date, as.Date.numeric
Loading required package: TTR
Version 0.4-0 included new data defaults. See ?getSymbols.
> require(PerformanceAnalytics)
Loading required package: PerformanceAnalytics
Package PerformanceAnalytics (1.4.3541) loaded.
Copyright (c) 2004-2014 Peter Carl and Brian G. Peterson, GPL-2 | GPL-3
http://r-forge.r-project.org/projects/returnanalytics/
Attaching package: ‘PerformanceAnalytics’
The following object is masked from ‘package:graphics’:
legend
> initDate = "1990-01-01"
> from = "2003-01-01"
> to = "2013-12-31"
> options(width = 70)
>
> setwd("C:/Users/going/Downloads")
> source("demoData.r")
Error in as.environment(pos) :
no item called ".blotter" on the search list
In addition: Warning message:
In ls(.blotter) : ‘.blotter’ converted to character string
>
>
>
> # Trade sizing and initial equity settings
> tradeSize <- 10000
> initEq <- tradeSize * length(symbols)
> strategy.st <- "Clenow_Simple"
> portfolio.st <- "Clenow_Simple"
> account.st <- "Clenow_Simple"
> rm.strat(portfolio.st)
Error: could not find function "rm.strat"
> rm.strat(strategy.st)
Error: could not find function "rm.strat"
> initPortf(portfolio.st, symbols = symbols,
+ initDate = initDate, currency = 'USD')
Error: could not find function "initPortf"
> initAcct(account.st, portfolios = portfolio.st,
+ initDate = initDate, currency = 'USD', initEq = initEq)
Error: could not find function "initAcct"
> initOrders(portfolio.st, initDate = initDate)
Error: could not find function "initOrders"
> strategy(strategy.st, store=TRUE)
Error: could not find function "strategy"
>
>
> nLag = 252
> pctATR = 0.02
> period = 10
> namedLag <- function(x, k = 1, na.pad = TRUE, ...) {
+ out <- lag(x, k = k, na.pad = na.pad, ...)
+ out[is.na(out)] <- x[is.na(out)]
+ colnames(out) <- "namedLag"
+ return(out)
+ }
>
>
> add.indicator(strategy.st, name = "namedLag",
+ arguments = list(x = quote(Cl(mktdata)), k = nLag),
+ label = "ind")
Error: could not find function "add.indicator"
> add.indicator(strategy.st, name = "lagATR",
+ arguments = list(HLC = quote(HLC(mktdata)), n = period),
+ label = "atrX")
Error: could not find function "add.indicator"
> test <- applyIndicators(strategy.st, mktdata = OHLC(XLB))
Error: could not find function "applyIndicators"
> head(round(test, 2), 253)
Error in head(round(test, 2), 253) : object 'test' not found
>
>
> add.signal(strategy.st, name = "sigCrossover",
+ arguments = list(columns = c("Close", "namedLag.ind"),
+ relationship = "gt"),
+ label = "coverOrBuy")
Error: could not find function "add.signal"
> add.signal(strategy.st, name = "sigCrossover",
+ arguments = list(columns = c("Close", "namedLag.ind"),
+ relationship = "lt"),
+ label = "sellOrShort")
Error: could not find function "add.signal"
>
>
> # Long rules
> add.rule(strategy.st, name = "ruleSignal",
+ arguments = list(sigcol = "coverOrBuy",
+ sigval = TRUE, ordertype = "market",
+ orderside = "long", replace = FALSE,
+ prefer = "Open", osFUN = osDollarATR,
+ tradeSize = tradeSize, pctATR = pctATR,
+ atrMod = "X"), type = "enter", path.dep = TRUE)
Error: could not find function "add.rule"
>
> add.rule(strategy.st, name = "ruleSignal",
+ arguments = list(sigcol = "sellOrShort",
+ sigval = TRUE, orderqty = "all",
+ ordertype = "market", orderside = "long",
+ replace = FALSE, prefer = "Open"),
+ type = "exit", path.dep = TRUE)
Error: could not find function "add.rule"
> # Short rules
> add.rule(strategy.st, name = "ruleSignal",
+ arguments = list(sigcol = "sellOrShort",
+ sigval = TRUE, ordertype = "market",
+ orderside = "short", replace = FALSE,
+ prefer = "Open", osFUN = osDollarATR,
+ tradeSize = -tradeSize, pctATR = pctATR,
+ atrMod = "X"), type = "enter", path.dep = TRUE)
Error: could not find function "add.rule"
> add.rule(strategy.st, name = "ruleSignal",
+ arguments = list(sigcol = "coverOrBuy",
+ sigval = TRUE, orderqty = "all",
+ ordertype = "market", orderside = "short",
+ replace = FALSE, prefer = "Open"),
+ type = "exit", path.dep = TRUE)
Error: could not find function "add.rule"
>
> # Get begin time
> t1 <- Sys.time()
> out <- applyStrategy(strategy = strategy.st,
+ portfolios = portfolio.st)
Error: could not find function "applyStrategy"
> # Record end time
> t2 <- Sys.time()
> print(t2 - t1)
Time difference of 0.006000042 secs
>
> updatePortf(portfolio.st)
Error: could not find function "updatePortf"
> dateRange <- time(getPortfolio(portfolio.st)$summary)[-1]
Error in time(getPortfolio(portfolio.st)$summary) :
could not find function "getPortfolio"
> updateAcct(portfolio.st, dateRange)
Error: could not find function "updateAcct"
> updateEndEq(account.st)
Error: could not find function "updateEndEq"
>
> tStats <- tradeStats(Portfolios = portfolio.st, use = "trades",
+ inclZeroDays = FALSE)
Error: could not find function "tradeStats"
> tStats[, 4:ncol(tStats)] <- round(tStats[, 4:ncol(tStats)], 2)
Error: object 'tStats' not found
> print(data.frame(t(tStats[,-c(1,2)])))
Error in t(tStats[, -c(1, 2)]) : object 'tStats' not found
> aggPF <- sum(tStats$Gross.Profits) / -sum(tStats$Gross.Losses)
Error: object 'tStats' not found
> aggCorrect <- mean(tStats$Percent.Positive)
Error in mean(tStats$Percent.Positive) : object 'tStats' not found
> numTrades <- sum(tStats$Num.Trades)
Error: object 'tStats' not found
> meanAvgWLR <- mean(tStats$Avg.WinLoss.Ratio[
+ tStats$Avg.WinLoss.Ratio < Inf], na.rm = TRUE)
Error in mean(tStats$Avg.WinLoss.Ratio[tStats$Avg.WinLoss.Ratio < Inf], :
object 'tStats' not found
>
> aggPF <- sum(tStats$Gross.Profits) / -sum(tStats$Gross.Losses)
Error: object 'tStats' not found
> ## [1] 3.663545
> aggCorrect <- mean(tStats$Percent.Positive)
Error in mean(tStats$Percent.Positive) : object 'tStats' not found
> ## [1] 36.00233
> numTrades <- sum(tStats$Num.Trades)
Error: object 'tStats' not found
> ## [1] 1134
> meanAvgWLR <- mean(tStats$Avg.WinLoss.Ratio[
+ tStats$Avg.WinLoss.Ratio < Inf], na.rm = TRUE)
Error in mean(tStats$Avg.WinLoss.Ratio[tStats$Avg.WinLoss.Ratio < Inf], :
object 'tStats' not found
> ## [1] 9.871333
>
> instRets <- PortfReturns(account.st)
Error: could not find function "PortfReturns"
> portfRets <- xts(rowMeans(instRets) * ncol(instRets),
+ order.by = index(instRets))
Error in is.data.frame(x) : object 'instRets' not found
> portfRets <- portfRets[!is.na(portfRets)]
Error: object 'portfRets' not found
> cumPortfRets <- cumprod(1 + portfRets)
Error: object 'portfRets' not found
> firstNonZeroDay <- as.character(index(portfRets)[
+ min(which(portfRets != 0))])
Error in index(portfRets) : object 'portfRets' not found
>
> # Obtain symbol
> getSymbols("SPY", from = firstNonZeroDay, to = to)
Error in do.call(paste("getSymbols.", symbol.source, sep = ""), list(Symbols = current.symbols, :
object 'firstNonZeroDay' not found
> SPYrets <- diff(log(Cl(SPY)))[-1]
Error in has.Cl(x) : object 'SPY' not found
> cumSPYrets <- cumprod(1 + SPYrets)
Error: object 'SPYrets' not found
> comparison <- cbind(cumPortfRets, cumSPYrets)
Error in cbind(cumPortfRets, cumSPYrets) :
object 'cumPortfRets' not found
> colnames(comparison) <- c("strategy", "SPY")
Error in colnames(comparison) <- c("strategy", "SPY") :
object 'comparison' not found
> chart.TimeSeries(comparison, legend.loc = "topleft",
+ colors=c("green", "red"))
Error in inherits(x, "xts") : object 'comparison' not found
>
> # Calculate risk metrics
> SharpeRatio.annualized(portfRets)
Error in inherits(x, "xts") : object 'portfRets' not found
> Return.annualized(portfRets)
Error in is.vector(R) : object 'portfRets' not found
> maxDrawdown(portfRets)
Error in is.vector(R) : object 'portfRets' not found
>
> SharpeRatio.annualized(portfRets)
Error in inherits(x, "xts") : object 'portfRets' not found
> ## [1] 0.6424366
> Return.annualized(portfRets)
Error in is.vector(R) : object 'portfRets' not found
> ## [1] 0.1392711
> maxDrawdown(portfRets)
Error in is.vector(R) : object 'portfRets' not found
> ## [1] 0.278221
>
> windows()
> chart.Posn(portfolio.st, "XLB")
Error: could not find function "chart.Posn"
> tmp <- namedLag(Cl(XLB), k = nLag)
Show Traceback
Rerun with Debug
Error in has.Cl(x) : object 'XLB' not found > add_TA(tmp$namedLag, col = "blue", on = 1)
Error in add_TA(tmp$namedLag, col = "blue", on = 1) :
object 'tmp' not found
>
|