作者Caecilius (下好离手)
看板R_Language
标题[问题] For回圈整理存入新的矩阵
时间Wed Jan 18 14:33:27 2017
[问题类型]:
程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
[软体熟悉度]:
新手(没写过程式,R 是我的第一次)
[问题叙述]:
范例如下,我是在网路上抓到海龟的策略,然後因为yahoo资料每天晚上只有隔天的资料
所以希望能每天早上能更新今天的各值,令其存入新的矩阵Sign。
如 "1513.TW" "2014.TW" "2344.TW"
x$Min20 ... ... ...
x$Max20 ...
x$Min10 ...
x$Max10
x$Min55
x$Max55
N
结果只知道怎麽存一维的资料,要塞其他东西都卡住,麻烦各位大大了。
[程式范例]:
library(quantmod)
library(PerformanceAnalytics)
#.TW/.TWO
symbols <- c("1513.TW","2014.TW","2344.TW")
initDate="2016-01-01"
getSymbols(symbols, from = initDate)
Sign <- NULL
for(symbol in symbols){
x=get(symbol)
x$Min20 <- runMin(x[,grep('Low',colnames(x))], 20)
x$Max20 <- runMax(x[,grep('High',colnames(x))],20)
x$Min10 <- runMin(x[,grep('Low',colnames(x))], 10)
x$Max10 <- runMax(x[,grep('High',colnames(x))],10)
x$Min55 <- runMin(x[,grep('Low',colnames(x))], 55)
x$Max55 <- runMax(x[,grep('High',colnames(x))],55)
x$N <- ATR(x[,c(2,3,4)], n=20, maType=EMA, wilder=TRUE)[,'atr']
assign(symbol,x)
#for (i in symbols){
# Sign[i] <- tail(x$Min20,1)
#} 这也只有跑出第一笔的Min20....
}
[环境叙述]:
R version 3.3.2 (2016-10-31)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
[关键字]:
for 回圈
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 112.105.245.30
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1484721209.A.4B8.html
1F:推 wudil8846: 其实你的getSymbol并没有真的连出去,因为台股 01/19 09:21
2F:推 wudil8846: 的代号是数字开头,所以它抓不到 01/19 09:23
3F:→ wudil8846: 更正:是getSymbols()并没有真的连出去 01/19 09:28
可是我有抓到YAHOO的资料耶
※ 编辑: Caecilius (175.182.119.5), 01/20/2017 15:47:15