2.4 Binance_interface APP 现货行情-历史K线

2024-02-10 14:12

本文主要是介绍2.4 Binance_interface APP 现货行情-历史K线,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Binance_interface APP 现货行情-历史K线

  • Github地址
  • PyTed量化交易研究院

目录

  • Binance_interface APP 现货行情-历史K线
    • 1. APP 现货行情-历史K线函数总览
    • 2. 模型实例化
    • 3. 获取产品的历史K线数据 get_history_candle
    • 4. 获取产品指定数量的最新历史K线数据 get_history_candle_latest
    • 5. 获取产品指定日期的历史K线数据 get_history_candle_by_date
    • 6. 获取历史K线数据中最新的毫秒时间戳 get_history_candle_latest_ts
    • 7. 更新产品历史K线数据到指定时间 update_history_candle
    • 8. 将Binance的candle转化为DataFrame candle_to_df

1. APP 现货行情-历史K线函数总览

方法解释
get_history_candle获取产品的历史K线数据
get_history_candle_latest获取产品指定数量的最新历史K线数据
get_history_candle_by_date获取产品指定日期的历史K线数据
get_history_candle_latest_ts获取历史K线数据中最新的毫秒时间戳
update_history_candle更新产品历史K线数据到指定时间
candle_to_df将Binance的candle转化为DataFrame

2. 模型实例化

from binance_interface.app import BinanceSPOT
from binance_interface.app.utils import eprint
import paux.date
# 转发:需搭建转发服务器,可参考:https://github.com/pyted/binance_resender
proxy_host = None
key = 'xxxx'
secret = 'xxxx'binanceSPOT = BinanceSPOT(key=key,secret=secret,proxy_host=proxy_host,timezone='Asia/Shanghai',
)
market = binanceSPOT.market

3. 获取产品的历史K线数据 get_history_candle

candle_result = market.get_history_candle(symbol='BTCUSDT',start='2023-01-01 00:00:00',end='2023-01-01 23:59:00',bar='1m',
)
eprint(candle_result)

输出:

>>> {'code': 200,
>>>  'data': array([[1.67250240e+12, 1.65901000e+04, 1.65969700e+04, ...,
>>>         7.80654600e+01, 1.29542721e+06, 0.00000000e+00],
>>>        [1.67250246e+12, 1.65960900e+04, 1.65973100e+04, ...,
>>>         4.77967500e+01, 7.93208688e+05, 0.00000000e+00],
>>>        [1.67250252e+12, 1.65965800e+04, 1.65977700e+04, ...,
>>>         5.80070800e+01, 9.62726268e+05, 0.00000000e+00],
>>>        ...,
>>>        [1.67258862e+12, 1.65549300e+04, 1.65585000e+04, ...,
>>>         4.06363700e+01, 6.72814001e+05, 0.00000000e+00],
>>>        [1.67258868e+12, 1.65578200e+04, 1.65599900e+04, ...,
>>>         4.00219800e+01, 6.62708243e+05, 0.00000000e+00],
>>>        [1.67258874e+12, 1.65589800e+04, 1.65597700e+04, ...,
>>>         4.60841800e+01, 7.63086276e+05, 0.00000000e+00]]),
>>>  'msg': ''}

4. 获取产品指定数量的最新历史K线数据 get_history_candle_latest

candle_result = market.get_history_candle_latest(symbol='BTCUSDT',length=600,bar='1m',
)
eprint(candle_result)

输出:

>>> {'code': 200,
>>>  'data': array([[1.70605188e+12, 3.95820100e+04, 3.95983100e+04, ...,
>>>         1.11380100e+01, 4.40831314e+05, 0.00000000e+00],
>>>        [1.70605194e+12, 3.95983100e+04, 3.96278200e+04, ...,
>>>         1.59375200e+01, 6.31265989e+05, 0.00000000e+00],
>>>        [1.70605200e+12, 3.96235500e+04, 3.96235500e+04, ...,
>>>         3.86567000e+00, 1.53123466e+05, 0.00000000e+00],
>>>        ...,
>>>        [1.70608770e+12, 4.01000000e+04, 4.01049500e+04, ...,
>>>         8.39811000e+00, 3.36733060e+05, 0.00000000e+00],
>>>        [1.70608776e+12, 4.00526100e+04, 4.00958300e+04, ...,
>>>         1.75785300e+01, 7.04393469e+05, 0.00000000e+00],
>>>        [1.70608782e+12, 4.00710000e+04, 4.00958300e+04, ...,
>>>         1.23730500e+01, 4.95945541e+05, 0.00000000e+00]]),
>>>  'msg': ''}

5. 获取产品指定日期的历史K线数据 get_history_candle_by_date

candle_result = market.get_history_candle_by_date(symbol='BTCUSDT',date='2023-01-01',  # 默认时区为美国时区bar='1m',
)
eprint(candle_result)

输出:

