资源加载中... loading...

白嫖优宽量化期货数据

Author: ianzeng123, Created: 2024-10-09 14:15:47, Updated: 2024-10-09 14:16:21

许多同学在寻找期货数据源时常常感到困惑和苦恼。其实,优宽量化是一个很好的解决方案!在优宽量化,大家可以轻松下载全品种期货数据,涵盖不同时间周期(如tick、分钟和日线等等)。这样,无论你是进行策略研究还是回测,优宽量化都能为你提供丰富而高质量的数据支持。

为了让大家更方便地获取数据,以下是一段代码示例,演示如何在优宽量化中下载数据到本地文件。请注意,我们需要在配置参数界面将托管者设置在本地(配置方法请观看:配置方法),这样下载的数据会直接保存在本地。

img

import pandas as pd

def main():
    # 设置合约类型(假设您正在使用兼容的交易所API)
    exchange.SetContractType("rb2501")
    
    # 获取分钟级别的数据记录(PERIOD_M1),也可选择其他周期
    r = exchange.GetRecords(PERIOD_M1)
    
    # 检查数据获取是否成功
    if len(r) > 0:
        # 创建一个空的DataFrame,并指定列名
        df = pd.DataFrame(columns=['Time', 'Open', 'High', 'Low', 'Close', 'Volume', 'OpenInterest'])
        
        # 遍历记录r中的每一个元素,并将其作为新行添加到DataFrame中
        for record in r:
            new_row = {
                'Time': record['Time'],  # 假设时间戳是以毫秒为单位
                'Open': record['Open'],
                'High': record['High'],
                'Low': record['Low'],
                'Close': record['Close'],
                'Volume': record['Volume'],
                'OpenInterest': record['OpenInterest']
            }
            df = df.append(new_row, ignore_index=True)
        
        # 将DataFrame保存为CSV文件到桌面
        df.to_csv('/Users/ianzeng/Desktop/r_data.csv', index=False)
        
        Log("数据已成功保存到CSV文件。")
    else:
        Log("未从交易所获取到数据。")

代码说明:

  1. 导入库: 使用 import pandas as pd 导入 pandas 库,以便后续处理数据。

  2. 设置合约类型: 通过 exchange.SetContractType("rb2501") 设置要获取的合约类型。

  3. 获取数据: 使用 exchange.GetRecords(PERIOD_M1) 方法获取分钟级别的数据记录。

  4. 检查数据有效性: 使用 if len(r) > 0 检查是否成功获取到数据。如果没有数据,程序将记录一个日志信息。

  5. 创建 DataFrame: 使用 pd.DataFrame(columns=[...]) 创建一个空的 DataFrame,定义了将要存储的列名。

  6. 循环处理数据: 遍历获取到的每条记录,将其转换为字典格式并添加到 DataFrame 中。

  7. 保存数据: 使用 df.to_csv() 将 DataFrame 保存为 CSV 文件到指定路径。

  8. 日志记录: 使用 Log() 方法记录数据保存的结果。

通过上述步骤,我们就可以轻松地将数据下载到本地,并使用各类数据分析软件(如 R、Python、Matlab)进行专业的分析。这样,大家再也不用为寻找数据而烦恼了!


更多内容