Tushare数据本地化+高性能数据库Arctic

  Tushare数据本地化多进程版本——如何快速一次性获取全部股票数据

 

在上一篇文章我们从Tushare平台获取数据并保存为.csv文件之后,又有一个问题浮现水面:

如果我们需要读取数据,那么通过什么方式读取数据最快呢?

一个免费的次优解:

根据VNPY官方公众号给出的测试结果,他们的DolphinDB在读取方面是最快的,应用层面最多的情况就是读取数据。

 但是这个海豚数据库似乎需要付费~

于是我将目光看向了排名第二的Arctic。

关于arctic,可以直接上github看他们的官方文档。但是简单来说arctic数据库是基于MongoDB的,但是针对数据读写进行了优化!

 免费!免费!免费!

重要事情说三遍,这个库免费,而且它并不差。


安装Arctic的坑:

首先,因为arctic基于mongodb,所以你需要先安装mongodb,这玩意儿csdn上教程太多了我就不写了。

下面讲一下安装这个数据库的坑,只有一个,就是pandas的版本要降到1.1.5这种1.1开头的版本,因为在后续pandas移除了panel这个部分,所以如果你直接安装的话会报错无法从pandas中导入panel。

pip install pandas==1.1.5

数据的读取和写入:

相较于Mysql,也是tushare平台推荐的方式。我个人认为arctic要简单非常多(至少在我的经历看来)。

首先,Mysql的macos版本会出现不少不可预知的安装问题,而且因为是mac系统,国内的解决贴非常少。(但是win10可能没有这个困惑)

其次,Mysql的代码前置的乱七八糟的东西还是蛮多的说实话,比如可以看一下tushare官方是如何介绍mysql的。。。

 因为这玩意儿更像一个正儿八经的Access那样的数据库,而不是专门支持时序数据的arctic。


下面直接给出arctic的数据写入和读取代码!

import os
import pandas as pd
from arctic import Arctic


def log(text):
    print('-' * 15)
    print(text)


def write_data(lib):
    current_dir = os.getcwd()
    work_dir = os.path.join(current_dir, 'stock_finance')
    for file in os.listdir(work_dir):
        file_path = os.path.join(work_dir, file)
        df = pd.read_csv(file_path)
        file_name = file[:6]
        # 写入数据
        lib.write(file_name, df)
        log(f'已写入:{file_name}')


# 连接到本地MONGODB
store = Arctic('localhost')

# 创建一个库
store.initialize_library('STOCK_FINANCE')
print(store.list_libraries())

# 连接数据库
lib = store['STOCK_FINANCE']

# 写入数据
write_data(lib)

# 读取数据
item = lib.read('000001.SZ')
data = item.data

可以看到的是,arctic无论是写入还是读取都异常简单。

# 写入数据
lib.write(file_name, df)
# 读取数据
item = lib.read('000001.SZ')
data = item.data

更多的内容可以参考官方文档。

这些内容都只是为了接下来做因子研究做准备,接下来可能还会分享关于A股市场的因子研究。在我刚刚步入Python大坑的时候,CSDN的论坛帖子的前辈给了我很多帮助,现在我想我有一定的能力回报这个社区,这就是互联网精神吧。

有兴趣的话欢迎大家关注我的个人公众号:梧承 Book House

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Arctic是一个专门用于金融数据管理的开源数据库,可以用于存储、管理和查询各种类型的金融数据,例如时间序列数据、交易数据、统计数据等。它基于MongoDB数据库,提供了简单易用的Python API,可以方便地进行数据的读写和查询。下面是Arctic数据库的安装步骤: 1. 安装MongoDB数据库 Arctic数据库是基于MongoDB数据库的,所以首先需要安装MongoDB数据库。可以到官网上下载对应版本的MongoDB,并按照官方文档进行安装。 2. 安装Python API 使用pip命令安装arctic库: ``` pip install arctic ``` 3. 连接MongoDB数据库 使用arctic库中的arctic库中的arctic库中的arctic连接函数,将Python中的连接MongoDB数据库。在连接函数中需要指定MongoDB数据库的地址和端口号,例如: ``` import pymongo from arctic import Arctic # 连接MongoDB数据库 conn = pymongo.MongoClient('localhost', 27017) # 创建Arctic数据库对象 store = Arctic(conn) ``` 4. 创建库和集合 可以使用Arctic库中的库和集合函数来创建库和集合,例如: ``` # 创建名为test的库 library = store['test'] # 创建名为stock的集合,并指定数据类型为TICK library.initialize_library('stock', lib_type=Arctic.TICK_STORE) ``` 5. 存储数据 使用Arctic库中的集合对象来进行数据的存储,例如: ``` # 获取名为stock的集合对象 collection = library['stock'] # 存储数据 symbol = 'AAPL' timestamp = '2022-01-01 09:30:00' price = 100.0 volume = 10000 collection.write(symbol, {'timestamp': timestamp, 'price': price, 'volume': volume}) ``` 以上就是Arctic数据库的安装步骤,可以根据实际需要来进行安装和使用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值