【问题标题】:How do you store the results of some python code for use in another calculation?你如何存储一些 python 代码的结果以用于另一个计算?
【发布时间】:2021-06-22 02:40:02
【问题描述】:

我是一名日内交易者,对 python 不熟悉,每天都在学习。我写了一个基本的脚本,或者你把它称为一个函数?但是一些基本的 Python 代码每 5 秒重复一次为我从 API 中提取最佳出价/出价数据

我现在希望每 5 秒对来自 API 的数据进行一次滚动平均值,以便我可以将当​​前数据与滚动平均值进行比较

我的问题是我不知道从哪里开始或应该学习什么。任何帮助都会很棒!甚至只是为了给我指明正确的方向。

数据是否需要存储到每 5 秒更新一次的 .csv 文件中?或者这一切都可以在代码中完成吗?

提前感谢您的帮助,代码如下

import time
from binance.client import Client

api_key = "###"
api_secret = "###"

while True:
 client = Client(api_key, api_secret)

 ticker_info = (client.get_ticker(symbol="ETHUSDT"))

 bid_qty = int(float(ticker_info['bidQty']))
 ask_qty = int(float(ticker_info['askQty']))
 bbo_delta = ask_qty-bid_qty
 print("Ask=")
 print(ask_qty)
 print("Bid=")
 print(bid_qty)
 print("Delta=")
 print(bbo_delta)
 print("-")
 time.sleep(5)

【问题讨论】:

    标签: python time-series moving-average algorithmic-trading binance


    【解决方案1】:

    “滚动平均值”是指数分钟、数小时还是数天?您可以通过将值放入 len

    尝试编写一小时滚动平均值的代码,每分钟采样一次。这会让你开始。然后,您可以发布带有特定问题的代码,并逐步实现您的目标。

    【讨论】:

    • Google 堆栈和队列,看看如何 append() 到你的列表中并 pop() 出来。
    • 哇哦!非常感谢 Colin,我要去谷歌搜索你说的一些东西并做一些实验,然后我会带着你说的我想出的代码回到这里。非常感谢你花时间陪伴!感谢您的帮助。
    • 乐于助人。您还可以编写一个小函数来模拟 client.get_ticker() 来帮助您进行实验和调试。您可以使用 random() 返回合理的调试值。
    【解决方案2】:

    实际上,这种类型的查询可能有多种可能性。根据您的解释,我知道,您想要获取每五秒生成的数据。

    因此,如果您使用的是 python,则可以通过美丽的汤抓取数据。

    由于数据每五秒更新一次,经过一段时间后,它可能也很大。因此,在这种情况下,正确存储的数据可能在 csv 或 excel 或数据库中,这对您也有很大帮助。

    只需抓取数据并将数据存储为 csv 格式,或者如果您使用 API,请将其存储在适当的数据框中。

    我的建议是使用 Beautiful Soup (BS4) 并阅读一些文档,然后只需几行代码,将数据存储在 csv 中。

    文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc/

    【讨论】:

    • 您好,感谢您的建议,从某种意义上说,数据实际上已经被“抓取”了,因为它每秒都从 API 实时更新,因此需要漂亮的汤。问题是我无法在代码中计算滚动平均值,因为数据没有存储在任何地方。所以我的问题是我可以以某种方式将数据存储在代码中而不是 csv 吗?...也许不可能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-26
    • 1970-01-01
    • 2016-07-31
    • 1970-01-01
    • 1970-01-01
    • 2014-11-28
    • 1970-01-01
    相关资源
    最近更新 更多