StoneData
论坛版主
论坛版主
  • UID4
  • 粉丝0
  • 关注0
  • 发帖数2
阅读:160回复:4

API说明文档

楼主#
更多 发布于:2018-09-25 14:23
感谢您使用StoneData数据研究平台,以下内容主要介绍StoneData数据研究平台的API使用方法,内容较多,可使用Ctrl+F进行搜索。
如果以下内容仍没有解决您的问题,请您通过社区提问或者问题反馈的方式告诉我们,或者将您的API封装后有偿提交给我们,一起构建一个更加美好数据研究的环境。

StoneData API介绍
所有的API使用前通过以下方式导入
from stonelib import *
from stone_analysis import *
from stoneapi_get_data import *
from refresh import *

API介绍如下:
1
get_data(user,table,filters=[])
说明:
功能:从数据库获取存储数据
         user:用户名字
         table:调用表名
         filters:数据筛选条件,为了提高性能,filters不能为空
 
返回:
         Dataframe数据格式的调用数据
2
standardize(series,ty=2)  
说明:    
功能:标准化函数
         seriesSeries数据
         ty为标准化方式:1
         MinMax,2 Standard,3 maxabs
 
返回:

         series标准化后的数据
3
winsorize(series, std=3, have_negative = True)  
说明:    
功能:去极值函数
         series:若为因子数据建议以股票codeindex,因子值为valueSeries
         std为几倍的标准差,have_negative 为布尔值,是否包括负值
返回:
         series去极值后的数据
 
4
neutralization(series,dummy_industry,mkt_cap = False,
industry = True)  

