worker.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:flats 作者: librae8226 项目源码 文件源码
def __get_est_price_mode_pe(realtime, code, years):

    q_str = 'code==' + '\"' + code + '\"'

    pe_obj = {}
    eps = 0
    for y in range(datetime.now().year - years, datetime.now().year + 1):
        for q in range(1, 5):
        quarter = str(y)+'q'+str(q)
        if (os.path.exists(PREFIX+'/'+quarter+'.csv')):
        r = __pd_read_report(quarter)
        if (len(r.query(q_str)) > 0):
            # save all pe history and latest eps
                    tmp_pe, tmp_eps = __get_pe_and_eps(code, quarter)
                    if (isinstance(tmp_pe, float) & isinstance(tmp_eps, float)):
                        pe_obj[quarter] = tmp_pe
                        eps = tmp_eps
                        log.debug('%s pe: %.2f, eps: %.2f', quarter, pe_obj[quarter], eps)
                    else:
                        log.warn('skip %s', quarter)
                        continue
    #sorted(pe_obj)
    #log.debug(pe_obj)
    arr = pe_obj.values()
    mu, std = norm.fit(arr)

    if (realtime):
    d = datetime.now()
    today = __pd_read_today_all()
    close = round(today.query(q_str).trade.values[0], 2)
    else:
    k, d = __get_k_data_of_last_trade_day(code)
    close = round(k.close.values[0], 2)
    log.info('%s price: %.2f @ pe %.2f, eps %.2f', d.strftime("%Y-%m-%d"), close, close/eps, eps)
    log.info('mu, std: %.2f, %.2f', mu, std)

    growth = __get_growth(code, years)

    left = __estimation_formula_bg_dynamic(growth, eps, mu - std)
    centrum = __estimation_formula_bg_dynamic(growth, eps, mu)
    right = __estimation_formula_bg_dynamic(growth, eps, mu + std)
    value = __estimation_formula_bg_dynamic(growth, eps, 8.5)

    log.info('est dynamic: %.2f~%.2f~%.2f', left, centrum, right)
    log.info('est value: %.2f', value)
    log.info('range from left: %.2f%%', (close-left)/left*100.0)
    log.info('position: %.2f%%', (close-left)/(right-left)*100.0)

    return left, centrum, right, value
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号