def get_daily_deg_for(start='2018-01-01', end='2019-01-01'):
    with open("stock_20_pool.json", 'r') as load_f:
        stock_index = json.load(load_f)  # 读取股票池Json文件
    deg_data = {}
    for code in stock_index['股票'].values():
        try:
            df_data = pro_daily_stock(code, start, end)
            y_arr = df_data.Close.values
            x_arr = np.arange(0, len(y_arr))
            x_b_arr = sm.add_constant(x_arr)  # 添加常数列1
            model = regression.linear_model.OLS(y_arr,
                                                x_b_arr).fit()  # 使用OLS做拟合
            rad = model.params[1]  # y = kx + b :params[1] = k
            deg_data[code] = np.rad2deg(rad)  # 弧度转换为角度
            print('code({}) deg is: {}'.format(code, deg_data[code]))
        except:
            print("error code is %s" % code)
        """
        code(000001.SZ) deg is: -0.7817675279466058
        code(000002.SZ) deg is: -3.289481035965825
        code(000004.SZ) deg is: -1.8039825425329399
        code(000005.SZ) deg is: -0.35793989587357994
        code(000006.SZ) deg is: -0.8170351064359175
        code(000007.SZ) deg is: -2.463852093183183
        code(000008.SZ) deg is: -1.6635671526120404
        code(000009.SZ) deg is: -0.6245565900455877
        code(000010.SZ) deg is: -0.13332703483617436
        code(000011.SZ) deg is: -2.0670175459648163
        code(000012.SZ) deg is: -1.284680281224533
        code(000014.SZ) deg is: -0.7018486455802234
        code(000016.SZ) deg is: -0.9143360317950662
        code(000017.SZ) deg is: -0.42342752255013144
        code(000018.SZ) deg is: -1.285172202328646
        code(000019.SZ) deg is: -1.2514496436146723
        code(000020.SZ) deg is: -0.9492849996535324
        code(300710.SZ) deg is: -4.703853345031707
        code(300711.SZ) deg is: -2.7791310372928755
        code(300712.SZ) deg is: -2.688855307947049
        """
    sorted_data = sorted(deg_data.items(), key=lambda x: x[1], reverse=True)
    print(sorted_data)
예제 #2
0
def map_fun(code, start='20190101', end='20190201', table_name='STOCK000001', con_name=conn):
    try:
        data = pro_daily_stock(code, start, end)
        data.to_sql(table_name, con_name, index=False, if_exists='append')
    except:
        print("error code is %s" % code)
예제 #3
0
                self.df_ohlc.index.strftime(kwargs['xticklabels'])[index]
                for index in self.graph_curr.get_xticks()
            ])  # 标签设置为日期

            # X-轴每个ticker标签都向右倾斜45度
            for label in self.graph_curr.xaxis.get_ticklabels():
                label.set_rotation(45)
                label.set_fontsize(10)  # 设置标签字体
        else:
            for label in self.graph_curr.xaxis.get_ticklabels():
                label.set_visible(False)


if __name__ == '__main__':

    df_stockload = pro_daily_stock('000651.SZ', '20180601', '20190601')
    #df_stockload = bs_k_data_stock("sz.000651", '2018-06-01', '2019-06-01') # 采用未复权数据
    print(df_stockload.head(10))
    """
                 High    Low   Open  Close    Volume
    Date                                            
    2018-06-01  47.30  46.26  47.30  46.58  4.96e+05
    2018-06-04  48.31  46.99  47.00  47.81  1.02e+06
    2018-06-05  48.84  47.93  48.00  48.55  1.03e+06
    2018-06-06  48.80  48.15  48.55  48.41  5.46e+05
    2018-06-07  48.86  47.92  48.75  47.98  5.64e+05
    2018-06-08  48.73  47.75  47.95  48.15  7.34e+05
    2018-06-11  49.48  48.23  48.70  48.93  8.80e+05
    2018-06-12  50.58  48.95  49.16  50.40  1.01e+06
    2018-06-13  50.76  49.75  50.20  49.88  5.65e+05
    2018-06-14  50.23  48.65  49.93  48.94  6.08e+05
예제 #4
0
        #[(1, '2019-1-1', '2', 10.12, 10.12, 10.12, 10.12, 'None'), (3, '2019-1-3', '2', 10.14, 10.14, 10.14, 10.14, 'Buy Signal'), (4, '2019-1-4', '2', 10.15, 10.15, 10.15, 10.15, 'Sell Signal')]

        # 删除一个表
        c.execute("drop table SZ000002")
        conn.commit()
        conn.close()
    except:
        # 删除一个表
        c.execute("drop table SZ000002")
        conn.commit()
        conn.close()


# 获取格力电器日线行情数据
if False:
    df_gldq = pro_daily_stock('000651.SZ', '20190101', '20190201')
    print(df_gldq.head())
    """
                 High    Low   Open  Close     Volume   
    Date                                                      
    2019-01-02  36.45  35.70  36.45  35.80  424789.84      
    2019-01-03  36.19  35.75  35.80  35.92  258798.02      
    2019-01-04  36.70  35.56  35.72  36.65  489612.13      
    2019-01-07  36.96  36.25  36.88  36.48  392690.76     
    2019-01-08  36.42  36.03  36.41  36.34  193021.64    
    """
else:
    df_gldq = pro.daily(ts_code='000651.SZ', start_date='20190101', end_date='20190201')
    print(df_gldq.head())
    """
         ts_code trade_date   open    ...     pct_chg        vol    amount