FAQ > 金融建模 > 第三方交互 > Python

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])