Python – 将逐点数据转换成OHLC(开盘-高点-收盘)数据

Python – 将逐点数据转换成OHLC(开盘-高点-收盘)数据

在这篇文章中,我们将探讨Python pandas包的一个特性。我们经常发现关于将逐点数据转换为OHLC(开盘价、最高价、最低价和收盘价)的询问。使用pandas包,这可以用最小的努力完成。OHLC数据在一个时间单位内(1天、1小时等)被用来进行价格运动的技术分析。

第一个步骤。
第一步与收集样本数据有关。让我们逐一导入tick样本数据。我们将使用从Pepperstone(一个外部来源)下载的澳元/日元(AUD/JPY)货币对的1月数据,用于本教程。
Python - 将逐点数据转换成OHLC(开盘-高点-收盘)数据
Pepperstone提供特定货币对的免费历史跳动数据。csv文件包含了顶级的、逐点的市场数据,以及分点差的毫秒级细节。对于我们的研究来说,这些数据是绰绰有余的。
Python的步骤。
正如你所看到的,数据没有标头。我们将包括页眉,并以编程方式完成必要的任务。

代码:导入pandas包

# importing libraries
import pandas as pd

代码:加载数据

data_frame = pd.read_csv(
    'AUDJPY-2016-01.csv', names=['Symbol', 'Date_Time', 'Bid', 'Ask'],
                                       index_col=1, parse_dates=True)
data_frame.head()

数据以’AUDJPY-2016-01.csv’的名字存储在工作目录中。正如我们之前看到的,数据没有头。然后我们将在导入数据时为其添加一个头。因此,导入和添加头文件发生在同一行代码中。
使用了pandas的数据框架的重采样属性。重新取样功能允许对标准的时间序列数据进行重新检查。对于15分钟,我们必须对数据进行重新取样,并将其划分为OHLC格式。如果你想对更小的时间范围(毫秒/微秒/秒)等进行重采样,使用L表示毫秒,U表示微秒,S表示秒。

data_ask = data_frame['Ask'].resample('15Min').ohlc()
data_bid = data_frame['Bid'].resample('15Min').ohlc()

代码:’Ask’数据框架

data_ask.head()

Python - 将逐点数据转换成OHLC(开盘-高点-收盘)数据
代码。’投标’数据框架

data_bid.head()

Python - 将逐点数据转换成OHLC(开盘-高点-收盘)数据

代码:合并 “卖出 “和 “买入 “的数据框架

data_ask_bid = pd.concat(
    [data_ask, data_bid], axis=1, 
    keys=['Ask', 'Bid'])

Conclusion:
这是一个使用TBT数据计算OHLC的快速方法。这可以适用于各种资产,基于OHLC数据,人们可以设计各种策略。我们还可以绘制基于OHLC的地图,并生成交易信号。使用这些数据的另一种方式是在python中建立技术指标,或计算风险调整后的回报。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程