财务数据分析常用函数
xone的Python项目详细描述
x1
Latest Release | |
Docs | |
Build | |
Coverage | |
Quality | |
License |
用于财务数据分析的常用函数
安装
pip install xone
实用程序
In[1]:fromxoneimportutils
将任何内容转换为列表。
- 如果输入是干净的,直接使用
tolist()
。 有些函数需要list
作为输入,tolist()
是为它们标准化所有输入。
In[2]:ticker='BHP AU'In[3]:list_of_tickers=tolist(ticker)In[4]:list_of_tickers
Out[4]:['BHP AU']
In[5]: raw_price = [31.08, 31.10, 31.11, 31.07, 31.04, 31.04] In[6]: price = utils.tolist(raw_price) In[7]: price
Out[7]: [31.08, 31.10, 31.11, 31.07, 31.04, 31.04]
- 如果输入是元组列表/列表/任何奇怪的组合,请使用
flatten()
:
In[8]:raw_volume=[(10166,69981),[14343,10096],11506,9718]In[9]:volume=utils.flatten(raw_volume)In[10]:volume
Out[10]: [10166, 69981, 14343, 10096, 11506, 9718]
从dict
的列表中保留数据帧构造的顺序。
在python 3.7之前,dict
不像OrderedDict
那样排序。
直接将dict
传递给dataframe构造函数将使列按字母排序。
In[11]:importpandasaspdIn[12]:data_list=[dict(sid=1,symbol='1 HK',price=88.8),dict(sid=700,symbol='700 HK',price=350.),]In[13]:pd.DataFrame(data_list)
Out[13]: price sid symbol 0 88.80 1 1 HK 1 350.00 700 700 HK
to_frame
确保输入顺序保持不变:
In[14]:utils.to_frame(data_list)
Out[14]: sid symbol price 0 1 1 HK 88.80 1 700 700 HK 350.00
文件
In[15]:fromxoneimportfiles
自动检查和创建路径并保存文件:
In[16]:DATA_PATH='/data/Bloomberg'In[17]:data_file=f'{DATA_PATH}/{ticker.split()[-1]}/{ticker}/2018-09-10.parq'In[18]:sample=pd.DataFrame(data=dict(price=price,volume=volume),index=pd.DatetimeIndex(start='2018-09-10T10:10:00',periods=6,freq='min').tz_localize('Australia/Sydney'),)In[19]:sample
Out[19]: price volume 2018-09-10 10:10:00+10:00 31.08 10166 2018-09-10 10:11:00+10:00 31.10 69981 2018-09-10 10:12:00+10:00 31.11 14343 2018-09-10 10:13:00+10:00 31.07 10096 2018-09-10 10:14:00+10:00 31.04 11506 2018-09-10 10:15:00+10:00 31.04 9718
^ {CD10>}检查文件夹的存在并创建目标文件夹的所有父文件夹。
In[20]:files.create_folder(data_file,is_file=True)In[21]:sample.to_parquet(data_file)