说明:    
功能:中性化函数
         series为因子数据,以股票codeindex,因子值为valueSeries,
 
         dummy_industry:行业类别数据,以股票codecolumns,以股票行业类别为indexvalue值的确定(若某code属于某
     index则为1,否则为0          mkt_cap:以股票为index,市值为valueSeries,
返回:
   中性化后的因子值series
 
5
get_before_day(n=1,date =
datetime.date.today().strftime('%Y-%m-%d'),ty = 'str',form = '%Y-%m-%d')  

说明:    
功能:获取daten天的日期,n为负数,则表示daten天的日期
         n:n
         date:日期,输入如:'2018-01-01'或者'20180101',默认调用当天日期
         ty:输出日期格式,ty='date'输出日期类型,ty='str'输出字符串类型
         form'%Y-%m-%d'表示'2018-01-01','%Y%m%d'表示'20180101'
返回:
   中性化后的因子值series
 
6
fit_function(x,y,n=2,plot_out=False,figsize = (10,8))  
说明:    
功能:拟合函数画图
         x:list输入,自变量
         y:list输入,因变量
         nn次拟合(1-5次拟合)
         plot_out:True:显示拟合图像,False:不显示出拟合图像
         figsize:(108),图像大小
         return:拟合参数:从高次到低次排列
返回:
   拟合参数(从高次到低次排列)
 
7
stone_plots(X,Y,types=[],subs=[],xlabels=[],ylabels=[],titles
=[],labels=[],figsize=(10,8))  

说明:    
功能:画图展示
         X:因变量,为listlist,如:[[1,2,3,4],[1,3,4,5]],
         Y:因变量,为listlist,如:[[1,2,3,4],[1,3,4,5]]
         types:list,对应子图的曲线颜色和类型,['ro','g','b','b*','r.','r-','+','p']
         subs:list,[2,4]表示子图的显示是24列的方式。
         xlabels:list,对应每个子图的x轴标签
         ylabels:list,对应每个子图的y轴标签
         titles:list,对应每个子图的title
         labels:list,对应每个子图曲线的标签。
         figsize:表示整个图的大小尺寸
返回:
 
         
8
read_txt_to_df(path,encoding='utf-8',split_type=',',column
= True,index=True)

说明:    
功能:将txt数据读取成dataframe
   前提:txt储存的方式要满足dataframe格式的要求,分隔符最好是','
         path:txt文件的路径
         encoding:txt解码方式,默认utf-8
         split_type:分割符,默认是',',强烈建议使用','作为分隔符,
   建议用户在使用','作为分隔符时候将数据本身内部的','替换掉,以免影响判断(比如说一句话里的','
         column:True表明使用txt里第一行作为dataframecolumnFalse表示不做处理
         index:True表明使用txt里第一列作为dataframeindexFalse表示不做处理
返回:
          返回对应的dataframe
 
9
stone_one_plot(X,Y,types=[],xlabel='',ylabel='',title
='',labels=[],figsize=(10,8))

说明:    
作用:数据画在一副图内,共用坐标轴
         X:因变量,为listlist,如:[[1,2,3,4],[1,3,4,5]],
         Y:因变量,为listlist,如:[[1,2,3,4],[1,3,4,5]]
         types:list,对应子图的曲线颜色和类型,['ro','g','b','b*','r.','r-']
         xlabel:表示x轴标签,str类型
         ylabel:表示y轴标签,str类型
         title:表示图名,str类型
         labels:表示数据的标签,如:['a','b']
         figsize:表示图的大小,如:(108
返回:
 
         
10
stone_twinx_plot(X,Y,types=[],xlabel='',ylabels=[],title
='',labels=[],figsize=(10,8))

说明:    
作用:画双坐标图
         X:因变量,为listlist,如:[[1,2,3,4],[1,3,4,5]],
         Y:因变量,为listlist,如:[[1,2,3,4],[1,3,4,5]]
         types:list,对应子图的曲线颜色和类型,['ro','g','b','b*','r.','r-']
         xlabel:表示x轴标签,str类型
         ylabels:表示y轴标签,如['y1','y2']
         title:表示图名,str类型
         labels:表示数据的标签,如:['a','b']
         figsize:表示图的大小,如:(108
返回:
         
 
11
stone_sklearn_tree(data,target,predict_data,test_size=0.2,criterion='gini')
说明:    
作用:决策树分类模型
         dataarray数据,源数据特征数据集,如:array([[5.1,
         3.5, 1.4, 0.2],[4.9, 3. , 1.4, 0.2]])
         targetarray数据,源数据特类别,如:array([0,1])
         predict_dataarray数据,需要分类的数据集,如:array([[5.1,
         3.53, 1.42, 0.21],[4, 3. , 1.41, 0.12]])
         test_size:默认0.2,将源数据拆分成训练集和测试集,测试集是总数据的20%
         criterion='gini'是决策树种的一个参数,你可以更改成entropy或者gini,这个是决策树的分类方法。
返回:
   需要预测数据的类别数据,array数据
实例:
         from sklearn import datasets
         data1=datasets.load_iris()
         data = data1['data']
         target = data1['target']
         predict_data = data[:100]
         stone_sklearn_tree(data,target,predict_data,test_size=0.2,criterion='gini')
 
12
stone_linear_svm(data,target,predict_data,test_size=0.2,penalty='l2',loss='hinge',C=1.0)
说明:    
作用:线性分类SVM分类模型
         dataarray数据,源数据特征数据集,如:array([[5.1,
         3.5, 1.4, 0.2],[4.9, 3. , 1.4, 0.2]])
         targetarray数据,源数据特类别,如:array([0,1])
         predict_dataarray数据,需要分类的数据集,如:array([[5.1,
         3.53, 1.42, 0.21],[4, 3. , 1.41, 0.12]])
         test_size:默认0.2,将源数据拆分成训练集和测试集,测试集是总数据的20%
         penalty:字符串。指定'l1'或者'l2',罚项的范数,默认'l2'(它是标准SVC采用的)
 
         loss:字符串,表示损失函数,可为’hinge'(为合页损失函数、为标准SVM的损失函数),可为'squared_hinge'(合页损失
   函数的平方)          C:浮点数,罚项参数。
   返回:
   需要预测数据的类别数据,array数据
实例:
         from sklearn import datasets
         data1=datasets.load_iris()
         data = data1['data']
         target = data1['target']
         predict_data =data[:100]
 
         stone_linear_svm(data,target,predict_data,test_size=0.2,penalty='l2',loss='squared_hinge',C=1.0)
13
stone_svm(data,target,predict_data,test_size=0.2,kernel='rbf',degree=3,gamma='auto',coef0=0.0)
说明:    
作用:SVM分类模型
         dataarray数据,源数据特征数据集,如:array([[5.1,
         3.5, 1.4, 0.2],[4.9, 3. , 1.4, 0.2]])
         targetarray数据,源数据特类别,如:array([0,1])
         predict_dataarray数据,需要分类的数据集,如:array([[5.1,
         3.53, 1.42, 0.21],[4, 3. , 1.41, 0.12]])
         test_size:默认0.2,将源数据拆分成训练集和测试集,测试集是总数据的20%
 
         kernel:字符串,核函数,'linear':线性核函数,'poly':多项式核函数,'rbf':(默认):高斯核函数,
         'sigmoid':tanh核函数,          'precomputed':表示提供了kernel matrix
         degree:一个整数,指定当核函数为多项式的时候,多项式的参数,其他核函数该参数无效。
         gamma:一个浮点数,当核函数为'rbf''poly''sigmoid'时,核函数的系数,如果为'auto',则表示系数为1/n_features.
         coef0:浮点数,用于指定核函数中的自由项,左右当核函数是'poly''sigmoid'时有效。
返回:
   需要预测数据的类别数据,array数据
实例:
         from sklearn import datasets
         data1=datasets.load_iris()
         data = data1['data']
         target = data1['target']
         predict_data =data[:300]
 
         stone_svm(data,target,predict_data,test_size=0.2,kernel='rbf',degree=3,gamma='auto',coef0=0.0)
14
stone_heatmap(df,annot=True,
mask=None,xlabel='',ylabel='',title='',figsize=(8,8))

说明:    
作用:画热力图
         df:DataFrame格式或者array.
         annot:True表示图像显示具体数值,False表示不显示
         mask:英文掩饰的意思,mask=1<df,表示掩饰df中大于1的显示,只显示1>df的数据
         xlabelstr类型,表示x轴标签
         ylabelstr类型,表示y轴标签
         titlestr类型,表示图名
 
返回:
   实例:
         import pandas as pd
         import numpy as np
         np.random.seed(0)
         x = np.random.randn(10, 8)
         df = pd.DataFrame(x)
         df.columns = ['a','b','c','d','e','f','g','h']
         df.index = ['a','b','c','d','e','f','g','h','r','j']
         stone_heatmap(df,annot=True,
         mask=None,xlabel='',ylabel='',title='',figsize=(8,8))  
 
15
stone_corr_heatmap(df,plot=True,annot=True,
mask=None,xlabel='',ylabel='',title='',figsize=(8,8))

说明:    
作用:计算相关性并画热力图
         df:DataFrame格式或者array.
         plot:True表示画出热力图,False表示不画出热力图
         annot:True表示图像显示具体数值,False表示不显示
         mask:英文掩饰的意思,mask=1<df,表示掩饰df中大于1的显示,只显示1>df的数据
         xlabelstr类型,表示x轴标签
         ylabelstr类型,表示y轴标签
         titlestr类型,表示图名
返回:
         df的相关系数矩阵实例:
实例:
         import pandas as pd
         import numpy as np
         np.random.seed(0)
         x = np.random.randn(10, 8)
         df = pd.DataFrame(x)
         df.columns = ['a','b','c','d','e','f','g','h']
 
         stone_corr_heatmap(df,plot=True,annot=True, mask=None,xlabel='',ylabel='',title='',figsize=(8,8))


16
stone_linear_svr(data,target,predict_data,test_size=0.2,loss='epsilon_insensitive',epsilon=0.0,C=1.0,max_iter=1000)
说明:    
作用:线性回归SVR
         dataarray数据,源数据特征数据集,如:array([[5.1,
         3.5, 1.4, 0.2],[4.9, 3. , 1.4, 0.2]])
         targetarray数据,源数据特类别,如:array([0,1])
         predict_dataarray数据,需要分类的数据集,如:array([[5.1,
         3.53, 1.42, 0.21],[4, 3. , 1.41, 0.12]])
         test_size:默认0.2,将源数据拆分成训练集和测试集,测试集是总数据的20%
         loss:字符串,表示损失函数,可为'epsilon_insensitive''squared_epsilon_insensitive'
         epsilon:浮点数,用于lose中的参数
         C:浮点数,罚项参数。
         max_iter:最大迭代次数
返回:
   需要预测数据的大小
实例:
         from sklearn import datasets
         data1=datasets.load_iris()
         data = data1['data']
         target = data1['target']
         predict_data =data[:300]
         stone_linear_svr(data,target,predict_data,test_size=0.2,loss='epsilon_insensitive',epsilon=0.0,C=1.0,max_iter=1000)
 
17
stone_svr(data,target,predict_data,test_size=0.2,kernel='rbf',epsilon=0.0,coef0=0.0,C=1.0,degree=3,gamma='auto',max_iter=1000)
说明:    
作用:非线性回归SVR
         dataarray数据,源数据特征数据集,如:array([[5.1,
         3.5, 1.4, 0.2],[4.9, 3. , 1.4, 0.2]])
         targetarray数据,源数据特类别,如:array([0,1])
         predict_dataarray数据,需要分类的数据集,如:array([[5.1,
         3.53, 1.42, 0.21],[4, 3. , 1.41, 0.12]])
         test_size:默认0.2,将源数据拆分成训练集和测试集,测试集是总数据的20%
         loss:字符串,表示损失函数,可为'epsilon_insensitive''squared_epsilon_insensitive'
         epsilon:浮点数,用于lose中的参数
         coef0:浮点数,用于指定核函数中的自由项,左右当核函数是'poly''sigmoid'时有效。
         C:浮点数,罚项参数。
         degree:一个整数,指定当核函数为多项式的时候,多项式的参数,其他核函数该参数无效。
         gamma:一个浮点数,当核函数为'rbf''poly''sigmoid'时,核函数的系数,如果为'auto',则表示系数为1/n_features.
         max_iter:最大迭代次数
返回:
   需要预测数据的大小实例:
示例:
         from sklearn import datasets
         data1=datasets.load_iris()
         data = data1['data']
         target = data1['target']
         predict_data =data[:300]
 
         stone_svr(data,target,predict_data,test_size=0.2,kernel='rbf',epsilon=0.0,coef0=0.0,C=1.0,
         degree=3,gamma='auto',max_iter=1000)
18
maxdrawdown(series)
说明:    
作用:计算最大回撤率
         seriesSeries类型,为资金历史数值序列(最新数据填充在最底部)
返回:
   最大回撤率
实例:
         import tushare as ts
         import pandas as pd
         import numpy as np
         df = ts.get_k_data('000001')
         df.set_index('date',inplace=True)
         df = df['close']
 
         MaxDrawdown(df)
19
sharpe_ratio(series,free_risk = 0.02)
说明:    
作用:计算夏普比率
         seriesSeries类型,为资金历史日线数值序列或净值日线数值序列(最新数据填充在最底部)
         free_risk:无风险收益率,默认0.02
返回:
   夏普比率
实例:
         import tushare as ts
         import pandas as pd
         import numpy as np
         df = ts.get_k_data('000001')
         df.set_index('date',inplace=True)
         df = df['close']
         sharpe_ratio(df)
 
20
annual_return(seriesfreq ='D')
说明:    
作用:计算年化收益率
         seriesSeries类型,为资金历史数值序列或净值数值序列(最新数据填充在最底部)
         freq:默认'D',表示资金数值序列的周期,'D'表示日线级别,'W'表示周线级别,'M'表示月线级别
返回:
   年化收益率
实例:
         import tushare as ts
         import pandas as pd
         import numpy as np
         df = ts.get_k_data('000001')
         df.set_index('date',inplace=True)
         df = df['close']
         annual_return(dffreq ='D')
 
21
win_rate(series)
说明:    
作用:计算胜率、盈亏比
         seriesSeries类型,为资金历史数值序列或净值数值序列(最新数据填充在最底部)
返回:
         (胜率,盈亏比)
实例:
         import tushare as ts
         import pandas as pd
         import numpy as np
         df = ts.get_k_data('000001')
         df.set_index('date',inplace=True)
         df = df['close']
 
         win_rate(df)
22
stone_KNeighborsClassifier(data,target,predict_data,test_size=0.2,n_neighbors=5,weights='uniform',algorithm='auto',p=2)
说明:    
作用:kNN分类KNeighborsClassifier
         dataarray数据,源数据特征数据集,如:array([[5.1,
         3.5, 1.4, 0.2],[4.9, 3. , 1.4, 0.2]])
         targetarray数据,源数据特类别,如:array([0,1])
         predict_dataarray数据,需要分类的数据集,如:array([[5.1,
         3.53, 1.42, 0.21],[4, 3. , 1.41, 0.12]])
         test_size:默认0.2,将源数据拆分成训练集和测试集,测试集是总数据的20%
         n_neighbors:一个整数,指定k
 
         weights:一字符串或者可调用对象,指定投票权重类型。即这些邻居投票权可以为相同或者不同,可为:'uniform'
         (默认,投票权重相同)'distance'(投票权重与距离成反比),[callable](一个可调用对象,传入距离的数组,返回同样
   形状的权重数组)
         algorithm:一个字符串,指定计算最临近的算法,可为:('ball_tree':使用BallTree算法,
         'kd_tree':使用KDTree算法,'brube':使用暴力搜索法。 'auto':自动决定最合适的算法。)          p:整数值,指定在'Minkowski'度量上的指数。p=1对应曼哈顿距离,p=2对应欧拉距离
返回:
   需要预测数据的大小
实例:
         from sklearn import datasets
         data1=datasets.load_iris()
         data = data1['data']
         target = data1['target']
         predict_data =data[:600]
 
         stone_KNeighborsClassifier(data,target,predict_data,test_size=0.2,
         n_neighbors=5,weights='uniform',algorithm='auto',p=2)

23
stone_KNeighborsRegressor(data,target,predict_data,test_size=0.2,n_neighbors=5,weights='uniform',algorithm='auto',p=2)
说明:    
作用:kNN分类KNeighborsRegressor
         dataarray数据,源数据特征数据集,如:array([[5.1,
         3.5, 1.4, 0.2],[4.9, 3. , 1.4, 0.2]])
         targetarray数据,源数据特类别,如:array([0,1])
         predict_dataarray数据,需要分类的数据集,如:array([[5.1,
         3.53, 1.42, 0.21],[4, 3. , 1.41, 0.12]])
         test_size:默认0.2,将源数据拆分成训练集和测试集,测试集是总数据的20%
         n_neighbors:一个整数,指定k
 
         weights:一字符串或者可调用对象,指定投票权重类型。即这些邻居投票权可以为相同或者不同,可为:'uniform'
         (默认,投票权重相同)          'distance'(投票权重与距离成反比),[callable](一个可调用对象,传入距离的数组,返回同样形状的权重数组)
 
         algorithm:一个字符串,指定计算最临近的算法,可为:('ball_tree':使用BallTree算法,
         'kd_tree':使用KDTree算法,'brube':使用暴力搜索法。'auto':自动决定最合适的算法。)                      p:整数值,指定在'Minkowski'度量上的指数。p=1对应曼哈顿距离,p=2对应欧拉距离
返回:
   需要预测数据的大小
实例:
         from sklearn import datasets
         data1=datasets.load_iris()
         data = data1['data']
         target = data1['target']
 
         predict_data =data[:600]

         stone_KNeighborsClassifier(data,target,predict_data,test_size=0.2,
         n_neighbors=5,weights='uniform',algorithm='auto',p=2)
24
stone_LinearRegression(data,target,predict_data,test_size=0.2,fit_intercept=True,normalize=False,n_jobs=1)
说明:    
作用:LinearRegression线性回归模型
         dataarray数据,源数据特征数据集,如:array([[5.1,
         3.5, 1.4, 0.2],[4.9, 3. , 1.4, 0.2]])
         targetarray数据,源数据特类别,如:array([0,1])
         predict_dataarray数据,需要分类的数据集,如:array([[5.1,
         3.53, 1.42, 0.21],[4, 3. , 1.41, 0.12]])
         test_size:默认0.2,将源数据拆分成训练集和测试集,测试集是总数据的20%
         fit_intercept:一个布尔值,指定是否需要计算b值,False表示不计算
         normalize:一个布尔值,如果为True,那么训练样本会在回归之前被归一化
         n_jobs:一个正数。任务并行时指定的CPU数量。如果为-1则使用所有可用的CPU
返回:
   需要预测数据的大小
实例:
         import numpy as np
         from sklearn import datasets
         data1=datasets.load_iris()
         data = data1['data']
         target = data1['target']
         predict_data =data[:600]
         stone_LinearRegression(data,target,predict_data,test_size=0.2,fit_intercept=True,normalize=False,n_jobs=1)
 
25
stone_Ridge(data,target,predict_data,test_size=0.2,alpha=1.0,fit_intercept=True,normalize=False,solver
='auto',tol = 0.001)

说明:    
作用:岭回归模型
         dataarray数据,源数据特征数据集,如:array([[5.1,
         3.5, 1.4, 0.2],[4.9, 3. , 1.4, 0.2]])
         targetarray数据,源数据特类别,如:array([0,1])
         predict_dataarray数据,需要分类的数据集,如:array([[5.1,
         3.53, 1.42, 0.21],[4, 3. , 1.41, 0.12]])
         test_size:默认0.2,将源数据拆分成训练集和测试集,测试集是总数据的20%
         fit_intercept:一个布尔值,指定是否需要计算b值,False表示不计算
         normalize:一个布尔值,如果为True,那么训练样本会在回归之前被归一化
 
         solver:一个字符串,指定求解最优化问题的算法。可为:'auto':根据数据集自动选择算法;
                   'svd':使用奇异值分解来计算回归系数; 'cholesky':使用scipy.linalg.solve函数来求解;
      'sparse_cg':使用scipy.sparse.linalg.cg函数来求解;'lsqr':使用        

          scipy.sparse.linalg.lsqr函数来求解。它运算速度更快,但是可能老版本的scipy不支持。
         'sag':使用'Stochastic Average Gradient descent算法,求解最优化问题。
         tol:一个浮点数,指定判断迭代收敛与否的阈值。
返回:
   需要预测数据的大小
实例:
         import numpy as np
         from sklearn import datasets
         data1=datasets.load_iris()
         data = data1['data']
         target = data1['target']
         predict_data =data[:600]
 
         stone_Ridge(data,target,predict_data,test_size=0.2,alpha=1.0,fit_intercept=True,normalize=False,
         solver='auto',tol = 0.001)
man
man
侠客
侠客
  • UID5
  • 粉丝0
  • 关注0
  • 发帖数15
沙发#
发布于:2018-09-25 15:13
666666666666
perpetualy
贫民
贫民
  • UID2
  • 粉丝0
  • 关注0
  • 发帖数1
板凳#
发布于:2018-09-25 21:42
加油加油!占个楼先,哈哈!
猴子爱吃鱼丸粗面
贫民
贫民
  • UID6
  • 粉丝0
  • 关注0
  • 发帖数1
地板#
发布于:2018-10-17 10:03
头像满分
15692004121
贫民
贫民
  • UID8
  • 粉丝0
  • 关注0
  • 发帖数1
4楼#
发布于:2019-02-11 19:52
楼主棒棒哒
楼主棒棒哒
游客

返回顶部