通过Alpha Venture API(替代雅虎财经API)的实时金融数据

sgenzersgenzer 12管理员,版主,员工,RapidMiner认证分析师,社区管理员,会员,大学教授,PM版主职位:2959年社区经理
编辑2018年12月 知识库

因此,我相信我终于找到了一个不错的替代旧的雅虎金融API,这样您就可以将金融市场数据直接带入RapidMiner进行数据分析。一家名为Alpha Vantage的公司开发了一种API,似乎可以执行相同的功能。

你可以在他们的网站上获得一个免费的API密钥,你可以直接在RapidMiner 7.6中使用下面的过程:

<?xml version = " 1.0 " encoding = " utf - 8 " ?> <过程version = " 7.6.000”>
> <上下文
<输入/ >
<输出/ >
<宏/ >
> < /上下文

<过程扩展= " true " >

<列出关键= "宏" >
<参数键= " apiKey " value = " your-KEY-here " / >
<参数键= " tickerSymbol " value = " apple " / >
<参数键= "函数" value = " TIME_SERIES_DAILY " / >
<参数键= " outputSize " value = "压缩" / >
< / >列表
< /操作符>

<列出关键= " attribute_value " / >
<列出关键= " set_additional_roles " / >
< /操作符>


<列出关键= " string_machting_queries " / >
<列出关键= " regular_expression_queries " >
<参数键= " foo " value = " * " / >
< / >列表
<列出关键= " regular_region_queries " / >
<列出关键= " xpath_queries " / >
<列出关键= "名称" / >
<列出关键= " index_queries " / >
<列出关键= " jsonpath_queries " / >
<参数键= " url " value = "https://www.alphavantage.co/query?function=%{函数},outputsize = % {outputsize},象征= % {tickerSymbol}, apikey = % {apikey} " / >
<列出关键= " request_properties " / >
< /操作符>

<过程扩展= " true " >

<参数键= " select_attributes_and_weights " value = " true " / >
<列出关键= " specify_weights " >
<参数键= " foo " value = " 1.0 " / >
< / >列表
< /操作符>
.

<参数键= " attribute_filter_type " value = " regular_expression " / >
<参数键= " regular_expression " value = "时间。* " / >
< /操作符>

<列出关键= " attribute_name " >
<参数键= value值= "时间。* " / >
< / >列表
<参数键= " index_attribute " value = "日期" / >
<参数键= " create_nominal_index " value = " true " / >
< /操作符>

<参数键= " attribute_filter_type " value = "单一" / >
<参数键= "属性" value = "日期" / >
<参数键=“split_pattern”值= " []\ s " / >
< /操作符>

<参数键= " attribute_filter_type " value = "单一" / >
<参数键= "属性" value = " date_1 " / >
.
< /操作符>

<参数键= " attribute_filter_type " value = "单一" / >
<参数键= "属性" value = " date_1 " / >
<参数键=“replace_what”值= "[。][0 - 9]" / >
< /操作符>

<参数键= " group_attribute " value = " date_1 " / >
<参数键= " index_attribute " value = " date_2 " / >
<参数键= " consider_weights " value = " false " / >
< /操作符>

<参数键= " replace_what " value = "[_]值" / >
< /操作符>

<参数键=“replace_what”值= "元数据(。)[0 - 9][]\ s " / >
< /操作符>

<参数键= " old_name " value = " date_1 " / >
<参数键= " new_name " value = "日期" / >
<列出关键= " rename_additional_attributes " / >
< /操作符>

<参数键= " attribute_name " value = "日期" / >
<参数键= " date_format " value = " yyyy-MM-dd " / >
< /操作符>

<参数键= " attribute_name " value = "日期" / >
<参数键= " target_role " value = " id " / >
<列出关键= " set_additional_roles " / >
< /操作符>






.


.

/> .
/> .



.
> < /过程
clean up
< /操作符>
.





Alpha Vantage API(alphavantage.co)<br>作者:Scott Genzer<br>已发布:‎‎http://community.www.kenlockard.com/t5/RapidMiner-Studio-Knowledge-Base/Real-Time-Financial-Data-via-Alpha-Venture-API-alternative-to/ta-p/41119<br><br>Note:对于下面的每个进程,在运行之前在Set宏操作符中输入Alpha Vantage API密钥、代码符号和其他请求元素(参见https://www.alphavantage.co/documentation/) & lt; br> & lt; br> > < /描述
> < /过程
< /操作符>
> < /过程

