統(tǒng)計(jì)市場總體表現(xiàn)

import numpy as np
import pandas as pd
import pandas.io.sql as sql
import cx_Oracle as co
# <editor-fold desc="數(shù)據(jù)提取">
# 取用數(shù)據(jù)
dsn = co.makedsn('220.248.233.27', 1521, 'zywinddb')
conn = co.connect('wind', 'w1i2n3d4a5', dsn)
c = conn.cursor()
s_a = (
    """select  trade_dt,s_info_windcode,s_dq_adjclose 
    from ashareeodprices where trade_dt=20181228 order by s_info_windcode""")
s_b = (
    """select  trade_dt,s_info_windcode,s_dq_adjclose 
    from ashareeodprices where trade_dt=20190628 order by s_info_windcode""")
data_a = sql.read_sql(s_a, conn)
data_b = sql.read_sql(s_b, conn)
c.close()
conn.close()
# </editor-fold>
pl = []
for i in range(len(data_b)):
    try:
        loc = data_a[data_a.S_INFO_WINDCODE ==
                     data_b.S_INFO_WINDCODE[i]].index.tolist()[-1]
        pl.append(data_b.S_DQ_ADJCLOSE[i] / data_a.S_DQ_ADJCLOSE[loc] - 1)
    except BaseException:
        pass
    continue
pl = np.array(pl)
result = pd.DataFrame([{'項(xiàng)目': '內(nèi)容',
                        '平均數(shù)': np.mean(pl),
                        '中位數(shù)': np.median(pl),
                        '25%分位點(diǎn)': np.percentile(pl,
                                                75),
                        '股票數(shù)量': len(pl),
                        '正收益數(shù)量': sum(i > 0 for i in pl)}],
                      columns=['項(xiàng)目',
                               '平均數(shù)',
                               '中位數(shù)',
                               '25%分位點(diǎn)',
                               '股票數(shù)量',
                               '正收益數(shù)量'])

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容