>>> {'code': 200,
>>>  'data': array([[1.67250240e+12, 1.65901000e+04, 1.65969700e+04, ...,
>>>         7.80654600e+01, 1.29542721e+06, 0.00000000e+00],
>>>        [1.67250246e+12, 1.65960900e+04, 1.65973100e+04, ...,
>>>         4.77967500e+01, 7.93208688e+05, 0.00000000e+00],
>>>        [1.67250252e+12, 1.65965800e+04, 1.65977700e+04, ...,
>>>         5.80070800e+01, 9.62726268e+05, 0.00000000e+00],
>>>        ...,
>>>        [1.67258862e+12, 1.65549300e+04, 1.65585000e+04, ...,
>>>         4.06363700e+01, 6.72814001e+05, 0.00000000e+00],
>>>        [1.67258868e+12, 1.65578200e+04, 1.65599900e+04, ...,
>>>         4.00219800e+01, 6.62708243e+05, 0.00000000e+00],
>>>        [1.67258874e+12, 1.65589800e+04, 1.65597700e+04, ...,
>>>         4.60841800e+01, 7.63086276e+05, 0.00000000e+00]]),
>>>  'msg': ''}

6. 获取历史K线数据中最新的毫秒时间戳 get_history_candle_latest_ts

ts_result = market.get_history_candle_latest_ts(bar='1m',
)
eprint(ts_result)

输出:

>>> {'code': 200, 'data': 1706087820000.0, 'msg': ''}

7. 更新产品历史K线数据到指定时间 update_history_candle

# 获取candle1,待更新
candle1 = market.get_history_candle(symbol='BTCUSDT',start='2023-01-01 10:00:00',end='2023-01-02 10:00:00',bar='1m',
)['data']
# 更新candle1到指定日期时间(智能节约权重)
candle_result = market.update_history_candle(candle=candle1,  # 支持candle1为空symbol='BTCUSDT',length=1440,  # 保留数量end='2023-01-02 23:59:00',  # end默认为本地计算机时间戳bar='1m',
)
eprint(candle_result)candle_start = paux.date.to_fmt(candle_result['data'][0, 0],timezone='Asia/Shanghai',
)candle_end = paux.date.to_fmt(candle_result['data'][-1, 0],timezone='Asia/Shanghai',
)candle_length = candle_result['data'].shape[0]print('历史K线时间起点:', candle_start)
print('历史K线时间终点:', candle_end)
print('历史K线时间长度:', candle_length)

输出:

>>> {'code': 200,
>>>  'data': array([[1.67258880e+12, 1.65587300e+04, 1.65610900e+04, ...,
>>>         7.35524600e+01, 1.21800174e+06, 0.00000000e+00],
>>>        [1.67258886e+12, 1.65595700e+04, 1.65653700e+04, ...,
>>>         7.42564800e+01, 1.22986767e+06, 0.00000000e+00],
>>>        [1.67258892e+12, 1.65648400e+04, 1.65846600e+04, ...,
>>>         2.65374950e+02, 4.39791119e+06, 0.00000000e+00],
>>>        ...,
>>>        [1.67267502e+12, 1.67370500e+04, 1.67387700e+04, ...,
>>>         2.54655500e+01, 4.26162346e+05, 0.00000000e+00],
>>>        [1.67267508e+12, 1.67331500e+04, 1.67342900e+04, ...,
>>>         2.68978800e+01, 4.50016189e+05, 0.00000000e+00],
>>>        [1.67267514e+12, 1.67301100e+04, 1.67378900e+04, ...,
>>>         7.75499100e+01, 1.29767302e+06, 0.00000000e+00]]),
>>>  'msg': ''}
>>> 历史K线时间起点: 2023-01-02 00:00:00
>>> 历史K线时间终点: 2023-01-02 23:59:00
>>> 历史K线时间长度: 1440

8. 将Binance的candle转化为DataFrame candle_to_df

candle = candle_result['data']
candle

输出:

>>> array([[1.67258880e+12, 1.65587300e+04, 1.65610900e+04, ...,
>>>         7.35524600e+01, 1.21800174e+06, 0.00000000e+00],
>>>        [1.67258886e+12, 1.65595700e+04, 1.65653700e+04, ...,
>>>         7.42564800e+01, 1.22986767e+06, 0.00000000e+00],
>>>        [1.67258892e+12, 1.65648400e+04, 1.65846600e+04, ...,
>>>         2.65374950e+02, 4.39791119e+06, 0.00000000e+00],
>>>        ...,
>>>        [1.67267502e+12, 1.67370500e+04, 1.67387700e+04, ...,
>>>         2.54655500e+01, 4.26162346e+05, 0.00000000e+00],
>>>        [1.67267508e+12, 1.67331500e+04, 1.67342900e+04, ...,
>>>         2.68978800e+01, 4.50016189e+05, 0.00000000e+00],
>>>        [1.67267514e+12, 1.67301100e+04, 1.67378900e+04, ...,
>>>         7.75499100e+01, 1.29767302e+06, 0.00000000e+00]])
df = market.candle_to_df(candle)
df.head()