欢迎您的反馈。享受吧!

斯科特

Telcontar120 CraigBostonUSA hughesfleming68 luc_bartkowski Jasmine_ Rapidstudent
«1

评论

  • Telcontar120Telcontar120 版主,RapidMiner认证分析师,RapidMiner认证专家,会员职位:1635年独角兽

    太棒了。效果非常好!

    布莱恩·T。
    Lindon合资企业
    乐鱼体育官方app来自认证RapidMiner专家的数据科学咨询
    Jasmine_
  • luc_bartkowskiluc_bartkowski 成员职位:46Maven

    你好,斯科特,

    我将您的XML实现为子进程和构建块。但我不理解这个过程的结果集。

    请看下面的图片。来自Alpha Vantage流程的每个示例都包含不同的属性。你能解释一下原因吗?

    TSLA3.jpeg对于任何后续的操作,Alpha Vantage过程交付的示例集只有3个属性

    TSLA2.jpeg写入CSV的Alpha Vantage结果示例集提供了一个完全不同的示例集。

    TSLA1.jpegAlpha Vantage示例集连接到一个流程输出端口。

    我不明白你的意思。这里发生了什么?

    为什么Alpha Vantage流程的结果示例集显示了3种格式依赖于后续操作符的类型?

    最好的问候,

    卢克

  • sgenzersgenzer 12管理员,版主,员工,RapidMiner认证分析师,社区管理员,会员,大学教授,PM版主职位:2959年社区经理

    你好卢克,

    我认为这里发生的事情是元数据没有被推进。这是典型的通过Webservice丰富数据,因为RapidMiner不知道它的方式是什么属性。它只选取我随后手动重命名的对象:Date、date_3和value。别担心——你所有的属性都在那里,你可以“选择”你想要的多或少。只是您可能需要手动添加它们,而不是在Select Attributes中使用漂亮的箭头。

    屏幕截图2017-10-08:9.41.11 PM.png

    斯科特

  • luc_bartkowskiluc_bartkowski 成员职位:46Maven

    谢谢斯科特?

  • luc_bartkowskiluc_bartkowski 成员职位:46Maven

    对于这个构建模块的其他用户:

    要获得TIME_SERIES_INTRADAY示例集,不要忘记在编译url字符串的“rich Data by Webservice(3)”操作符中调整url REGEX。对于TIME_SERIES_INTRADAY示例,必须在url中设置所需的“interval”参数和相关值。为了完成这个任务,添加一个额外的宏“requiredInterval”,像这样:

    requiredInterval.jpeg添加requiredInterval宏

    并在“充实数据由Webservice(3)”操作符中调整url的REGEX,像这样:

    https://www.alphavantage.co/query?function=%{函数}&outputsize = % {outputSize} & symbol = % {tickerSymbol} apiKey = % {apiKey间隔= % {requiredInterval}

  • websiteguywebsiteguy 成员职位:24Maven

    @luc_bartkowski

    嗨,卢克,我是个新手,你能告诉我吗发布一个样本当应用INTRADAY时,如何调整这个过程的日期时间元素

    我已根据指定的流程失败进行了更改。感谢任何帮助和建议。把李

    fail.png失败

    fail.png 0 b
  • luc_bartkowskiluc_bartkowski 成员职位:46Maven

    嗨,李,
    很抱歉我回复晚了。
    我很抱歉地说,但我没有继续使用的过程@sgenzer

    我用MySQL创建了一个数据库,记录每天和当天的股票价格。

    我写了一个python程序,不断更新这个数据库。

    从RapidMiner访问股价数据就相当于从这个数据库访问表/视图。

  • websiteguywebsiteguy 成员职位:24Maven

    @luc_bartkowski

    嗨,卢克,很抱歉我这么晚才回复你:)

    你有可以用的日内模型吗: /...

    我让它每天工作,但似乎可以让它运行在日内,价格,可能是格式的日期idk。

    把李

  • luc_bartkowskiluc_bartkowski 成员职位:46Maven

    嗨,李,

    Alpha优势API的事情是Intraday返回一个额外的属性,间隔,例如5分钟,10分钟,15分钟等。@sgenzer的RM进程必须扩展以支持这个额外的参数。

    我没有RM日内模型。我发现AV并不总是返回正确的答案,有时我收到一个API错误而不是一个结果集。在我的python脚本中,我包含了一个重试函数,如果收到这样的响应。其次:我想把数据存储在数据库中。这需要CRUD功能,我也包括在我的python脚本中。对不起,我不能帮助你回应你的请求。

  • 1032956310329563 成员职位:1贡献我

    你好,

    是否有可能在这方面得到一步一步的教程?

    亲切的问候,

    marek

  • sgenzersgenzer 12管理员,版主,员工,RapidMiner认证分析师,社区管理员,会员,大学教授,PM版主职位:2959年社区经理

    h@10329563-所以现在比我写那篇文章的时候更容易了。:)只需要做以下几点:

    1.去α有利的网站并获得API密钥。

    2.转到Alpha Vantage流程,它已经在社区存储库中点击此链接

    3.遵循以下步骤:

    界面截图2018-10-22 10:58.46 AM.png

    界面截图2018-10-22 10:59.56 AM.png

    单击“Apply”并运行流程。完成了。

    屏幕截图2018-10-22上午11.03.59。png

    RapidMining快乐!

    斯科特

  • cleisnercleisner 成员职位:4贡献我

    嗨,这里有人访问过Accurint (https://secure.accurint.com/app/bps/main通过RapidMiner)吗?对于人物搜索和许多其他公共记录来说,这是最好的收费网站。任何提示都将非常感谢,因为我只是一个初学者在这方面。

  • sgenzersgenzer 12管理员,版主,员工,RapidMiner认证分析师,社区管理员,会员,大学教授,PM版主职位:2959年社区经理

    @cleisner-不,据我所知没有。如果您是订阅者,很高兴合作使它连接。

    斯科特

  • cleisnercleisner 成员职位:4贡献我

    你好,@sgenzer.看起来我不会再使用Accurint了。事实证明,这是一个高度管制的数据源,我不能按计划使用它。

  • bjoernbalubjoernbalu 成员职位:3.贡献我

    你好,斯科特,

    感谢您上传这个过程。我仍然有一个问题,以获得可用的属性。

    例如,我想计算接近数据的移动平均值。我无法选择数据。

    谢谢你的帮助

    比约恩

  • sgenzersgenzer 12管理员,版主,员工,RapidMiner认证分析师,社区管理员,会员,大学教授,PM版主职位:2959年社区经理

    你好@bjoernbalu你能发布你的XML,让我知道你在做什么吗?

  • bjoernbalubjoernbalu 成员职位:3.贡献我

    你好@sgenzer

    这是XML文件。API被移除。

    <?xml version = " 1.0 " encoding = " utf - 8 " ?> <过程version = " 9.0.003”>
    > <上下文
    <输入/ >
    <输出/ >
    <宏/ >
    > < /上下文

    <过程扩展= " true " >

    <列出关键= "宏" >
    <参数键= " apiKey " value = " API " / >
    <参数键= " tickerSymbol " value = " apple " / >
    <参数键= "函数" value = " TIME_SERIES_DAILY_ADJUSTED " / >
    <参数键= " outputSize " value = "压缩" / >
    <参数键=“数据类型”值= " csv " / >
    < / >列表
    你需要在运行前将你的ALPHA VANTAGE API键放在第一个宏中!> < /描述
    < /操作符>

    <列出关键= " attribute_value " / >
    <列出关键= " set_additional_roles " / >

    < /操作符>


    <列出关键= " string_machting_queries " / >
    <列出关键= " regular_expression_queries " >
    <参数键= " foo " value = " * " / >
    < / >列表
    <列出关键= " regular_region_queries " / >
    <列出关键= " xpath_queries " / >
    <列出关键= "名称" / >
    <列出关键= " index_queries " / >
    <列出关键= " jsonpath_queries " / >
    <参数键= " url " value = "https://www.alphavantage.co/query?function=%{函数},amp; outputsize = % {outputsize}, amp;符号= % {tickerSymbol}, amp; apikey = % {apikey}" / >
    <列出关键= " request_properties " / >
    Alpha Vantage API GET request . width="126
    < /操作符>

    <过程扩展= " true " >

    <参数键= " select_attributes_and_weights " value = " true " / >
    <列出关键= " specify_weights " >
    <参数键= " foo " value = " 1.0 " / >
    < / >列表
    < /操作符>
    .

    <参数键= " attribute_filter_type " value = " regular_expression " / >
    <参数键= " regular_expression " value = "时间。* " / >
    < /操作符>

    <列出关键= " attribute_name " >
    <参数键= value值= "时间。* " / >
    < / >列表
    <参数键= " index_attribute " value = "日期" / >
    <参数键= " create_nominal_index " value = " true " / >
    < /操作符>

    <参数键= " attribute_filter_type " value = "单一" / >
    <参数键= "属性" value = "日期" / >
    <参数键=“split_pattern”值= " []\ s " / >
    < /操作符>
    .
    <参数键= "属性" value = " date_1 " / >
    .
    < /操作符>

    <参数键= " attribute_filter_type " value = "单一" / >
    <参数键= "属性" value = " date_1 " / >
    <参数键=“replace_what”值= "[。][0 - 9]" / >
    < /操作符>

    <参数键= " group_attribute " value = " date_1 " / >
    <参数键= " index_attribute " value = " date_2 " / >
    <参数键= " consider_weights " value = " false " / >
    < /操作符>

    <参数键= " replace_what " value = "[_]值" / >
    < /操作符>

    <参数键=“replace_what”值= "元数据(。)[0 - 9][]\ s " / >
    < /操作符>

    <参数键= " old_name " value = " date_1 " / >
    <参数键= " new_name " value = "日期" / >
    <列出关键= " rename_additional_attributes " / >
    < /操作符>

    <参数键= " attribute_name " value = "日期" / >
    <参数键= " date_format " value = " yyyy-MM-dd " / >
    < /操作符>
    . class="set_role" compatibility="9.0.003
    <参数键= " attribute_name " value = "日期" / >
    <参数键= " target_role " value = " id " / >
    <列出关键= " set_additional_roles " / >
    < /操作符>

    <参数键= "属性" value = " |打开|关闭| |低高”/ >
    < /操作符>


    <参数键= " attribute_name " value = "关闭" / >
    <参数键= " window_width " value = " 100 " / >
    < /操作符>






    .


    .

    /> .
    /> .






    .
    .
    > < /过程
    JSON解析和更多后处理
    < /操作符>
    .





    > < /过程
    < /操作符>
    > < /过程
  • sgenzersgenzer 12管理员,版主,员工,RapidMiner认证分析师,社区管理员,会员,大学教授,PM版主职位:2959年社区经理

    嗯不知道……您可以在乘法运算符(放置断点)处显示ExampleSet是什么样子的吗?

  • bjoernbalubjoernbalu 成员职位:3.贡献我

    你好,

    仍然有13个常规属性,但是列表中只有3个属性(value、date_3、Date)可以使用。

    有趣的是,当我在存储库中存储数据时,一切都正常工作。检索后的属性可用在移动平均算子中。我不明白。

    谢谢你的帮助和你的教程。

    比约恩

  • sgenzersgenzer 12管理员,版主,员工,RapidMiner认证分析师,社区管理员,会员,大学教授,PM版主职位:2959年社区经理

    是的,所以RapidMiner进程由于各种原因丢失元数据是很常见的。你可以直接在参数框中输入属性的名称,即使它没有在下拉菜单中显示出来:

    屏幕截图2018-10-29:4.40.46 PM.png

  • PhilipDPhilipD 成员职位:2贡献我

    嗨,谢谢似乎很有用。

    1) Alpha Vantage API使用其他Web扩展;Web挖掘和文本处理,准备好安装它们。Alpha Vantage API显示为红色,它足够直接地点击警告消息并遵循步骤。

    2)当我现在运行它,只有日期列出现。没有价格或仪器信息。看不到任何明显的东西,将尝试用断点检查数据..

    再次感谢

    菲利普

  • PhilipDPhilipD 成员职位:2贡献我

    嗨,看起来属性无法进行选择。可能是转向的结果?我对这方面的了解还不够,还不能判断。数据肯定在那里,直到Set Role(连接Set Role exa到Out,结果恰恰显示了我所期望的)

    我想知道我是否需要选择属性。

    等我分析数据的时候再看。

    谢谢你!

  • sgenzersgenzer 12管理员,版主,员工,RapidMiner认证分析师,社区管理员,会员,大学教授,PM版主职位:2959年社区经理

    谢谢@PhilipD.如果需要对模板进行更改,请随时通知我。


    斯科特

    abevensee
  • abevenseeabevensee 成员职位:4贡献我
    @sgenzer看到关于丢失元数据的评论,但我有一个问题,当通过RMServer上的web服务使用Get Pages操作符失败时。过程在工作室完美的工作,但我希望终端用户能够进入到一个web服务的报价,并有它运行,获得定价数据。你以前见过这个吗?如有任何意见,将不胜感激。

    Jasmine_
  • sgenzersgenzer 12管理员,版主,员工,RapidMiner认证分析师,社区管理员,会员,大学教授,PM版主职位:2959年社区经理
    2020年2月编辑
    @abevensee-这很可能是由于没有在您的工作代理上安装Web Mining扩展。

    斯科特
    Jasmine_ abevensee
  • SkyTraderSkyTrader 成员职位:88因素二世
    2020年6月编辑

    大家好,我是机器学习和算法交易的新手。leyu体育是真的吗我很抱歉这里有这么多问题,但我不知道准备与ML一起使用的财务数据会有多复杂。

    使用Excel文件和RM:

    我假设,如果我想更新Excel并从雅虎财经获得更多数据(通过运行Web查询),那么我将不得不导入一个更新版本的Excel文件到RM,并丢失我已经完成的RM工作,例如,一个只有到2020年5月数据的旧Excel文件,而不是拥有到目前(2020年10月6日)的最新数据?

    如果实时数据直接被拉入RM,而不是使用Excel,似乎会更容易。所以我读了斯科特上面的帖子:

    “2。通过点击这个链接进入Alpha Vantage Process,它已经在社区资源库中了”(我不得不引用它,因为没有url可以参考每个帖子?)

    但是链接没有任何作用,第一张图片我不确定如何在RM中实现/得到它?

    当我手动搜索时,在市场中也没有Alpha Vantage过程?

    另外,你如何在Alpha Vantage网站上引入/调用一些财务指标,使它们与开盘/高/低/收盘/成交量数据并列?用我的Excel解决方案,我将有O/H/L/C/V数据加上每天的指标值。

    另外,你知道为什么这个网站在Chrome中会死机/非常慢吗?(相比之下,我不得不在Firefox中完成这篇文章)?

    非常感谢。





  • SkyTraderSkyTrader 成员职位:88因素二世
    2020年6月编辑
    你好,
    我只是想知道这些论坛有多定期被监控,或者如果我写一个新的帖子会更好吗?
    谢谢。
  • sgenzersgenzer 12管理员,版主,员工,RapidMiner认证分析师,社区管理员,会员,大学教授,PM版主职位:2959年社区经理

    你好@SkyTrader这些论坛一直受到监控,但是否有人对某个特定问题有答案是非常可变的。

    至于这篇文章,说实话,我已经很久没有使用过AlphaVantage了(自从我在2017年写了那篇文章之后差不多了)。我知道在这个社区里有一群RM用户是处理金融数据的……我的朋友@hughesfleming68我马上就想到了。也许他有什么想法?

    斯科特

    SkyTrader
  • Telcontar120Telcontar120 版主,RapidMiner认证分析师,RapidMiner认证专家,会员职位:1635年独角兽
    由于您没有提供过程或示例数据,并且问了许多问题(其中一些很复杂),所以我将提供一些一般性的评论。
    RapidMiner进程被设计成能够非常容易地运行和重新运行。一旦您创建了一个从底层源接收数据并执行额外ETL的流程,那么当需要处理更多数据时,重新运行该流程就非常简单了。只要底层数据结构没有发生任何变化,简单地增加更多的行就不会妨碍RapidMiner高效地完成工作。因此,丢失旧工作簿上的工作通常不是一个问题,因为可以很容易地重新创建该工作
    布莱恩·T。
    Lindon合资企业
    乐鱼体育官方app来自认证RapidMiner专家的数据科学咨询
    SkyTrader
  • hughesfleming68hughesfleming68 成员职位:323独角兽
    我从未使用过Alpha Vantage,但我使用Quandl。大多数这些服务都有开发良好的python工具。在execute python操作符中使用这些函数是获取数据的最快方法。
    SkyTrader
登录注册置评。