标签: algorithmic-trading

今天最先进的HFT交易系统有多快?

你一直听说高频交易(HFT)以及算法的速度有多快.但我想知道 - 这几天有多快?

更新

我不是在考虑交换机和运行交易应用程序的服务器之间的物理距离造成的延迟,而是由程序本身引入的延迟.

更具体一点:从应用程序到达应用程序的事件到该应用程序的时间是什么时候在线路上输出订单/价格?即交易时间.

我们在谈论毫秒级吗?还是亚微秒?

人们如何实现这些延迟?在汇编中编码?FPGA的?好旧的C++代码?

更新

最近发表了一篇关于ACM的有趣文章,为今天的HFT技术提供了很多细节,这是一个很好的阅读:

网关的野蛮人 - 高频交易和交易技术

algorithmic-trading low-latency

47
推荐指数
4
解决办法
2万
查看次数

如何测试我的FIX客户端?我可以使用假的FIX交换吗?

我已经实现了自己的FIX客户端,比如QuickFIX.现在我需要测试它.我可以使用某个假的FIX交换吗?有没有人实现过我可以用来验证我的客户端的FIX服务器?是否有真正的交换,我可以使用他们的测试连接来测试和验证我的修复客户端?

任何帮助将非常感谢!

c++ java algorithmic-trading quickfix fix-protocol

22
推荐指数
2
解决办法
2万
查看次数

Python中最大亏损的开始,结束和持续时间

给定一个时间序列,我想计算最大亏损,我还想找到最大亏损的起点和终点,这样我就可以计算出持续时间.我想在这样的时间序列图上标记缩编的开始和结束:

一只忙碌的猫http://oi61.tinypic.com/r9h4er.jpg

到目前为止,我已经有了生成随机时间序列的代码,并且我已经有了计算最大亏损的代码.如果有人知道如何确定缩编开始和结束的地方,我真的很感激!

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

# create random walk which I want to calculate maximum drawdown for:

T = 50
mu = 0.05
sigma = 0.2
S0 = 20
dt = 0.01
N = round(T/dt)
t = np.linspace(0, T, N)
W = np.random.standard_normal(size = N) 
W = np.cumsum(W)*np.sqrt(dt) ### standard brownian motion ###
X = (mu-0.5*sigma**2)*t + sigma*W 

S = S0*np.exp(X) ### geometric brownian motion ###
plt.plot(S)

# Max drawdown …
Run Code Online (Sandbox Code Playgroud)

python numpy time-series algorithmic-trading

19
推荐指数
3
解决办法
2万
查看次数

如何使用 CopyRates() 搜索和过滤看涨吞没形态的多个时间范围

我尝试使用CopyRates()到(所有时限搜索几个时限看涨吞没烛台模式(看跌蜡烛,随后一个更大的看涨蜡烛)H2,以M10一个内H4看涨的蜡烛它关闭后)。我阅读了 的定义,CopyRates()但我发现实施起来有点困难。这里的想法来自我想要过滤具有最大看跌与看涨蜡烛对比率的模式的模式。看看我在下面做了什么:

OnTick()

for (int i=ArraySize(timeframes); i>=1; i--)   {
    
    if(CopyRates(Symbol(), timeframes[i - 1], 1, MyPeriod, rates)!=MyPeriod) {
        Print("Error CopyRates errcode = ",GetLastError()); 
        return;
    }

    // Using bullish engulfing pattern:
    if ((rates[numCandle].open < rates[numCandle].close) &&
        (rates[numCandle + 1].open > rates[numCandle + 1].close) &&
        (rates[numCandle + 1].open < rates[numCandle].close) &&
        (rates[numCandle + 1].close > rates[numCandle].open)) {

        // Not too certain what should be done here
    }
}
Run Code Online (Sandbox Code Playgroud)

这是其他相关代码:

input int …
Run Code Online (Sandbox Code Playgroud)

algorithmic-trading metatrader5 mql5

15
推荐指数
1
解决办法
745
查看次数

获取股票的历史数据

我们想使用HTTP请求检查库存的历史数据,并获取JSON.

使用yahoo API,我发现很难不仅清楚地理解HTTP请求字段,而且还要获取某一天的数据(不是每天的平均值,而是某一天的值),其中:

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.historicaldata%20where%20symbol%20%3D%20%22AAPL%22%20and%20startDate%20%3D%20%222012-09-11%22%20and%20endDate%20%3D%20%222014-02-11%22&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=

1.在任何地方都没有解释如何设置每个字段(也不在雅虎控制台).

2.你不能设置的某一天,并得到其值.

