在哪里可以找到分析历史股票价格的示例算法?

11

有没有人能指导我一下?

基本上,我正在尝试分析股票价格并查找是否有任何模式。 我使用PHP和MySQL来完成此操作。 我在哪里可以找到类似于MetaStock或thinkorswim中使用的示例算法? 我知道它们是闭源的,但有没有适合初学者的教程可用?

谢谢,

P.S. 我甚至不知道在Google上搜索什么 :(


2
搜索“技术分析”。 - hughdbrown
常见的做法是使用各种人工智能算法来提取模式。NetFlix挑战赛有很多实际应用的人工智能和统计算法的例子。 - Kiril
8个回答

16
一个基本的、教育性的算法是双交叉移动平均线。简单地绘制一只股票收盘价的快速(例如5天)和慢速(例如10天)移动平均线,你就可以得到一个弱预测器,用于何时买入长期(快速线超过慢速线)和卖出短期(慢速线超过快速线)。在实现这个之后,你可以实现指数平滑(参见先前链接的维基文章)。
那将是一个不错的开始。看看其他技术分析技术,但请记住,这是一种相当危险的交易方法。
更新:关于如何实现这个?你是一个PHP程序员,所以这里有一个PHP图表库。这是我几年前为这个项目使用的,效果非常好。也许有人可以推荐一个更好的。如果你需要一个免费的数据源,请看看Yahoo! Finance的历史数据。他们提供包含每个索引公司的每日开盘价、收盘价、交易量等的CSV文件。

技术分析是你想要的。在尝试理解此内容时,还可以参考http://www.riskglossary.com/。 - Justin R.
1
是的,我知道我想要技术分析,但我的问题是如何编写这些模式的程序?当然,我可以自己制作算法,但由于我没有经验,它可能不是高效的。 - user126284

3

节省时间,使用像NinjaTraderWealth-Lab这样的程序。它们都是出色的技术分析平台,接受C#作为编程语言来定义您的交易规则。您可以想象到的每种可能的技术指标都已经包括在内,如果您需要更高级的内容,您也可以编写自己的指标。为了使您的分析具有统计学意义,您还需要大量的数据。对于美国股票和ETF,请访问www.Kibot.com。我们使用他们的数据有很好的经验。


3

首先,您需要扎实的数学基础:一般的统计学、相关分析、线性代数......如果您真的想深入了解,请查看尺寸转换。然后,您需要扎实的数据挖掘基础。如果您想将严格的数字数据与新闻标题和其他事件联系起来,则关联分析可能有用。

有一件事可以确定,您很可能找不到预先消化的算法,让您致富......

我认识一个人正在尝试这样做......他有些成功(意味着他没有亏钱并且赚了一点),并制作自己的算法......我应该提到他拥有精算科学博士学位。

以下是更多链接......希望它们能对您有所帮助。

祝你好运


3

请查看investopedia上的算法,以及FM Labs提供了很多技术分析指标的公式。


谢谢你的回答,但我更感兴趣的是如何编程和查找模式,我猜这不仅仅是实现技术指标公式。 - user126284
好的,那么这里是我写的一篇文章,它采用了技术分析公式并通过编写代码进行了实现: http://www.iwebthereforeiam.com/iwebthereforeiam/2008/05/money-flow-index-and-other-tec.html - hughdbrown

2

美丽的 :) (不,它不需要15个字符) - Rook

1
我会从一份好的时间序列分析入手,然后逐步深入。如果你对寻找模式感兴趣,那么有趣的术语是“1D模式匹配”。但是为此,您需要良好的特征,因此请搜索{{link3:“时间序列中的特征提取”}}。记住GiGo。因此,在开始之前,请确保您拥有足够长的无误差股票价格数据。

0

我可以建议您阅读一些关于卡尔曼滤波器的内容吗?维基百科是一个很好的开始: http://en.wikipedia.org/wiki/Kalman_filter/

这应该会给您一些背景,了解如何估计和预测某个系统的变量(在这种情况下是股票市场)。

但是,股票市场的行为并不是非常良好,因此您可能需要熟悉KF的非线性扩展。 是的,维基百科条目有关于扩展KF和无损KF的部分,但这里有一个更深入的介绍: http://cslu.cse.ogi.edu/nsel/ukf/

我想,如果以前有人尝试过这个,那么它就会成为新闻中的头条,并且非常出名。 因此,您可能真的发现了什么。


0

使用TradeStation

这是一个平台,让你编写软件来分析历史股票数据。你甚至可以编写程序来交易股票,并且可以在历史数据上进行回测,或者实时运行整个交易日。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接