Q:Python调天软取数范例02:基本面数据的提取
简述
1、在进行交互取数前,需做相关的配置,其操作请查看文档:FAQ:
2019-05-08-应用专题-第三方交互07:天软平台和PYTHON的交互
2、天软返回的数据为gkb编码,在python3及以上版本中,对汉字或字符串的返回需要进行转码操作。天软这里提供两种转码案例:
第一:调用专题文档中(上面天软平台和Python的交互文档中)提供的tsbytestostr转码范例函数进行转码。本文范例用此方式。
第二:#gbk转unicode处理方法Batch_Encoding请参考FAQ:
Q:与python3交互中字符串转gbk的问题
本页范例的文档版本可下载:
附件:Python调天软取数应用范例.pdf
范例中相关天软函数附件:
附件:第三方交互取数建模.tslfunc
python转码范例函数:
附件:tsbytestostr.py
范例01:取个股的所属市场-执行天软语句串base
import sys
sys.path.append("C:/program files/Tinysoft/Analyse.NET")
import TSLPy3 as ts
tsstr="""
SetSysParam(pn_stock(),'SZ000001');
SetSysParam(pn_date(),20190507T);
return base(10028);
"""
data= ts.RemoteExecute(tsstr,{})
print(data[1].decode('gbk')) #字符串转码
范例02:取期权的基本信息-调用天软函数infoarray
#取期权指定日的基本信息
import sys
import tsbytestostr #字符串批量转码
sys.path.append("C:/program files/Tinysoft/Analyse.NET")
import TSLPy3 as ts
tsstr="""
setsysparam(pn_stock(),'OP10001798');
return select * from infoarray(720) where ['截止日']=20190507 end;
"""
data= ts.RemoteExecute(tsstr,{})
print(tsbytestostr.tsbytestostr(data[1]))
范例03:取期货的主力信息-调用天软函数infotable
#取主力合约的主力信息
import sys
import tsbytestostr #字符串批量转码
sys.path.append("C:/program files/Tinysoft/Analyse.NET")
import TSLPy3 as ts
tsstr="""
ZLID:="ZL000001";
EndT_:=20190101;
return select * from infotable 700 of ZLID where ['调整日期']>=EndT_ order by ['调整日期'] desc end;
"""
data= ts.RemoteExecute(tsstr,{})
print(tsbytestostr.tsbytestostr(data[1]))
范例04:取指指定日期货的实际合约-调用天软函数FuturesZL
#取指定日期货合约的主力合约代码
import sys
sys.path.append("C:/program files/Tinysoft/Analyse.NET")
import TSLPy3 as ts
tsstr="""
setsysparam(pn_stock(),'CU2001');
setsysparam(pn_date(),20190507T);
RETURN FuturesZL(20190507T);"""
data= ts.RemoteExecute(tsstr,{})
print(data[1])