除了雅虎之外,还有免费的稳定解决方案吗?或者,有人可以帮我理解请求中所有这些垃圾的标志吗?

algorithmic-trading yahoo-finance

12
推荐指数
1
解决办法
2万
查看次数

将MFC支持添加到Qt项目

我有一个Qt项目,并希望使用包含"afxstr.h"的外部库.问题是,每当我链接到lib并包含其标题后编译时,我都会收到错误:

#error afxstr.h can only be used in MFC projects.  Use atlstr.h
Run Code Online (Sandbox Code Playgroud)

当然,我的项目不是MFC项目,我不能使用atlstr.h,因为它不是我的库.

我正在寻找快速解决方案!

我正在使用VS2010.

有争议的lib是Interactive Brokers API.

c++ qt mfc atl algorithmic-trading

11
推荐指数
1
解决办法
4575
查看次数

yFinance 的 JSON 解码错误 [JSONDecodeError: Expecting value: line 1 column 1 (char 0)]

过去几周我一直在使用 yfinance 来提取一些股票的历史数据。我通常在每周结束时运行该程序以存储该周的数据,但是这个问题错误只是在上周随机开始发生。下面是调用 MMM 历史价格数据的简单示例。但是,期权合约方法也会发生同样的错误。

import yfinance as yf
mmm = yf.Ticker('MMM')
mmm.history()
Run Code Online (Sandbox Code Playgroud)

错误堆栈:

JSONDecodeError                           Traceback (most recent call last)
<ipython-input-6-68e978705cca> in <module>
      1 mmm = yf.Ticker('MMM')
----> 2 mmm.history()

~/opt/anaconda3/lib/python3.8/site-packages/yfinance/base.py in history(self, period, interval, start, end, prepost, actions, auto_adjust, back_adjust, proxy, rounding, tz, **kwargs)
    155                                "Our engineers are working quickly to resolve "
    156                                "the issue. Thank you for your patience.")
--> 157         data = data.json()
    158 
    159         # Work with errors

~/opt/anaconda3/lib/python3.8/site-packages/requests/models.py in json(self, **kwargs)
    896                     # used. …
Run Code Online (Sandbox Code Playgroud)

python json algorithmic-trading yahoo-finance yfinance

11
推荐指数
3
解决办法
3517
查看次数

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

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

例如,我有安全ID ='ABC123DEF'我应该能够生成"安全ID"的唯一ID(仅限int),以便唯一ID始终是常量.

例如:安全ID:ABC123DEF Int ID:9463456892

这样我就可以将Int ID存储在数据库中,并随时从Int ID中引用安全ID.

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

algorithm algorithmic-trading

10
推荐指数
2
解决办法
2万
查看次数

如何识别数据集中的断点(趋势线边缘)?

我一直在进行一些研究,以便找到在数据集(具有成对的 x/y 坐标)中识别断点(趋势方向变化)的最佳方法,这使我能够识别数据集合背后的趋势线。

然而,我没有运气,找到任何给我带来一些光明的东西。

下图中的黄点,代表我需要检测的断点。

关于文章、算法或实现示例(首选打字稿)的任何建议都会非常有帮助和赞赏。

断点和趋势线

javascript algorithm dataset algorithmic-trading typescript

9
推荐指数
1
解决办法
959
查看次数

无法构建 ta-lib 错误:无法为 ta-lib 构建轮子,这是安装基于 pyproject.toml 的项目所必需的

我在 pip 安装 ta-lib 时遇到以下错误。\n我使用了命令:

\n
!pip install ta-lib\n
Run Code Online (Sandbox Code Playgroud)\n

请为我提供解决方案。

\n
    Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\nCollecting ta-lib\n  Using cached TA-Lib-0.4.25.tar.gz (271 kB)\n  Installing build dependencies ... done\n  Getting requirements to build wheel ... done\n  Installing backend dependencies ... done\n  Preparing metadata (pyproject.toml) ... done\nRequirement already satisfied: numpy in /usr/local/lib/python3.8/dist-packages (from ta-lib) (1.21.6)\nBuilding wheels for collected packages: ta-lib\n  error: subprocess-exited-with-error\n  \n  \xc3\x97 Building wheel for ta-lib (pyproject.toml) did not run successfully.\n  \xe2\x94\x82 exit code: 1\n  \xe2\x95\xb0\xe2\x94\x80> See above for output.\n …
Run Code Online (Sandbox Code Playgroud)

python artificial-intelligence algorithmic-trading technical-indicator

9
推荐指数
3
解决办法
7万
查看次数