You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Quantstrat applystrategy无法正常工作,尝试使用手动mktdata OHCLV数据而不是getSymbols函数。

在使用Quantstrat的applystrategy函数时,如果遇到问题,可以尝试手动提供OHLCV数据,而不是使用getSymbols函数

以下是一个示例代码,展示了如何手动提供OHLCV数据和使用applystrategy函数

# 加载所需的库
library(quantstrat)

# 创建一个空的策略对象
strategy.st <- strategy("example_strategy")

# 定义策略的参数和信号生成函数
strategy.st <- add.signal(strategy = strategy.st, name = "sigCrossover",
                          arguments = list(columns = c("Close", "Close"), 
                                           relationship = "gte"),
                          label = "long")

# 定义策略的规则和交易规则
strategy.st <- add.rule(strategy = strategy.st, name = "ruleSignal",
                        arguments = list(sigcol = "long", sigval = TRUE, orderqty = 100,
                                         ordertype = "market", orderside = "long"),
                        type = "enter")

strategy.st <- add.rule(strategy = strategy.st, name = "ruleSignal",
                        arguments = list(sigcol = "long", sigval = TRUE, orderqty = "all",
                                         ordertype = "market", orderside = "long"),
                        type = "exit")

# 创建一个空的portfolio对象
portfolio.st <- portfolio.st("example_portfolio")

# 创建一个空的账户对象
account.st <- account.st("example_account", portfolios = "example_portfolio",
                         initEq = 100000)

# 创建一个空的交易记录对象
trades.st <- trades.st("example_trades", portfolios = "example_portfolio")

# 手动创建OHLCV数据
dates <- as.Date(c("2022-01-01", "2022-01-02", "2022-01-03"))
prices <- data.frame(
  Date = dates,
  Open = c(100, 110, 120),
  High = c(120, 130, 140),
  Low = c(90, 100, 110),
  Close = c(110, 120, 130),
  Volume = c(1000, 2000, 3000),
  Adjusted = c(110, 120, 130)
)

# 将OHLCV数据添加到mktdata对象中
mktdata <- xts(prices[, -1], order.by = prices$Date)

# 使用applyStrategy函数运行策略
out.st <- applyStrategy(strategy = strategy.st, portfolios = "example_portfolio",
                        symbol = "example_symbol", mktdata = mktdata,
                        account = account.st, verbose = TRUE)

在上面的示例中,我们手动创建了一个包含OHLCV数据的data.frame,并将其转换为xts对象。然后,我们将该mktdata对象传递给applyStrategy函数进行策略回测。

请注意,我们需要确保手动提供的OHLCV数据与策略中使用的数据类型和列名称一致。

通过手动提供OHLCV数据,我们可以避免使用getSymbols函数,并且更容易调试和排除问题。

本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

字节跳动湖平台在批计算和特征场景的实践

lv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1716135663&x-signature=tIgfW59gMC3vYAEMKmJNLWiZSDE%3D)本文整理自火山引擎云原生计算研发工程师刘纬在 DataFunCon 2022 上的演讲。随着业务发展,字节跳动特征存储已到达 EB 级别,日均增量 PB 级别,每天训练资源量级为百万 Core。随之而来的是内部业务方对原始数据存储、特征回填需求、降低成本、提升速度等需求的期待。本次分享将围绕问题背景、选型& Iceberg ...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

Quantstrat applystrategy无法正常工作,尝试使用手动mktdata OHCLV数据而不是getSymbols函数。-优选内容

字节跳动湖平台在批计算和特征场景的实践
lv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1716135663&x-signature=tIgfW59gMC3vYAEMKmJNLWiZSDE%3D)本文整理自火山引擎云原生计算研发工程师刘纬在 DataFunCon 2022 上的演讲。随着业务发展,字节跳动特征存储已到达 EB 级别,日均增量 PB 级别,每天训练资源量级为百万 Core。随之而来的是内部业务方对原始数据存储、特征回填需求、降低成本、提升速度等需求的期待。本次分享将围绕问题背景、选型& Iceberg ...

Quantstrat applystrategy无法正常工作,尝试使用手动mktdata OHCLV数据而不是getSymbols函数。-相关内容

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询