alpha-mind的data文件夹提供了对于因子数据进行排序和求分位数的工具函数
In [1]:
import numpy as np
import pandas as pd
from alphamind.data.rank import rank
# 假设有10只股票,每只股票有2个因子,构成一个矩阵
factors = pd.DataFrame(np.random.rand(10, 2))
factors.columns = ['factor_1', 'factor_2']
factors['rank_1'] = rank(factors['factor_1'].values)
factors['rank_2'] = rank(factors['factor_2'].values)
factors
Out[1]:
In [2]:
# 假设有10只股票,每只股票有1个因子
factors = pd.DataFrame(np.random.rand(10, 1))
factors.columns = ['factor_1']
# 假设这10只股票分为两个行业,前5个和后5个分属不同类别
industry = np.concatenate([np.array([1.0]*5), np.array([2.0]*5)])
factors['rank'] = rank(factors['factor_1'].values, groups=industry)
factors
Out[2]:
In [3]:
from alphamind.data.quantile import quantile
factors['quantile'] = quantile(factors['factor_1'].values, n_bins=5)
factors
Out[3]:
In [ ]: