问题标签 [algorithmic-trading]

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.

0 投票
1 回答
100 浏览

algorithm - 将“平稳性”添加到长系列十进制值的算法

假设您想“保留”您的限价单以始终比当前报价便宜 0.10 美元购买“MSFT”。

因此,如果要约移动,您也应该移动您的订单。

例如,如果报价从 30.10 移至 30.11,您必须将订单从 30.00 移至 30.01

问题是,如果由于某种原因,报价在 30.10 和 30.11 之间频繁移动,您也会频繁移动您的订单。这太糟糕了,因为证券交易所对额外交易“收费”,所以我们应该尽可能少地保持交易数量。

所以我想让我的系列更“静止”。即我想将此类系列“30.00 30.01 30.00 30.01 30.00 30.01 30.02”替换为可能的系列“30.00 30.00 30.00 30.00 30.00 30.01 30.02”

我不知道“报价”将如何变化,但我需要“限制”我的订单的移动次数。

所以我建议使用这样简单的解决方案1:如果订单从Price1 移动到Price2,那么在下一个时间段(1 秒左右)内禁止将此订单移动到Price1。这将涵盖所有情况。例如:

  1. Price1 -> Price2 - 允许
  2. Price2 -> Price3 - 允许
  3. Price3 -> Price1 - 如果没有足够的时间,则下降

我也可以建议解决方案2:

而不是“当前报价”使用“最后一段时间的最低报价”。例如“最后一秒的最低报价”不会经常改变。

在“解决方案1”中,我立即对向上/向下变化做出反应,但过滤掉“重复”变化。但是,我仍然会“每期移动一次”。

在“解决方案2”中,我对向上变化做出“延迟”反应,并立即对向下变化做出反应,但有时我根本不会移动,因为每次最低报价重复时,我的“秒表”都会“重置”并“再次打勾”第二”。因此,如果“最低报价”每秒重复一次或更多,我将只停留在某个点而没有任何动作。

你觉得你能提出什么建议?

0 投票
1 回答
60 浏览

optimization - 统计程序决定

我手头有两个问题:

  1. 我有一个因变量,比如说 GDP 和许多其他自变量。我需要知道我可以使用什么程序来查找 IV 中哪些是领先指标或滞后指标。我已经在 SAS 和 Excel 中开发了模型。

  2. 根据基于 x 日 ema 和 y 日 sma 交叉的一些买卖规则,我需要计算回报。我需要知道我应该使用哪个程序来查找哪些值,x并将y给我最好的回报(x并且y是一个前缀值数组,如 (200,50)(300,30) 等)。这里可以使用神经网络吗?如果是这样,任何人都可以给我一个有关如何执行此操作的文档的链接吗?

0 投票
2 回答
32686 浏览

algorithm - 从字母数字字符串生成唯一 ID

我需要从一个字母数字字符串生成一个 UNIQUE id(仅限 int)。

例如,我有安全 ID = 'ABC123DEF' 我应该能够生成“安全 ID”的唯一 ID(仅限 int),以便唯一 ID 始终保持不变。

例如安全 ID:ABC123DEF Int ID:9463456892

这样我就可以将 Int ID 存储在 Database 中,并随时从 Int ID 中引用安全 ID。

一些例子:PBG_CD_20120214_.2 | 201202-CMG188963_T | PBG_TD_20120306_.0001 3 个示例:-PIPE 分离

0 投票
2 回答
2162 浏览

bloomberg - 任何使用bloomberg逐个滴答数据的开源回测引擎?

我要对指数期货进行回溯测试。我已经完成了 1 分钟 OHLC 数据的测试,结果还可以。此外,我想选择从 Bloomberg 下载的逐笔报价数据。

我浏览了互联网,发现有几个交易平台可用于此类功能,但彭博不在数据源提供商列表中。所以我认为这些不适合我的情况。

我想知道是否可以嵌入任何开源引擎来完成测试?

0 投票
3 回答
190 浏览

algorithm - 需要算法 - 2007 年比荷卢经济联盟竞赛

这个问题(最后一个)出现在 Benelux Algorithm Programming Contest-2007

http://www.cs.duke.edu/courses/cps149s/spring08/problems/bapc07/allprobs.pdf

简而言之问题陈述:

公司需要确定何时在给定输入上购买或出售或无操作的策略,以实现利润最大化。输入格式为:

这意味着输入的时间为 6 天。

