rme*_*dor 238 simulation finance artificial-intelligence stocks
我正在尝试制作股票市场模拟器(可能最终会成长为预测AI),但我无法找到要使用的数据.我正在寻找一个(希望是免费的)历史股市数据来源.
理想情况下,它将是一个非常细粒度(第二或每分钟间隔)的数据集,其中包含纳斯达克和纽约证券交易所(如果我喜欢冒险)的每个符号的价格和数量.有谁知道这些信息的来源?
我发现这个问题表明雅虎提供了CSV格式的历史数据,但我一直无法找到如何粗略地检查链接的网站.
我也不喜欢在CSV文件中逐个下载数据的想法...我想雅虎会在最初的几千个请求之后感到不安并关闭我.
我还发现了另一个让我觉得自己中了大奖的问题,但不幸的是,OpenTick网站似乎已经关门了......太糟糕了,因为我觉得它们正是我想要的.
我也可以使用每天只打开/关闭价格和每个符号的数量的数据,但如果我能得到它,我更喜欢所有的数据.还有其他建议吗?
luk*_*ler 223
让我加上我的2美分,这是我的工作,为对冲基金获得良好和干净的数据,我见过很多数据源和历史数据提供商.这主要是关于美国股票数据.
首先,如果你有一些钱不打扰从雅虎下载数据,直接从CSI数据获得日终数据,这是雅虎获得他们的EOD数据以及AFAIK.他们有一个API,您可以在其中将数据提取到您想要的任何格式.我认为每年的数据订阅价格只有100美元.
从免费服务下载数据的主要问题是你只能获得仍然存在的股票,这就是所谓的生存偏差,如果你看看很多股票就会给你错误的结果,因为你只会包含那些让它成功的股票远远没有被除名的那些.
为了解决一些日内数据,我会研究IQFeed,它们提供了几个API来提取历史数据,尽管它们主要是实时源的装备.但是这里有很多选择,一些经纪人甚至通过他们的API提供历史数据下载,所以只需选择你的毒药.
但通常所有这些数据都不是很干净,一旦你真的开始测试,你会发现某些股票缺失或者显示为两个不同的符号,或者股票拆分没有得到适当考虑等等.然后你意识到这一点股息数据也是必需的,因此您开始在圈子中运行,从100个不同的数据源修补数据等等.因此,从"折扣"数据源开始,但是只要您运行更全面的回溯测试,您可能会遇到问题,具体取决于您的操作.如果你只是看看,标准普尔500股票,这不会是一个问题,而且"便宜"的日内交易将会有所作为.
你找不到的是免费的日内数据.我的意思是你可能会找到一些例子,我确信有5年的MSFT滴答数据会浮动,但这不会让你走得太远.
然后,如果你需要真正的东西(二级订单,所有滴答,因为它们在所有交易所发生),一个"负担得起",但很好的选择是Nanex.它们实际上会向您发送带有数TB数据的驱动器.如果我记得每年约3万美元4K的数据.相信我,一旦你了解获得好的日内数据是多么困难,你根本不会认为这是非常多的钱.
不劝阻你,但要获得良好的数据是很难的,所以很难在事实上,许多对冲基金和银行花费几十万美元一个月拿到他们可以信任的数据.再一次,你可以从某个地方开始,然后从那里开始,但在上下文中看到它有点好.
编辑:上面的答案来自我自己的经验.这篇来自Caltech的关于可用数据馈送的文章将提供更多见解,特别推荐QuantQuote.
小智 94
当YAHOO饲料已经存在时,这个答案不再准确
使用上面的Yahoo CSV方法,您还可以获取历史数据!您可以对以下示例进行反向工程:
http://ichart.finance.yahoo.com/table.csv?s=YHOO&d=0&e=28&f=2010&g=d&a=3&b=12&c=1996&ignore=.csv
实质上:
sn = TICKER
a = fromMonth-1
b = fromDay (two digits)
c = fromYear
d = toMonth-1
e = toDay (two digits)
f = toYear
g = d for day, m for month, y for yearly
Run Code Online (Sandbox Code Playgroud)
完整的参数列表:
a Ask
a2 Average Daily Volume
a5 Ask Size
b Bid
b2 Ask (Real-time)
b3 Bid (Real-time)
b4 Book Value
b6 Bid Size
c Change & Percent Change
c1 Change
c3 Commission
c6 Change (Real-time)
c8 After Hours Change (Real-time)
d Dividend/Share
d1 Last Trade Date
d2 Trade Date
e Earnings/Share
e1 Error Indication (returned for symbol changed / invalid)
e7 EPS Estimate Current Year
e8 EPS Estimate Next Year
e9 EPS Estimate Next Quarter
f6 Float Shares
g Day's Low
h Day's High
j 52-week Low
k 52-week High
g1 Holdings Gain Percent
g3 Annualized Gain
g4 Holdings Gain
g5 Holdings Gain Percent (Real-time)
g6 Holdings Gain (Real-time)
i More Info
i5 Order Book (Real-time)
j1 Market Capitalization
j3 Market Cap (Real-time)
j4 EBITDA
j5 Change From 52-week Low
j6 Percent Change From 52-week Low
k1 Last Trade (Real-time) With Time
k2 Change Percent (Real-time)
k3 Last Trade Size
k4 Change From 52-week High
k5 Percent Change From 52-week High
l Last Trade (With Time)
l1 Last Trade (Price Only)
l2 High Limit
l3 Low Limit
m Day's Range
m2 Day's Range (Real-time)
m3 50-day Moving Average
m4 200-day Moving Average
m5 Change From 200-day Moving Average
m6 Percent Change From 200-day Moving Average
m7 Change From 50-day Moving Average
m8 Percent Change From 50-day Moving Average
n Name
n4 Notes
o Open
p Previous Close
p1 Price Paid
p2 Change in Percent
p5 Price/Sales
p6 Price/Book
q Ex-Dividend Date
r P/E Ratio
r1 Dividend Pay Date
r2 P/E Ratio (Real-time)
r5 PEG Ratio
r6 Price/EPS Estimate Current Year
r7 Price/EPS Estimate Next Year
s Symbol
s1 Shares Owned
s7 Short Ratio
t1 Last Trade Time
t6 Trade Links
t7 Ticker Trend
t8 1 yr Target Price
v Volume
v1 Holdings Value
v7 Holdings Value (Real-time)
w 52-week Range
w1 Day's Value Change
w4 Day's Value Change (Real-time)
x Stock Exchange
y Dividend Yield
Run Code Online (Sandbox Code Playgroud)
Eri*_* H. 45
我知道你想要"免费",但如果我是你,我会认真考虑从csidata.com获取大约300美元/年的数据.
这是雅虎用来提供数据的方式.
它带有一个不错的API,数据(据我所知)非常干净.
当您订阅时,您将获得10年的历史记录,之后每晚都会进行更新.
他们还为你处理各种令人讨厌的事情,比如分裂和分红.如果你还没有发现数据清理的快乐,你就不会意识到你需要多少,直到你的ATS(自动交易系统)第一次认为某些股票真的很便宜,只是因为它分裂2 :1,你没注意到.
mat*_*t b 16
纳斯达克和纽约证券交易所在第二或每分钟间隔的每个符号的数据集将是巨大的.
假设两家交易所共有4000家公司上市(由于纳斯达克上市公司超过3200家,这可能是非常低的一面).对于第二个时间间隔的数据,假设一天中有6.5个交易小时,那么每个公司每天可以获得23400个数据点,或者一天中总共有93,600,000个数据点.假设一年有200个交易日,那一年只有18,720,000,000个数据点.
也许你想先从较小的一套开始?
Kir*_*ril 16
简介:
从雅虎,您可以获得EOD(一天结束)历史价格或实时价格.EOD价格下载非常简单.有关如何获取数据和C#代码示例的说明,请参阅我的博客.
我正在编写一个实时数据馈送"引擎",可以将实时价格下载并存储在数据库中.该引擎最初将能够从Yahoo和Interactive Brokers下载历史价格,它将能够将数据存储在您选择的数据库中:MS SQL,MySQL,SQLite等.它是开源的,但我会发布更多当我接近发布它时,我的博客上的信息(在几天内).
另一个选择是eclipse trader ...它允许您以低至1分钟的粒度记录历史数据,并将价格本地存储在文本文件中.它基本上会从雅虎下载实时数据,延迟时间为15分钟.由于我想要一个更强大的解决方案,并且我正在开发一个我们需要数据的大型学校项目,我决定编写自己的数据馈送引擎(我在上面提到过).
示例代码:
以下是演示如何下载实时数据的示例C#代码:
public void Start()
{
string url = "http://finance.yahoo.com/d/quotes.csv?s=MSFT+GOOG&f=snl1d1t1ohgdr";
//Get page showing the table with the chosen indices
HttpWebRequest request = null;
IDatabase database =
DatabaseFactory.CreateDatabase(
DatabaseFactory.DatabaseType.SQLite);
//csv content
try
{
while (true)
{
using (Stream file = File.Create("quotes.csv"))
{
request = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url));
request.Timeout = 30000;
using (var response = (HttpWebResponse)request.GetResponse())
using (Stream input = response.GetResponseStream())
{
CopyStream(input, file);
}
}
Console.WriteLine("------------------------------------------------");
database.InsertData(Directory.GetCurrentDirectory() + "/quotes.csv");
File.Delete("quotes.csv");
Thread.Sleep(10000); // 10 seconds
}
}
catch (Exception exc)
{
Console.WriteLine(exc.ToString());
Console.ReadKey();
}
}
Run Code Online (Sandbox Code Playgroud)
数据库:
在数据库方面,我使用OleDb
连接到CSV文件来填充a DataSet
然后我通过DataSet
它更新我的实际数据库,它基本上可以将从Yahoo返回的CSV文件中的所有列直接匹配到您的数据库(如果您的数据库不支持批量插入CSV数据,例如SQLite).否则,插入数据是一行的......只需将CSV批量插入数据库即可.
您可以在此处阅读有关网址格式的更多信息:http://www.gummy-stuff.org/Yahoo-data.htm
纳斯达克为每个符号提供10年的历史EOD数据
http://www.nasdaq.com/aspx/historical_quotes.aspx?symbol=AAPL&selected=AAPL
您可以自动执行下载此数据的过程.
对于幸存者偏向免费数据,我发现唯一可靠的来源是QuantQuote(http://quantquote.com)
数据以分钟,秒或刻度分辨率显示,链接到其历史股票数据.
上面提到了kibot的建议.我会做一个快速谷歌搜索从他们在购买前,你会发现很多帖子这样有关kibot数据质量问题的警告.它也说明了他们所谓的生存偏见自由sp500在14年内只有570个符号.这几乎是不可能的,每1-2个符号SP500变化月份 ....
不幸的是,很难获得免费的历史股票数据.既然opentick死了,我也不知道任何其他提供者.
在之前的一生中,我为一个拥有自动交易系统的对冲基金工作,我们大量使用了历史数据.
我们使用TickData作为源代码.他们的价格合理,数据有次低分辨率.
现在,Mathematica还可以访问当前和历史股票价格 ,如果您碰巧有副本,请参阅 http://reference.wolfram.com/mathematica/ref/FinancialData.html.