%matplotlib inline
%time from hikyuu.interactive import *
warning: can't import TA-Lib, will be ignored! You can fetch ta-lib from https://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib std::cout are redirected to python::stdout std::cerr are redirected to python::stderr 2023-10-14 02:21:14.516 [HKU-I] - Using SQLITE3 BaseInfoDriver (BaseInfoDriver.cpp:58) 2023-10-14 02:21:14.517 [HKU-I] - Loading market information... (StockManager.cpp:499) 2023-10-14 02:21:14.517 [HKU-I] - Loading stock type information... (StockManager.cpp:512) 2023-10-14 02:21:14.518 [HKU-I] - Loading stock information... (StockManager.cpp:426) 2023-10-14 02:21:14.572 [HKU-I] - Loading stock weight... (StockManager.cpp:529) 2023-10-14 02:21:14.988 [HKU-I] - Loading KData... (StockManager.cpp:134) 2023-10-14 02:21:14.993 [HKU-I] - Preloading all day kdata to buffer! (StockManager.cpp:157) 2023-10-14 02:21:14.994 [HKU-I] - Preloading all week kdata to buffer! (StockManager.cpp:160) 2023-10-14 02:21:14.994 [HKU-I] - Preloading all month kdata to buffer! (StockManager.cpp:163) 2023-10-14 02:21:15.008 [HKU-I] - 0.02s Loaded Data. (StockManager.cpp:145) Wall time: 1.2 s
#s = getStock('sh000001')
s = sm['sh000001']
print(s)
Stock(SH, 000001, 上证指数, 指数, 1, 1990-12-19 00:00:00, +infinity)
i = 0
#遍历所有股票
for s in sm:
i += 1
#print(s)
print("全部数量:", i)
len(sm)
全部数量: 7928
7928
blk = sm.get_block("指数板块", "上证380")
for s in blk:
if not s.valid:
print(s)
Stock(SH, 600175, 美都能源, A股, 0, 1999-04-08 00:00:00, +infinity) Stock(SH, 600260, *ST凯乐, A股, 0, 2000-07-06 00:00:00, +infinity) Stock(SH, 600240, *ST华业, A股, 0, 2000-06-28 00:00:00, +infinity) Stock(SH, 600614, *ST鹏起, A股, 0, 1992-08-28 00:00:00, +infinity) Stock(SH, 600687, *ST刚泰, A股, 0, 1993-11-08 00:00:00, +infinity) Stock(SH, 600093, 退市易见, A股, 0, 1997-06-26 00:00:00, +infinity) Stock(SH, 600122, *ST宏图, A股, 0, 1998-04-20 00:00:00, +infinity) Stock(SH, 600393, ST粤泰, A股, 0, 2001-03-19 00:00:00, +infinity) Stock(SH, 600978, *ST宜生, A股, 0, 2004-08-24 00:00:00, +infinity) Stock(SH, 600270, 外运发展, A股, 0, 2000-12-28 00:00:00, +infinity) Stock(SH, 600856, 退市中天, A股, 0, 1994-04-25 00:00:00, +infinity)
自定义板块的板块分类固定为 “self”
blk = sm.get_block("self", "1")
for s in blk:
print(s)
Stock(SZ, 002685, 华东重机, A股, 1, 2012-06-12 00:00:00, +infinity) Stock(SZ, 002339, 积成电子, A股, 1, 2010-01-22 00:00:00, +infinity) Stock(SZ, 000728, 国元证券, A股, 1, 1997-05-22 00:00:00, +infinity) Stock(SZ, 000958, 电投产融, A股, 1, 1999-12-23 00:00:00, +infinity) Stock(SZ, 000001, 平安银行, A股, 1, 1991-01-02 00:00:00, +infinity) Stock(SH, 600601, 方正科技, A股, 1, 1990-12-19 00:00:00, +infinity) Stock(SH, 600050, 中国联通, A股, 1, 2002-10-09 00:00:00, +infinity) Stock(SH, 601098, 中南传媒, A股, 1, 2010-10-28 00:00:00, +infinity) Stock(SH, 601018, 宁波港, A股, 1, 2010-09-28 00:00:00, +infinity)
板块信息在数据存放路径中 “block” 子目录下,目前采用的是钱龙的格式,你也可从钱龙相应的目录下拷贝最新的板块配置信息。
ws = sm['sz000001'].get_weight()
for w in ws:
print(w)
Weight(1991-04-03 00:00:00, 0, 0, 0, 0, 0, 150, 68) Weight(1993-05-24 00:00:00, 3.5, 1, 16, 3, 5, 26941, 17912) Weight(1994-07-11 00:00:00, 3, 1, 5, 5, 2, 43106, 28659) Weight(1994-09-02 00:00:00, 0, 0, 0, 0, 0, 43106, 29707) Weight(1995-09-25 00:00:00, 2, 0, 0, 3, 0, 51728, 35721) Weight(1996-05-27 00:00:00, 5, 0, 0, 0, 5, 103456, 71393) Weight(1997-08-25 00:00:00, 5, 0, 0, 2, 0, 155184, 107163) Weight(1999-10-18 00:00:00, 0, 0, 0, 6, 0, 155184, 107163) Weight(2000-11-06 00:00:00, 0, 3, 8, 0, 0, 194582, 139312) Weight(2002-07-23 00:00:00, 0, 0, 0, 1.5, 0, 194582, 140936) Weight(2003-09-29 00:00:00, 0, 0, 0, 1.5, 0, 194582, 140936) Weight(2007-06-20 00:00:00, 1, 0, 0, 0, 0, 208676, 155019) Weight(2007-12-31 00:00:00, 0, 0, 0, 0, 0, 229341, 175682) Weight(2008-01-21 00:00:00, 0, 0, 0, 0, 0, 229341, 175682) Weight(2008-06-26 00:00:00, 0, 0, 0, 0, 0, 229341, 204652) Weight(2008-06-27 00:00:00, 0, 0, 0, 0, 0, 238880, 214200) Weight(2008-10-31 00:00:00, 3, 0, 0, 0.335, 0, 310543, 278461) Weight(2009-06-22 00:00:00, 0, 0, 0, 0, 0, 310543, 292367) Weight(2009-06-30 00:00:00, 0, 0, 0, 0, 0, 310543, 292376) Weight(2009-10-15 00:00:00, 0, 0, 0, 0, 0, 310543, 292411) Weight(2010-06-28 00:00:00, 0, 0, 0, 0, 0, 310543, 310537) Weight(2010-09-17 00:00:00, 0, 0, 0, 0, 0, 348501, 310537) Weight(2011-08-05 00:00:00, 0, 0, 0, 0, 0, 512335, 310536) Weight(2011-12-31 00:00:00, 0, 0, 0, 0, 0, 512335, 310536) Weight(2012-10-19 00:00:00, 0, 0, 0, 1, 0, 512335, 310536) Weight(2012-12-31 00:00:00, 0, 0, 0, 0, 0, 512335, 310536) Weight(2013-06-20 00:00:00, 6, 0, 0, 1.7, 0, 819736, 496857) Weight(2013-11-12 00:00:00, 0, 0, 0, 0, 0, 819736, 557590) Weight(2014-01-09 00:00:00, 0, 0, 0, 0, 0, 952075, 557590) Weight(2014-06-12 00:00:00, 0, 0, 0, 1.6, 2, 1.14249e+06, 669106) Weight(2014-09-01 00:00:00, 0, 0, 0, 0, 0, 1.14249e+06, 983671) Weight(2015-04-13 00:00:00, 0, 0, 0, 1.74, 2, 1.37099e+06, 1.1804e+06) Weight(2015-05-21 00:00:00, 0, 0, 0, 0, 0, 1.43087e+06, 1.1804e+06) Weight(2016-05-23 00:00:00, 0, 0, 0, 0, 0, 1.43087e+06, 1.21926e+06) Weight(2016-06-16 00:00:00, 0, 0, 0, 1.53, 2, 1.71704e+06, 1.46312e+06) Weight(2017-01-09 00:00:00, 0, 0, 0, 0, 0, 1.71704e+06, 1.6918e+06) Weight(2017-07-21 00:00:00, 0, 0, 0, 1.58, 0, 1.71704e+06, 1.6918e+06) Weight(2017-12-31 00:00:00, 0, 0, 0, 0, 0, 1.71704e+06, 1.6918e+06) Weight(2018-05-21 00:00:00, 0, 0, 0, 0, 0, 1.71704e+06, 1.71702e+06) Weight(2018-07-12 00:00:00, 0, 0, 0, 1.36, 0, 1.71704e+06, 1.71702e+06) Weight(2019-06-26 00:00:00, 0, 0, 0, 1.45, 0, 1.71704e+06, 1.71702e+06) Weight(2019-06-30 00:00:00, 0, 0, 0, 0, 0, 1.71704e+06, 1.71702e+06) Weight(2019-09-18 00:00:00, 0, 0, 0, 0, 0, 1.94059e+06, 1.94058e+06) Weight(2020-05-28 00:00:00, 0, 0, 0, 2.18, 0, 1.94059e+06, 1.94058e+06) Weight(2020-12-31 00:00:00, 0, 0, 0, 0, 0, 1.94059e+06, 1.94058e+06) Weight(2021-05-14 00:00:00, 0, 0, 0, 1.799, 0, 1.94059e+06, 1.94058e+06) Weight(2021-12-31 00:00:00, 0, 0, 0, 0, 0, 1.94059e+06, 1.94055e+06) Weight(2022-07-22 00:00:00, 0, 0, 0, 2.279, 0, 1.94059e+06, 1.94055e+06) Weight(2023-06-14 00:00:00, 0, 0, 0, 2.849, 0, 1.94059e+06, 1.94055e+06)