第 1 天:您获得 4 股,每股价格为 4 美元,最高可以卖出 2
股 第 2 天:您获得 2 股,每股价格为 9 美元,最高可以卖出 3 股

我们需要输出可以达到的最大利润。

我正在考虑如何解决这个问题。在我看来,如果我们使用蛮力,将花费太多时间。如果这可以转换为像 0-1 背包这样的 DP 问题?一些帮助将不胜感激。

0 投票
1 回答
1115 浏览

csv - 将记录附加到 csv 文件的批处理脚本

我在 csv 中有一堆股票数据,我正在对交易策略进行回测。问题是如果昨天发现信号,我的策略会购买公开市场价格,不幸的是我的数据仅在一天结束时发布,这意味着我不知道我是否应该在市场收盘后进入交易,当数据发布。但是因为我的策略是仅根据昨天的数据进行交易,我认为一种解决方法是简单地在代表下一个交易日的数据的末尾附加一条记录,并且只显示昨天收盘时的当天价格,以免造成利润损失。因此,例如说我的一个 csv 看起来像这样(虽然不是这种格式,但实际文件没有标题并且用逗号分隔)

我想附加以下记录:

所以我需要增加日期 1,然后将之前的收盘价复制到其他定价字段,我认为最好保持交易量不变。这将每天循环遍历文件夹,以便为所有文件添加一个虚拟字段,以便我可以更及时地获得信号。然后在每天结束时,我有另一个批处理文件,我已经开始清理我的数据文件夹并用真实的定价数据覆盖。

0 投票
1 回答
4634 浏览

python - 如何从 Pandas 数据框函数调用中回顾前几行?

我正在研究/回测交易系统。

我有一个包含 OHLC 数据的 Pandas 数据框,并添加了几个计算列,这些列标识了我将用作启动头寸的信号的价格模式。

我现在想添加一个进一步的列来跟踪当前的净头寸。我曾尝试使用 df.apply(),但将数据框本身作为参数而不是行对象传递,与后者一样,我似乎无法回顾前几行以确定它们是否导致任何价格模式:

但是,这会返回以下错误:

滚动窗口函数似乎很自然,但据我了解,它们仅作用于单个时间序列或列,因此也不起作用,因为我需要在多个时间点访问多个列的值。

实际上我应该怎么做?

0 投票
2 回答
2093 浏览

excel - Python:正在向 Excel 提供实时股票价格。如何每 10 分钟将价格附加到 csv?

这是我的python脚本:

所以我将价格输入到excel中,它们每秒都会更新自己。我想做的是让 python 脚本每十分钟读取一次 excel 表(我将使用 cronjob 来激活 python 脚本),然后将最新价格附加到仅包含该股票价格的 csv 文件中。问题是当我运行 python 脚本时,它给了我上次保存 excel 文件的价格和日期,而不是当前价格。我尝试设置选项-->保存-->保存-->保存自动恢复信息--> 1 分钟,但这对我没有帮助。因此,换个说法,我该如何做到,以便每次 xlrd 读入 .xls 文件(以便 python 脚本可以提取当前价格和日期)我得到当前价格和日期,而不是价格和日期我上次保存 .xlxs 文件是什么时候?

理想情况下,我希望能够离开计算机几天,然后回到填充的 .csv

或者也许有更好的解决方案来填充 .csv?

0 投票
1 回答
2735 浏览

python - 如何连接到 TT X_TRADER API 以使用 python 创建自动交易系统?

我已经在内部开发论坛中多次看到这个问题,因此想提供一个快速示例,说明如何立即在 python 中实现这一点。

0 投票
1 回答
1476 浏览

r - 交易策略测试中的累积回报

我有一个基于订单不平衡的信号,我想针对历史库存数据进行测试。

我还有每个信号的价格,然后我计算价格趋势以查看最近 4 个价格的回报是上涨还是下跌。从我收到的信号

现在我的想法是每次 nSignal 升至 0.70 以上时买入/做空。如果趋势是正面的,那么我会买入,如果趋势是负面的,我会做空。

然后,当 nSignal 再次开始下降时,我将退出该位置。我不想在任何时候拥有一个以上的空缺职位。因此,如果在我有未平仓头寸时出现买入/卖出信号,我会忽略。

我的问题是关于 Sell 和 Buy 向量的编码以及这些向量的回报的计算。理想情况下,我希望有 1 个向量作为输出。

我可以产生买入/卖出信号,但我坚持告诉 R 忽略进一步的买入/卖出,直到 nSignal 下降并释放头寸。我附上了我想计算的东西。