输出:

>>> openTs      open      high       low     close     volume  \
>>> 0  2023-01-02 00:00:00  16558.73  16561.09  16558.00  16559.17  139.80668   
>>> 1  2023-01-02 00:01:00  16559.57  16565.37  16558.45  16565.31  156.18004   
>>> 2  2023-01-02 00:02:00  16564.84  16584.66  16563.68  16574.35  448.30474   
>>> 3  2023-01-02 00:03:00  16574.35  16574.52  16565.43  16566.26  196.98567   
>>> 4  2023-01-02 00:04:00  16566.70  16566.70  16562.03  16563.20   96.06997   
>>> 
>>>                closeTs      turnover  tradeNum  buyVolume   buyTurnover  
>>> 0  2023-01-02 00:00:59  2.315116e+06    4247.0   73.55246  1.218002e+06  
>>> 1  2023-01-02 00:01:59  2.586717e+06    3350.0   74.25648  1.229868e+06  
>>> 2  2023-01-02 00:02:59  7.429515e+06    7990.0  265.37495  4.397911e+06  
>>> 3  2023-01-02 00:03:59  3.263886e+06    5183.0  104.42095  1.730175e+06  
>>> 4  2023-01-02 00:04:59  1.591356e+06    2601.0   39.03212  6.465452e+05

这篇关于2.4 Binance_interface APP 现货行情-历史K线的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/697317

相关文章

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

从希腊神话到好莱坞大片,人工智能的七大历史时期值得铭记

本文选自historyextra,机器之心编译出品,参与成员:Angulia、小樱、柒柒、孟婷 你可能听过「技术奇点」,即本世纪某个阶段将出现超级智能,那时,技术将会以人类难以想象的速度飞速发展。同样,黑洞也是一个奇点,在其上任何物理定律都不适用;因此,技术奇点也是超越未来理解范围的一点。 然而,在我们到达那个奇点之前(假设我们能到达),还存在另一个极大的不连续问题,我将它称之

MFC中App,Doc,MainFrame,View各指针的互相获取

纸上得来终觉浅,为了熟悉获取方法,我建了个SDI。 首先说明这四个类的执行顺序是App->Doc->Main->View 另外添加CDialog类获得各个指针的方法。 多文档的获取有点小区别,有时间也总结一下。 //  App void CSDIApp::OnApp() {      //  App      //  Doc     CDocument *pD

ConstraintLayout布局里的一个属性app:layout_constraintDimensionRatio

ConstraintLayout 这是一个约束布局,可以尽可能的减少布局的嵌套。有一个属性特别好用,可以用来动态限制宽或者高app:layout_constraintDimensionRatio 关于app:layout_constraintDimensionRatio参数 app:layout_constraintDimensionRatio=“h,1:1” 表示高度height是动态变化

App Store最低版本要求汇总

1,自此日期起: 2024 年 4 月 29 日 自 2024 年 4 月 29 日起,上传到 App Store Connect 的 App 必须是使用 Xcode 15 为 iOS 17、iPadOS 17、Apple tvOS 17 或 watchOS 10 构建的 App。将 iOS App 提交至 App Store - Apple Developer 2,最低XCode版本 Xcod

鸿蒙自动化发布测试版本app

创建API客户端 API客户端是AppGallery Connect用于管理用户访问AppGallery Connect API的身份凭据,您可以给不同角色创建不同的API客户端,使不同角色可以访问对应权限的AppGallery Connect API。在访问某个API前,必须创建有权访问该API的API客户端。 1.登录AppGallery Connect网站,选择“用户与访问”。选择左侧

Xinstall助力App全渠道统计,参数传递下载提升用户体验!

在移动互联网时代,App已成为我们日常生活中不可或缺的一部分。然而,对于App开发者来说,如何有效地推广和运营自己的应用,却是一个不小的挑战。尤其是在面对众多渠道、复杂的数据统计和用户需求多样化的情况下,如何精准地触达目标用户,提升用户的下载、安装和活跃度,更是考验着每一个运营者的智慧。 今天,我们就来揭秘一个能够帮助App开发者解决这些痛点的神器——Xinstall。作为一家一站式App全渠道

Flask 创建app 时候传入的 static_folder 和 static_url_path参数理解

Flask 在创建app的时候 是用 app = Flask(__name__) 来创建的,不传入 static_folder参数的话 ,默认的静态文件的位置是在 static目录下 我们可以进入 Flask的源码里面查看 ctrl+鼠标左键进入 这是Flask的 __init__源码(后面还有一些,我就选了需要的代码)     def __init__(self,import_

Git Gui 查看分支历史的时候中文显示乱码

如图所示 在Git Gui工具栏上选择-编辑-选项: 选择:Default File Contents Encoding, change为UTF-8 成功: