用于非官方Avanza API的Python库
avanza-api的Python项目详细描述
阿凡扎
用于非官方Avanza API的Python库。此库基于现有的JavaScript库Avanza。在
请注意,这只是一个概念的证明,因此不打算被任何人使用。在
值得注意的是,我与Avanza Bank AB没有任何关联。底层API可以在任何时间点在没有警告的情况下关闭或更改。在
安装
pipinstallavanza-api
得到一个完整的秘密
注意:自2018年5月起,登录需要双因素身份验证。
以下是获取TOTP秘密的步骤:
- 转到Mina Sidor>;Profil>;Sajtinställningar>;Tvåfaktorsinglogning,然后单击“ïteraktivera”。(仅在已设置双因素身份验证的情况下执行此步骤。)
- 在下一个屏幕上单击“Aktivera”。在
- 选择“安南应用程序för tvåfaktorsinlogning”。在
- 单击“Kan du inte scanna QR koden?”来揭露你的秘密。在
- 使用下面的python代码生成TOTP代码,并将TOTP代码粘贴到下面找到TOTP密码的字段中。在
- 完成了!从现在开始,你要做的就是在构造函数中提供你的秘密,如下面的例子所示。在
生成TOTP代码:
^{pr2}$示例
验证和获取帐户概述:
fromavanzaimportAvanzaavanza=Avanza({'username':'MY_USERNAME','password':'MY_PASSWORD','totpSecret':'MY_TOTP_SECRET'})overview=avanza.get_overview()
获取某个帐户的信息
fromavanzaimportAvanza,TimePeriodavanza=Avanza({'username':'MY_USERNAME','password':'MY_PASSWORD','totpSecret':'MY_TOTP_SECRET'})accountId='XXXXXXX'report=avanza.get_insights_report(accountId,TimePeriod.ONE_WEEK)
下订单
fromavanzaimportAvanza,OrderTypeavanza=Avanza({'username':'MY_USERNAME','password':'MY_PASSWORD','totpSecret':'MY_TOTP_SECRET'})account_id='XXXXXXX'order_book_id='XXXXXX'buy_price=13.37valid_until=date.fromisoformat('2011-11-11')volume=42result=avanza.place_order(account_id,order_book_id,OrderType.BUY,buy_price,valid_until,volume)
订阅实时数据
importasynciofromavanzaimportAvanza,ChannelTypedefcallback(data):# Do something with the quotes data hereprint(data)asyncdefsubscribe_to_channel(avanza:Avanza):awaitavanza.subscribe_to_id(ChannelType.QUOTES,"19002",# OMX Stockholm 30callback)defmain():avanza=Avanza({'username':'MY_USERNAME','password':'MY_PASSWORD','totpSecret':'MY_TOTP_SECRET'})asyncio.get_event_loop().run_until_complete(subscribe_to_channel(avanza))asyncio.get_event_loop().run_forever()if__name__=="__main__":main()
许可证
麻省理工学院执照。有关详细信息,请参见许可证文件。在
职责
本软件的作者对任何间接损害(可预见或不可预见)概不负责,如有必要,数据的丢失或更改或欺诈性访问,病毒或任何其他有害元素的意外传播,利润或机会的损失,更换商品和服务的费用或第三方的态度和行为。在
- 项目
标签: