用于非官方Avanza API的Python库

avanza-api的Python项目详细描述


阿凡扎

用于非官方Avanza API的Python库。此库基于现有的JavaScript库Avanza。在

请注意,这只是一个概念的证明,因此不打算被任何人使用。在

值得注意的是,我与Avanza Bank AB没有任何关联。底层API可以在任何时间点在没有警告的情况下关闭或更改。在

安装

pipinstallavanza-api

得到一个完整的秘密

注意:自2018年5月起,登录需要双因素身份验证。

以下是获取TOTP秘密的步骤:

  1. 转到Mina Sidor>;Profil>;Sajtinställningar>;Tvåfaktorsinglogning,然后单击“ïteraktivera”。(仅在已设置双因素身份验证的情况下执行此步骤。
  2. 在下一个屏幕上单击“Aktivera”。在
  3. 选择“安南应用程序för tvåfaktorsinlogning”。在
  4. 单击“Kan du inte scanna QR koden?”来揭露你的秘密。在
  5. 使用下面的python代码生成TOTP代码,并将TOTP代码粘贴到下面找到TOTP密码的字段中。在
  6. 完成了!从现在开始,你要做的就是在构造函数中提供你的秘密,如下面的例子所示。在

生成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()

许可证

麻省理工学院执照。有关详细信息,请参见许可证文件。在

职责

本软件的作者对任何间接损害(可预见或不可预见)概不负责,如有必要,数据的丢失或更改或欺诈性访问,病毒或任何其他有害元素的意外传播,利润或机会的损失,更换商品和服务的费用或第三方的态度和行为。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Android:如何写入特定行,Java   Java中从欧元货币字符串中删除空格的数字   Java非均匀多维数组   解密AES时出现java空指针异常   java ConcurrentModificationException尝试移除列表上的所有内容时(非迭代)   Java数学库计算日志   java ISO8601,使用Jackson以毫秒表示json   避免副作用的java最佳实践   java获取JMeterException:调用bsh方法时出错:未定义参数:saa。使用beanshell取样器时   使用javascript将会话从一个jsp页面传输到另一个jsp页面   java在列表中组合相邻元素   java多行JTextPane   java Hibernate映射文件连接两个表而不定义关系?   如何使用Ajax、Java和Spring框架将文件从网页上传到Google云存储   多线程多线程Java中producerconsumer代码的多线程没有提供正确的输出?