Exemplo n.º 1
0
def bt_init(xlst, rdat, prjNam, money0=1000000):
    '''
    qt_init(qx,xlst,rdat):
        初始化zw量化参数,stk股票内存数据库等
    【输入】:
        xlst (list): 股票代码列表,例如:xlst=['aeti','egan','glng','simo'],xlst=['002739','300239']   
        rdat (str): 股票数据目录,可直接使用 zwDat的中美股票数据:\\zwdat\\cn\\Day\\,\\zwdat\\us\\Day\\,
        prjNam (str): 项目名称
        money0 (int): 启动资金,默认是:1000000(100w)
        
    【输出】:
        qx (zwQuantx): 程序化全局变量qx
        '''
    # qx=zw.zwQuantX('tur',1000000) #100w
    qx = zw.zwQuantX(prjNam, money0)  # 100w

    # ------设置各种价格模式:
    #    priceWrk,策略分析时,使用的股票价格,一般是:dprice,复权收盘价
    #    priceBuy,买入/卖出的股票价格,一般是:kprice,一般采用次日的复权开盘价
    #    priceCalc,最后结算使用的股票价格,一般是:adj close,复权收盘价
    qx.priceCalc = 'close'  # qx.priceCalc='adj close'
    qx.priceWrk = 'dprice'
    qx.priceBuy = 'kprice'
    # ----------设置绘图&数据输出格式
    mpl.style.use('seaborn-whitegrid')
    pd.set_option('display.width', 450)
    # -----设置数据源目录等场所,读取股票数据,stkLib
    qx.rdat = rdat
    zwx.stkLibRd(xlst, rdat)
    #
    # 大盘指数.设置
    # zw.stkInxLib=None  #全局变量,大盘指数,内存股票数据库
    qx.stkInxRDat = '\\zwdat\\cn\\xday\\'  # 大盘指数数据源路径
    qx.stkInxPriceName = 'close'  # 大盘指数数据列名称,默认是:close
    # 大盘指数代码,名称拼音,中文名称
    # qx.stkInxCode,qx.stkInxName,qx.stkInxCName='000001','sh001','上证指数'

    #  读取股票数据,
    xtim0 = parse('9999-01-01')
    xtim9 = parse('1000-01-01')
    zw.stkLibTim = {}  # 记录每只股票的交易起点时间和终点时间,终点作为清仓判断标志。
    for xcod in zw.stkLibCode:
        xt0, xt9 = zwx.stkLibGetTimX(xcod)
        xcod_tim0 = xt0.strftime('%Y-%m-%d')
        xcod_tim9 = xt9.strftime('%Y-%m-%d')
        zw.stkLibTim[xcod] = [xcod_tim0, xcod_tim9]
        if xtim0 > xt0: xtim0 = xt0
        if xtim9 < xt9: xtim9 = xt9

    xtim0 = xtim0.strftime('%Y-%m-%d')
    xtim9 = xtim9.strftime('%Y-%m-%d')
    qx.qxTimSet(xtim0, xtim9)

    if qx.debugMod > 0:
        print(xtim0, xtim9, '\nstkCode', zw.stkLibCode)  # zwx.stkLibPr()

    return qx
Exemplo n.º 2
0
def bt_init(xlst, rdat, prjNam, money0=1000000):
    '''
    qt_init(qx,xlst,rdat):
        初始化zw量化參數,stk股票記憶體中資料庫等
    【輸入】:
        xlst (list): 股票代碼列表,例如:xlst=['aeti','egan','glng','simo'],xlst=['002739','300239']   
        rdat (str): 股票資料目錄,可直接使用 zwDat的中美股票資料:\\zwdat\\cn\\Day\\,\\zwdat\\us\\Day\\,
        prjNam (str): 項目名稱
        money0 (int): 啟動資金,預設是:1000000(100w)
        
    【輸出】:
        qx (zwQuantx): 程式化全域變數qx
        '''
    # qx=zw.zwQuantX('tur',1000000) #100w
    qx = zw.zwQuantX(prjNam, money0)  # 100w

    # ------設定各種價格模式:
    #    priceWrk,策略分析時,使用的股票價格,一般是:dprice,複權收盤價
    #    priceBuy,買入/賣出的股票價格,一般是:kprice,一般採用次日的複權開盤價
    #    priceCalc,最後結算使用的股票價格,一般是:adj close,複權收盤價
    qx.priceCalc = 'close'  # qx.priceCalc='adj close'
    qx.priceWrk = 'dprice'
    qx.priceBuy = 'kprice'
    # ----------設定繪圖&資料輸出格式
    mpl.style.use('seaborn-whitegrid')
    pd.set_option('display.width', 450)
    # -----設定資料原始目錄等場所,讀取股票資料,stkLib
    qx.rdat = rdat
    zwx.stkLibRd(xlst, rdat)
    #
    # 大盤指數.設定
    # zw.stkInxLib=None  #全域變數,大盤指數,記憶體股票資料庫
    qx.stkInxRDat = '\\zwdat\\cn\\xday\\'  # 大盤指數資料來源路徑
    qx.stkInxPriceName = 'close'  # 大盤指數資料列名稱,預設是:close
    # 大盤指數代碼,名稱拼音,中文名稱
    # qx.stkInxCode,qx.stkInxName,qx.stkInxCName='000001','sh001','上證指數'

    #  讀取股票資料,
    xtim0 = parse('9999-01-01')
    xtim9 = parse('1000-01-01')
    zw.stkLibTim = {}  # 記錄每檔股票的交易起點時間和終點時間,終點作為清倉判斷標誌。
    for xcod in zw.stkLibCode:
        xt0, xt9 = zwx.stkLibGetTimX(xcod)
        xcod_tim0 = xt0.strftime('%Y-%m-%d')
        xcod_tim9 = xt9.strftime('%Y-%m-%d')
        zw.stkLibTim[xcod] = [xcod_tim0, xcod_tim9]
        if xtim0 > xt0: xtim0 = xt0
        if xtim9 < xt9: xtim9 = xt9

    xtim0 = xtim0.strftime('%Y-%m-%d')
    xtim9 = xtim9.strftime('%Y-%m-%d')
    qx.qxTimSet(xtim0, xtim9)

    if qx.debugMod > 0:
        print(xtim0, xtim9, '\nstkCode', zw.stkLibCode)  # zwx.stkLibPr()

    return qx