问题标签 [pyalgotrade]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-2.7 - broker.backtesting [DEBUG] 没有足够的现金来填写 600800 订单 [1684] 998 股/秒
我在 Pyalgotrade 中使用优化器来运行我的策略以找到最佳参数。我得到的信息是这样的:
这只是信息的一部分。您只能看到参数 ('600800', 4, 19)
并且('600800', 4, 19)
我们有结果,对于其他参数组合,我收到消息:546 broker.backtesting [DEBUG] Not enough cash to fill 600800 order [1684] for 998 share/s
。
我认为这条消息意味着我已经创建了一个买单,但我没有足够的现金来处理它。但是,从我下面的脚本中:
我的策略逻辑是,当前价格大于up,我们买入,如果当前价格大于up_stop或者我们买入后小于up,我们卖出。因此,从代码中,我无法生成没有足够现金支付的订单,因为订单是根据我当前的现金计算的。
那么我哪里错了?
python - 止损订单所需的 Pyalgotrade 建议
我想回测 pyalgotrade 中的交易策略,但在提交止损单时遇到问题。
在文档中它指出:头寸是用于下订单的更高级别的抽象。它们本质上是一对进出订单,允许跟踪回报和盈亏比手动下订单更容易。
我进入职位
这基本上打开了一个新的股票头寸并以市场价格购买,这本身就是有效的。
然后我希望下止损单
......但这行为真的很奇怪!
如果仓位 isFilled,即执行 enterLong 订单时的情况,则 exitStop 会引发断言错误,因为它似乎期望订单为“isActive”(这与 isFilled 冲突)。
当我在订单 isFilled(isActive)之前调用 exitStop 时,代码不会生成断言错误,但活动订单会立即取消。
当初始订单尚未执行时,调用 exitStop 绝对没有意义。还是我的想法完全不合时宜?
不幸的是,pyalgotrade 教程策略不使用任何止损逻辑(这很糟糕)。
pyalgotrade - 以下 pyalgotrade 代码中的“orcl”是什么?此外,我有一个 csv 文件,如何将其中的数据上传到我的代码中?
我想实施自己的回测策略,但无法根据需要修改代码
python - PyAlgo Trade 无法读取 csv 文件
我试图在下面编码:
结果是一个错误:
dateTime = datetime.datetime.strptime(csvRowDict[self.__dateTimeColumn], self.__dateTimeFormat) KeyError: 'Date'
如果我使用格式样式 "Date","%Y.%m.%d %H:%M:%S" ,同样的错误:
回溯(最近一次通话最后):
文件“”,第 1 行,在
文件“/Users/emacsen/anaconda/envs/py2.7/lib/python2.7/site-packages/pyalgotrade/feed/csvfeed.py”,第 171 行,在 addValuesFromCSV 返回 BaseFeed.addValuesFromCSV(self, path)
文件“/Users/emacsen/anaconda/envs/py2.7/lib/python2.7/site-packages/pyalgotrade/feed/csvfeed.py”,第 90 行,addValuesFromCSV dateTime,rowValues = self.__rowParser.parseRow(row )
文件“/Users/emacsen/anaconda/envs/py2.7/lib/python2.7/site-packages/pyalgotrade/feed/csvfeed.py”,第 108 行,在 parseRow .__dateTimeColumn], self.__dateTimeFormat) KeyError: 'Date'
如果我改用 pandas.read_csv() ,它可以很好地阅读,那么我的日期格式有什么问题?
csv文件被格式化
最后一栏是欧元/美元的交易量
顺便说一句,pyalgotrade 如何与熊猫一起使用?我可以使用 pandas 读取 csv 文件并将其传输到 pyalgotrade 吗?
python - 使用 yahoo 历史数据计算 pyalgotrade VWAP 似乎不正确
我刚刚开始使用 pyalgotrade,使用我在网上获得的修改后的示例代码,该代码使用VWAP(交易量调整平均值)计算,以及软件自己获取雅虎历史数据的方法,我注意到输出VWAP计算似乎是错误的雅虎调整其音量,而软件工具假定音量未调整。
这是代码。注意执行后生成的图表,并注意VWAP计算的中断。我将 Nasdaq 的数据与它加载的 yahoos 进行了比较,并注意到 Yahoo 的音量已经调整,尽管它没有说是调整的。我确实将标志设置为使用调整后的数据,但软件不会将其用于 VWAP 计算,因为我相信它假定交易量未调整。
如果有人能确定一种我可以纠正问题的方法,我将不胜感激。我可以用来覆盖其自己的 VWAP 计算的方法会很好。另外我也不知道如何向提供者报告错误,因为我是新手。
csv - 如何将我自己的数据输入 PyAlgoTrade?
但是我不想使用来自yahoo!finance的数据,我想使用自己的但不知道如何解析,CSV
格式为:
我想做类似的事情:
然后yahoofinance.build_feed(instruments, 2008, 2009, ".")
用我的替换CSV
我试过了:
但它会引发属性错误。任何想法如何做到这一点?
python - pyalgotrade 中事件分析器的更多示例
我正在尝试学习如何在 pyalgotrade 的事件分析器中实施自定义策略。这是他们给出的默认示例。
我试图弄清楚如何eventprofiler
接收和使用 data,虽然有很多类方法被调用,但我发现剖析它有点棘手。
我想从简单开始,只使用price
and volume
。它是,一种策略是if volume > 1000 and close < 50: event == True
任何帮助,将不胜感激。
Ps:奖金问题:是否有类似的事件分析器zipline
?
编辑:感谢user3666197,我能够进行我想要的更改,但是我收到了这个错误:
我查看了源“eventprofiler.py”,但不知道它是什么。这是代码
ta-lib - 特定时间跨度的最高点
如何使用 pyalogtrade 或 ta-lib 指标获得特定时间跨度的最高价,例如上午 08:00 - 10:00。
当然,我可以写两个 if 语句来检查当前柱上的时间,但我认为必须有一个更优雅的方法来做到这一点。
python - NotImplementedError() 这是什么意思,事件分析器pyalgotrade
我正在尝试运行 pyalgotrade 的事件分析器。我正在使用自定义数据,当我使用默认策略/谓词“BuyOnGap”运行它时它可以工作,但是当我尝试使用简单的自定义策略运行它时它会抛出错误:
我的代码是:
这个错误是什么意思 ?
有谁知道出了什么问题以及如何解决?
这是事件分析器代码的链接:
作为奖励,有人知道我在哪里可以找到正在使用的分析器的示例吗?pyalgotrade 给出的其他示例,请参见此处
python - 在 pyalgotrade 中配置事件配置文件以回顾超过一根柱线(例如 bards[-2] )
我正在尝试在简单的烛台结构上编写各种谓词。例如,“连续 3 根绿色蜡烛”谓词的一个组成部分需要回溯 -4
首先,我尝试使用“higher_highs”谓词对其进行测试。如果前一根蜡烛的收盘价低于当前蜡烛的收盘价,则函数返回真。下面是我的代码:
但是我得到一个IndexError
:
我仍在试图弄清楚 EP 是如何工作的。这很有趣,因为在buyongap示例中有一个回顾期bards[-2]
,
但是它位于if self.__stdDev[instrument][-1] is not None:
语句中,我的谓词不需要 TA 指示符,那么我如何访问以前的吟游诗人?