From c362a8f79844b3a333829b7282305ba2bff30cda Mon Sep 17 00:00:00 2001 From: lishulincug <1627041882@qq.com> Date: Wed, 17 Jan 2018 11:36:01 +0800 Subject: [PATCH 01/67] Create .travis.yml --- .travis.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..a50b693 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,8 @@ +language: python +python: + - "3.5" +# command to install dependencies +install: "pip install -r requirements.txt" +# command to run tests +script: + - python3 ./trade_process/live_trade.py From 973e9bb904e302e4387ec96a45af467896fb1c60 Mon Sep 17 00:00:00 2001 From: lishulincug <1627041882@qq.com> Date: Wed, 17 Jan 2018 21:11:52 +0800 Subject: [PATCH 02/67] Add files via upload MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 组合策略 --- BP.py | 386 ++--- BP.pyc | Bin 0 -> 4716 bytes README.md | 6 +- cleastsq.py | 228 +-- cleastsq.pyc | Bin 0 -> 2978 bytes config.ini | 20 +- cwavelet.py | 256 ++-- cwavelet.pyc | Bin 0 -> 2468 bytes data_process/Stock.py | 176 +-- data_process/Stock.pyc | Bin 0 -> 3301 bytes data_process/__init__.py | 10 +- data_process/__init__.pyc | Bin 0 -> 313 bytes data_process/data_calcute.py | 310 ++-- data_process/data_calcute.pyc | Bin 0 -> 3930 bytes data_process/data_download.py | 590 ++++---- data_process/data_get.py | 236 ++-- data_process/data_get.pyc | Bin 0 -> 3331 bytes data_process/download_stock.py | 407 +++--- data_process/download_stock.pyc | Bin 0 -> 4923 bytes data_process/get_all_china_stock_code.py | 394 +++--- data_process/native_data.py | 66 +- data_process/native_data.pyc | Bin 0 -> 870 bytes data_process/online_data.py | 297 ++-- data_process/online_data.pyc | Bin 0 -> 4135 bytes init.py | 159 ++- init.pyc | Bin 0 -> 4154 bytes k-line.py | 72 +- livedata.py | 414 +++--- new_trade/main.py | 104 +- new_trade/strategy_ma.py | 71 +- plot.py | 414 +++--- plot.pyc | Bin 0 -> 4990 bytes requirements.txt | 16 + shedule/trade_daily.bat | 2 +- stock.py | 474 +++---- stock_trader.py | 21 + trade_process/__init__.py | 2 +- trade_process/__init__.pyc | Bin 0 -> 168 bytes trade_process/efund_mail2.py | 565 ++++++++ trade_process/efund_mail2.pyc | Bin 0 -> 14798 bytes trade_process/fibonacci.py | 32 +- trade_process/fund_zf.py | 274 ++++ trade_process/fund_zf.pyc | Bin 0 -> 6073 bytes trade_process/fundlist-2017-03-27.txt | 1 + trade_process/kline_technical_index.py | 504 +++---- trade_process/live_trade.py | 296 ++-- trade_process/requirements.txt | 10 + trade_process/select_stock_center.py | 148 +- trade_process/strategy/__init__.py | 8 +- trade_process/strategy/__init__.pyc | Bin 0 -> 323 bytes trade_process/strategy/macd_back_test.py | 1253 +++++++++-------- trade_process/strategy/macd_back_test.pyc | Bin 0 -> 14063 bytes trade_process/strategy/macd_live_test.py | 504 +++---- trade_process/strategy/macd_live_test.pyc | Bin 0 -> 6728 bytes trade_process/strategy/stop_loss.py | 730 +++++----- trade_process/strategy/stop_loss.pyc | Bin 0 -> 9831 bytes trade_process/strategy/strategy_macd.py | 130 +- trade_process/strategy/strategy_macd.pyc | Bin 0 -> 1972 bytes trade_process/strategy/test.py | 214 +-- trade_process/strategy/tread_tracking.py | 1099 ++++++++------- trade_process/strategy/tread_tracking.pyc | Bin 0 -> 11195 bytes trade_process/strategy/turtletrader.py | 20 +- ...2\345\220\215\347\273\223\346\236\234.txt" | 174 +++ util/MyLogger.py | 176 +-- util/MyLogger.pyc | Bin 0 -> 2314 bytes util/__init__.py | 2 +- util/__init__.pyc | Bin 0 -> 247 bytes util/codeConvert.py | 124 +- util/codeConvert.pyc | Bin 0 -> 2967 bytes util/commons.py | 74 +- util/commons.pyc | Bin 0 -> 813 bytes util/helper.py | 38 +- util/helper.pyc | Bin 0 -> 755 bytes util/send_mail.py | 98 +- util/send_mail.pyc | Bin 0 -> 1597 bytes util/stockutil.py | 82 +- util/stockutil.pyc | Bin 0 -> 1267 bytes 77 files changed, 6429 insertions(+), 5258 deletions(-) create mode 100644 BP.pyc create mode 100644 cleastsq.pyc create mode 100644 cwavelet.pyc create mode 100644 data_process/Stock.pyc create mode 100644 data_process/__init__.pyc create mode 100644 data_process/data_calcute.pyc create mode 100644 data_process/data_get.pyc create mode 100644 data_process/download_stock.pyc create mode 100644 data_process/native_data.pyc create mode 100644 data_process/online_data.pyc create mode 100644 init.pyc create mode 100644 plot.pyc create mode 100644 requirements.txt create mode 100644 stock_trader.py create mode 100644 trade_process/__init__.pyc create mode 100644 trade_process/efund_mail2.py create mode 100644 trade_process/efund_mail2.pyc create mode 100644 trade_process/fund_zf.py create mode 100644 trade_process/fund_zf.pyc create mode 100644 trade_process/fundlist-2017-03-27.txt create mode 100644 trade_process/requirements.txt create mode 100644 trade_process/strategy/__init__.pyc create mode 100644 trade_process/strategy/macd_back_test.pyc create mode 100644 trade_process/strategy/macd_live_test.pyc create mode 100644 trade_process/strategy/stop_loss.pyc create mode 100644 trade_process/strategy/strategy_macd.pyc create mode 100644 trade_process/strategy/tread_tracking.pyc create mode 100644 "trade_process/\345\237\272\351\207\221\347\273\274\345\220\210\346\216\222\345\220\215\347\273\223\346\236\234.txt" create mode 100644 util/MyLogger.pyc create mode 100644 util/__init__.pyc create mode 100644 util/codeConvert.pyc create mode 100644 util/commons.pyc create mode 100644 util/helper.pyc create mode 100644 util/send_mail.pyc create mode 100644 util/stockutil.pyc diff --git a/BP.py b/BP.py index 8f60e1a..61519fc 100644 --- a/BP.py +++ b/BP.py @@ -1,193 +1,193 @@ -# coding=utf-8 -# Back-Propagation Neural Networks -# http://blog.csdn.net/akunainiannian/article/details/40073903 - -import math -import random -import string - -random.seed(0) - -# calculate a random number where: a <= rand < b -def rand(a, b): - return (b-a)*random.random() + a - -# Make a matrix (we could use NumPy to speed this up) -def makeMatrix(I, J, fill=0.0): - m = [] - for i in range(I): - m.append([fill]*J) - return m - -# our sigmoid function, tanh is a little nicer than the standard 1/(1+e^-x) -#使用双正切函数代替logistic函数 -def sigmoid(x): - return math.tanh(x) - -# derivative of our sigmoid function, in terms of the output (i.e. y) -# 双正切函数的导数,在求取输出层和隐藏侧的误差项的时候会用到 -def dsigmoid(y): - return 1.0 - y**2 - -class NN: - def __init__(self, ni, nh, no): - # number of input, hidden, and output nodes - # 输入层,隐藏层,输出层的数量,三层网络 - self.ni = ni + 1 # +1 for bias node - self.nh = nh - self.no = no - - # activations for nodes - self.ai = [1.0]*self.ni - self.ah = [1.0]*self.nh - self.ao = [1.0]*self.no - - # create weights - #生成权重矩阵,每一个输入层节点和隐藏层节点都连接 - #每一个隐藏层节点和输出层节点链接 - #大小:self.ni*self.nh - self.wi = makeMatrix(self.ni, self.nh) - #大小:self.ni*self.nh - self.wo = makeMatrix(self.nh, self.no) - # set them to random vaules - #生成权重,在-0.2-0.2之间 - for i in range(self.ni): - for j in range(self.nh): - self.wi[i][j] = rand(-0.2, 0.2) - for j in range(self.nh): - for k in range(self.no): - self.wo[j][k] = rand(-2.0, 2.0) - - # last change in weights for momentum - #? - self.ci = makeMatrix(self.ni, self.nh) - self.co = makeMatrix(self.nh, self.no) - - def update(self, inputs): - if len(inputs) != self.ni-1: - raise ValueError('wrong number of inputs') - - # input activations - # 输入的激活函数,就是y=x; - for i in range(self.ni-1): - #self.ai[i] = sigmoid(inputs[i]) - self.ai[i] = inputs[i] - - # hidden activations - #隐藏层的激活函数,求和然后使用压缩函数 - for j in range(self.nh): - sum = 0.0 - for i in range(self.ni): - #sum就是《ml》书中的net - sum = sum + self.ai[i] * self.wi[i][j] - self.ah[j] = sigmoid(sum) - - # output activations - #输出的激活函数 - for k in range(self.no): - sum = 0.0 - for j in range(self.nh): - sum = sum + self.ah[j] * self.wo[j][k] - self.ao[k] = sigmoid(sum) - - return self.ao[:] - - #反向传播算法 targets是样本的正确的输出 - def backPropagate(self, targets, N, M): - if len(targets) != self.no: - raise ValueError('wrong number of target values') - - # calculate error terms for output - #计算输出层的误差项 - output_deltas = [0.0] * self.no - for k in range(self.no): - #计算k-o - error = targets[k]-self.ao[k] - #计算书中公式4.14 - output_deltas[k] = dsigmoid(self.ao[k]) * error - - # calculate error terms for hidden - #计算隐藏层的误差项,使用《ml》书中的公式4.15 - hidden_deltas = [0.0] * self.nh - for j in range(self.nh): - error = 0.0 - for k in range(self.no): - error = error + output_deltas[k]*self.wo[j][k] - hidden_deltas[j] = dsigmoid(self.ah[j]) * error - - # update output weights - # 更新输出层的权重参数 - # 这里可以看出,本例使用的是带有“增加冲量项”的BPANN - # 其中,N为学习速率 M为充量项的参数 self.co为冲量项 - # N: learning rate - # M: momentum factor - for j in range(self.nh): - for k in range(self.no): - change = output_deltas[k]*self.ah[j] - self.wo[j][k] = self.wo[j][k] + N*change + M*self.co[j][k] - self.co[j][k] = change - #print N*change, M*self.co[j][k] - - # update input weights - #更新输入项的权重参数 - for i in range(self.ni): - for j in range(self.nh): - change = hidden_deltas[j]*self.ai[i] - self.wi[i][j] = self.wi[i][j] + N*change + M*self.ci[i][j] - self.ci[i][j] = change - - # calculate error - #计算E(w) - error = 0.0 - for k in range(len(targets)): - error = error + 0.5*(targets[k]-self.ao[k])**2 - return error - - #测试函数,用于测试训练效果 - def test(self, patterns): - for p in patterns: - print(p[0], '->', self.update(p[0])) - - def weights(self): - print('Input weights:') - for i in range(self.ni): - print(self.wi[i]) - print() - print('Output weights:') - for j in range(self.nh): - print(self.wo[j]) - - def train(self, patterns, iterations=1000, N=0.5, M=0.1): - # N: learning rate - # M: momentum factor - for i in range(iterations): - error = 0.0 - for p in patterns: - inputs = p[0] - targets = p[1] - self.update(inputs) - error = error + self.backPropagate(targets, N, M) - if i % 100 == 0: - print('error %-.5f' % error) - - -def demo(): - # Teach network XOR function - pat = [ - [[0], [0]], - [[2], [1]], - [[3], [1]], - [[4], [5]] - ] - - # create a network with two input, two hidden, and one output nodes - n = NN(1, 2, 1) - # train it with some patterns - n.train(pat) - # test it - n.test(pat) - - - -if __name__ == '__main__': - demo() +# coding=utf-8 +# Back-Propagation Neural Networks +# http://blog.csdn.net/akunainiannian/article/details/40073903 + +import math +import random +import string + +random.seed(0) + +# calculate a random number where: a <= rand < b +def rand(a, b): + return (b-a)*random.random() + a + +# Make a matrix (we could use NumPy to speed this up) +def makeMatrix(I, J, fill=0.0): + m = [] + for i in range(I): + m.append([fill]*J) + return m + +# our sigmoid function, tanh is a little nicer than the standard 1/(1+e^-x) +#使用双正切函数代替logistic函数 +def sigmoid(x): + return math.tanh(x) + +# derivative of our sigmoid function, in terms of the output (i.e. y) +# 双正切函数的导数,在求取输出层和隐藏侧的误差项的时候会用到 +def dsigmoid(y): + return 1.0 - y**2 + +class NN: + def __init__(self, ni, nh, no): + # number of input, hidden, and output nodes + # 输入层,隐藏层,输出层的数量,三层网络 + self.ni = ni + 1 # +1 for bias node + self.nh = nh + self.no = no + + # activations for nodes + self.ai = [1.0]*self.ni + self.ah = [1.0]*self.nh + self.ao = [1.0]*self.no + + # create weights + #生成权重矩阵,每一个输入层节点和隐藏层节点都连接 + #每一个隐藏层节点和输出层节点链接 + #大小:self.ni*self.nh + self.wi = makeMatrix(self.ni, self.nh) + #大小:self.ni*self.nh + self.wo = makeMatrix(self.nh, self.no) + # set them to random vaules + #生成权重,在-0.2-0.2之间 + for i in range(self.ni): + for j in range(self.nh): + self.wi[i][j] = rand(-0.2, 0.2) + for j in range(self.nh): + for k in range(self.no): + self.wo[j][k] = rand(-2.0, 2.0) + + # last change in weights for momentum + #? + self.ci = makeMatrix(self.ni, self.nh) + self.co = makeMatrix(self.nh, self.no) + + def update(self, inputs): + if len(inputs) != self.ni-1: + raise ValueError('wrong number of inputs') + + # input activations + # 输入的激活函数,就是y=x; + for i in range(self.ni-1): + #self.ai[i] = sigmoid(inputs[i]) + self.ai[i] = inputs[i] + + # hidden activations + #隐藏层的激活函数,求和然后使用压缩函数 + for j in range(self.nh): + sum = 0.0 + for i in range(self.ni): + #sum就是《ml》书中的net + sum = sum + self.ai[i] * self.wi[i][j] + self.ah[j] = sigmoid(sum) + + # output activations + #输出的激活函数 + for k in range(self.no): + sum = 0.0 + for j in range(self.nh): + sum = sum + self.ah[j] * self.wo[j][k] + self.ao[k] = sigmoid(sum) + + return self.ao[:] + + #反向传播算法 targets是样本的正确的输出 + def backPropagate(self, targets, N, M): + if len(targets) != self.no: + raise ValueError('wrong number of target values') + + # calculate error terms for output + #计算输出层的误差项 + output_deltas = [0.0] * self.no + for k in range(self.no): + #计算k-o + error = targets[k]-self.ao[k] + #计算书中公式4.14 + output_deltas[k] = dsigmoid(self.ao[k]) * error + + # calculate error terms for hidden + #计算隐藏层的误差项,使用《ml》书中的公式4.15 + hidden_deltas = [0.0] * self.nh + for j in range(self.nh): + error = 0.0 + for k in range(self.no): + error = error + output_deltas[k]*self.wo[j][k] + hidden_deltas[j] = dsigmoid(self.ah[j]) * error + + # update output weights + # 更新输出层的权重参数 + # 这里可以看出,本例使用的是带有“增加冲量项”的BPANN + # 其中,N为学习速率 M为充量项的参数 self.co为冲量项 + # N: learning rate + # M: momentum factor + for j in range(self.nh): + for k in range(self.no): + change = output_deltas[k]*self.ah[j] + self.wo[j][k] = self.wo[j][k] + N*change + M*self.co[j][k] + self.co[j][k] = change + #print N*change, M*self.co[j][k] + + # update input weights + #更新输入项的权重参数 + for i in range(self.ni): + for j in range(self.nh): + change = hidden_deltas[j]*self.ai[i] + self.wi[i][j] = self.wi[i][j] + N*change + M*self.ci[i][j] + self.ci[i][j] = change + + # calculate error + #计算E(w) + error = 0.0 + for k in range(len(targets)): + error = error + 0.5*(targets[k]-self.ao[k])**2 + return error + + #测试函数,用于测试训练效果 + def test(self, patterns): + for p in patterns: + print(p[0], '->', self.update(p[0])) + + def weights(self): + print('Input weights:') + for i in range(self.ni): + print(self.wi[i]) + print() + print('Output weights:') + for j in range(self.nh): + print(self.wo[j]) + + def train(self, patterns, iterations=1000, N=0.5, M=0.1): + # N: learning rate + # M: momentum factor + for i in range(iterations): + error = 0.0 + for p in patterns: + inputs = p[0] + targets = p[1] + self.update(inputs) + error = error + self.backPropagate(targets, N, M) + if i % 100 == 0: + print('error %-.5f' % error) + + +def demo(): + # Teach network XOR function + pat = [ + [[0], [0]], + [[2], [1]], + [[3], [1]], + [[4], [5]] + ] + + # create a network with two input, two hidden, and one output nodes + n = NN(1, 2, 1) + # train it with some patterns + n.train(pat) + # test it + n.test(pat) + + + +if __name__ == '__main__': + demo() diff --git a/BP.pyc b/BP.pyc new file mode 100644 index 0000000000000000000000000000000000000000..172f6b9588abfd09008226536beca93525d68849 GIT binary patch literal 4716 zcmb7IO^h5@5w6!g|GR^Y_je4j$8qe85H_)#5O7wpmDsW!lp*RxELqtZ+S9$Wy}L8B zGu?|P(#`?w1LEKd2YwDHTsY>6-~w0f+_>a~I7Z@%1m9P$yJxe2v^%q1Q}3s%>Q#MJ z@4a>ZS+D)>Zy#-TCH=Vgy@Mxy0TSTP$eze%&Kub@S-&Hjj)X>bTnQX`X2b-pJjd*U z1o$h;bIdMEP}0tl1Z8E)5>zCZm!Qh#Gm#HB(XQ!ORl=GCbF%Bm_-7JUIcx@M#(Jv` zlcIm)(~iJN*8$0%cfrTYAcsZ{MOG7$9TmQa*2;RzV5qG$DS;jPgJ9Ti@$G~|zS1Wx zu%aZs0PfzcN3Y#{_`OG42ZP{-(noPJ?Cw5#=Y#9}A14J&p`dyE#uO!{N6Jr^jx6Hg zBsK00Fc_Y?GHD6SgI#dh-N)x;T989mc3`+8Jy0WybmnM5Hqf8huC`JlRQ5t$g}=Wa z4uTdt)&7S{-&4c3qP;zB_LWAbTUrew`~GhDzMqVv$yv1G3W%7JSum@nOP}$fQMx+D zhCWyC!}>2+O&|3AWLphO{K2*j1O>ns_?+0~WlWBvUVj(`t7NU$b93l)HHRSqbm3zl zb76J8#gTRzozHJae9vm85$d6jPiIMm8d6hU0-u_aP;$H71=SCi{tlk_K1hh%(Cm2* z#-V{^G<(P(XKel;X9_xmoYDM2<{)RDyRumpZ@pE8tS%+f9gM!N`3G1Eumhl6$NnP6h$p!{LD%&XZ=O=LdD_U zmbbuJizG`V%wI+Ij?&%JW4qIdU~;E(36kO_h`4oAHC1;36=0#X>a4oUX4$-q2eg2i zK;*Nw@=-v38}4GE)1X;|0i3J5u8dIu6^%f_PmG|zPrfdRq7>-jB!$O{OaUl>%RvMI zKh#MFaa;o;cCzV3i=+=(SOFuV?9FT}MaxwcgO@WADh!CGSXUa0D|l=449HOEK{aOr zI4+d+jw-``MA$+ZAa+byY6z5J9afo&P-Qg=Bc@YjpC3~;N0hFO{)&nZ)pK%Ty~Vg& z#Oc2FbUYmNnuCM>lW^P|ZZ)I9{y`FFK$8|L9y}?<^ITvArxiub36f8E}r)Ii^Jps~rIC7_11XR}@kjato)3Qv4ndFiM$VW28k;V~-n!KKkrD(jY zT7f>5r-}i)N{)__jQ$98SPOt4jARz*ytUD90Ld4b)Kue?8YfBCo9gPSu9+e$ZgFZ$ z^Gq#wimEKG*o|Tb!?`{5Lq2g0v)GYOSQ}k68>6%4h(R^$0vJ>~Vo+)(41x`*JO~2r zYsiVzpm}Yn?k^ft&j(;5UdtzD2IUjhM!$zazcq{zz5f`j5p!&oiD^oHmL4*`gcm&)QJZ2flhcyUJoCOx zqGeliPgC)$?9+O#*{X^974)^31vV+m;H>so>w8=2`w35B!-E8sp%a9Ai63i*0!ui1 zun6dc?I;MsK{i42nYq>7=DAXn{B$WzrBD3s?g!)HzTZP;{}3JV>mXv5klAOE(@V}p z{xZMKC3CUDO=HQtX&S|xE0j&*SrEuX7IhooWNB6o07O;c`a3xsb(fO{;EX=nnM_ywG z!~A>cf~mb76LAl@J2an$QExkmZ^f+h-&I`XeRh#VhJ~X7PO+B5apt61=|7!sh||=F zUw~E9#1s+yv!MKq{s9l=DU+V0{&2fX!?=M_g8J{LU?x9S*QLk3n0XABGR+@Yc-#?G zW0V&-u3-xe{MbmV3!Ge`2MyAiz|j)JiieY@E1L67?7xs%kYz~V9kk8^IOZ?I%XPt@ zMHaD{-6n7+MN9N-7y)+@Gfy?$npdt}e`CwKk+D(edDpa zd#`eouC|W<8o6(fTqd~+a=JLso5|RZ2A_b5&w&WeaU}q?hHu@xgm|5Y}%O=Aa(L5VnE=Ap-Ua|jI;5-%<>T1t2Sxe zGlt)#!a1kzq*3Z4pq-ADta}6f=;5)awis9UK`*@`gn`~6^nziJeY*9i-QVJCtgq{vEtDb!qKY(aX}Jbzi)gz_Yqs7~*Us9Gy=%G# zTS7{a5Ji-SA|yaUNT@ z9mw4H`Mg!6=$FR(2p+FbCvu1^P>md&T#YI^S+U+SPFB3fC&)_lc!Mm1oETY2a^iFa z8dBsWgh`WQ2$LZvDNG+ZDPj6a4Um(jWu2NyUB##}NUOM;C6%Sh7IHGQs*yEBDnXTD zv4y++vgwRO}UJ3P|A!~}%7^!iZw6>C(CS_1%8#!=rh*ov>(HW*uYdar-2eVM5CaAK5 z6fSNTLz@BUk2URDNeNePI;!c%AahmC=L7c2imExXS!-2S+QQk*rrpkSDt)vo1vVTY zs@nbn(g%Zbh?fUtU6E6MAd6*LIN`$0<2VWN_JMn9Zt0Oj&%CsBu~l;p3SIL2dU1LG zqf13s*`Dt;4!{Qn5FWn(3tPZ?(;%c7+EnyR%X?TG)P}SnJ*ySj%M>1tNRa;m3?r{o z@NN&eO~|*Yi-`kd;}o3h?cam!2}YffH7MBILl%f|-2hcUY6z+cM%AFk8NdeM0S+YC z%gsV}<1nPUfEoWMn9|ko5BvWWOcOzo$q1Mnu*o=@jEu=B=Q#nUfX=(^b4de3phgV522$oP~we&^blfn#)5cT?4w}A#?Xuvnfxfmu%A$3+$GXj z$Z{_;9POeMyF@BA>y~S_TaqI5>h7z`%;J!l1IbHDI0q&d&U&3L++UO_=!oiY;bHI| zC!4fAT9Mu2Ec07}%7B6Y=uU?KXy`U%l;>kUYpSWsFLM70g7@!`r+iWK7*u+!oU|f` z%^s}R|5sQb$LkqIxpO<9+^-XlK#l7GrH6qcCEb;BN7_;DcJG9=NI1xz=aT1kNJ%@0 z28^&?JEW{wHvzQ9|KE0&tU|gxe*Bk%v}!PFke`yp6Ca9umRkE{KNMy|WD? zjcdr9V1g&=0#3EGLY^}qvmrI)*Ri8se%OD?ZSD`3ygzKbgH<$4- z;Pf3R9g^SO`BG@-%Dl)+Ligt%;5$i>LcysQ3k82j?)xil-FM3uFtV8wtr5!wx#If0 z@5ZH#=EcXzsaL}(w%)fPrc=0N&VWQosM%EoW9;n3a;eo+f)iN34V zft<9%uN{XKeuHee<&|p^Oj|IPF&T~sz8VDPPP}AXTy*QUFTt{>xFy#dsW1sg401BU z@~O!z78^len>$z!d+e$be^_~9c$eyzH|j^Y|1)b-P;t0gcUrD`k~MorKnyLb_48lM xh^2?pgXu&%o*wDf`?YLrR9j3K7{Z1&pk=gaJ%i8WXlfTelzsZBHmvW0 thr: - value -= thr - else: - value += thr - newValues.append(value) - return newValues - -def getWaveletData(values, waveletName, level, threadMethodName): - mode = 'sym' - #小波系数分解 - data = pywt.wavedec(values, waveletName, mode, level) - #cA4, cD4, cD3, cD2, cD1 = pywt.wavedec(values, waveletName, mode, level) - coeffs = [] #小波重构系数 - #阈值处理 - if threadMethodName == 'sqtwolog': - #print len(cA4), len(cD4), len(cD3), len(cD2), len(cD1),len(values) - for i in np.arange(0, len(data)): - if i > 0: - data[i] = softThreshold(threshold_sqtwolog(len(data[i])), data[i]) - coeffs.append(data[i]) - #小波重构 - zValues = pywt.waverec(coeffs, waveletName, mode) - -# if level == 4: -# #cA4, cD4, cD3, cD2, cD1 = pywt.wavedec(values, waveletName, mode, level) -# coeffs = [] -# #阈值处理 -# if threadMethodName == 'sqtwolog': -# #print len(cA4), len(cD4), len(cD3), len(cD2), len(cD1),len(values) -# # cD4 = softThreshold(threshold_sqtwolog(len(cD4)), cD4) -# # cD3 = softThreshold(threshold_sqtwolog(len(cD3)), cD3) -# # cD2 = softThreshold(threshold_sqtwolog(len(cD2)), cD2) -# # cD1 = softThreshold(threshold_sqtwolog(len(cD1)), cD1) -# #小波重构 -# #coeffs = [cA4, cD4, cD3, cD2, cD1] -# zValues = pywt.waverec(coeffs, waveletName, mode) -# elif level ==2: -# cA2, cD2, cD1 = pywt.wavedec(values, waveletName, mode, level) -# #阈值处理 -# if threadMethodName == 'sqtwolog': -# print len(cA2), len(cD2), len(cD1),len(values) -# cD2 = softThreshold(threshold_sqtwolog(len(cD2)), cD2) -# cD1 = softThreshold(threshold_sqtwolog(len(cD1)), cD1) -# #小波重构 -# coeffs = [cA2, cD2, cD1] -# zValues = pywt.waverec(coeffs, waveletName, mode) - return zValues - -#小波包分解 -# forecastCount:预测的点位数 -def getWavePacketData(values, waveletName, level, forecastCount): - wp = pywt.WaveletPacket(data=values, wavelet=waveletName, mode='sym', maxlevel=level) - print waveletName, ":", wp.maxlevel - #nodes = wp.get_level(level) - #labels = [n.path for n in nodes] - #values = pylab.array([n.data for n in nodes], 'd') - #print labels - #print [n.data for n in nodes] - #print [node.path for node in wp.get_leaf_nodes(decompose=False)] - #print [node.path for node in wp.get_leaf_nodes(decompose=True)] - coeffs = [(node.path, node.data) for node in wp.get_leaf_nodes(decompose=True)] - #print coeffs - for node in wp.get_leaf_nodes(decompose=True): - print node.path, len(node.data) - - - coeffsNew = [] - for path, data in coeffs: - data = cleastsq.getFitYValues(range(len(data)), data, range(len(data)+forecastCount)) - coeffsNew.append((path, data)) - - #print coeffsNew - - wp2 = pywt.WaveletPacket(None, waveletName, maxlevel=level) - for path, data in coeffsNew: - wp2[path] = data - - #print wp["a"] - #print [node.path for node in wp2.get_leaf_nodes(decompose=False)] - value2s= wp2.reconstruct(update=True) - newLen = len(values)+forecastCount - print newLen - return value2s[:newLen] - -# print len(value2s) -# value2s_n= wp2.reconstruct(update=False) -# plt.plot(range(18), value2s[0:18], color="b", linewidth=1) -# #plt.plot(range(len(value2s_n)), value2s_n, color="r", linewidth=1) -# plt.xlabel("Time") -# plt.ylabel("Price") -# plt.grid() -# plt.legend() -# plt.show() - -# print wp['a'].data -# print wp['d'].data -# print wp['add'].data -# print wp['ada'].data -# print [node.path for node in wp.get_level(3, 'freq')] - - -if __name__ == '__main__': - values = range(16) - plt.plot(values) - for i in np.arange(4,5): - name = "db"+str(i) - print getWavePacketData(values, name, 3, 3) +#!/usr/local/bin/python +#coding=utf-8 + +import math +import numpy as np +import pywt +import pylab +import matplotlib.pyplot as plt +import cleastsq +import copy + +#固定阈值准则 (sqtwolog) +def threshold_sqtwolog(n): + return math.sqrt(2*math.log(n)) + +#软阈值处理函数 +def softThreshold(thr, values): + newValues = [] + for value in values: + if math.fabs(value) <= thr: + value = 0 + elif value > thr: + value -= thr + else: + value += thr + newValues.append(value) + return newValues + +def getWaveletData(values, waveletName, level, threadMethodName): + mode = 'sym' + #小波系数分解 + data = pywt.wavedec(values, waveletName, mode, level) + #cA4, cD4, cD3, cD2, cD1 = pywt.wavedec(values, waveletName, mode, level) + coeffs = [] #小波重构系数 + #阈值处理 + if threadMethodName == 'sqtwolog': + #print len(cA4), len(cD4), len(cD3), len(cD2), len(cD1),len(values) + for i in np.arange(0, len(data)): + if i > 0: + data[i] = softThreshold(threshold_sqtwolog(len(data[i])), data[i]) + coeffs.append(data[i]) + #小波重构 + zValues = pywt.waverec(coeffs, waveletName, mode) + +# if level == 4: +# #cA4, cD4, cD3, cD2, cD1 = pywt.wavedec(values, waveletName, mode, level) +# coeffs = [] +# #阈值处理 +# if threadMethodName == 'sqtwolog': +# #print len(cA4), len(cD4), len(cD3), len(cD2), len(cD1),len(values) +# # cD4 = softThreshold(threshold_sqtwolog(len(cD4)), cD4) +# # cD3 = softThreshold(threshold_sqtwolog(len(cD3)), cD3) +# # cD2 = softThreshold(threshold_sqtwolog(len(cD2)), cD2) +# # cD1 = softThreshold(threshold_sqtwolog(len(cD1)), cD1) +# #小波重构 +# #coeffs = [cA4, cD4, cD3, cD2, cD1] +# zValues = pywt.waverec(coeffs, waveletName, mode) +# elif level ==2: +# cA2, cD2, cD1 = pywt.wavedec(values, waveletName, mode, level) +# #阈值处理 +# if threadMethodName == 'sqtwolog': +# print len(cA2), len(cD2), len(cD1),len(values) +# cD2 = softThreshold(threshold_sqtwolog(len(cD2)), cD2) +# cD1 = softThreshold(threshold_sqtwolog(len(cD1)), cD1) +# #小波重构 +# coeffs = [cA2, cD2, cD1] +# zValues = pywt.waverec(coeffs, waveletName, mode) + return zValues + +#小波包分解 +# forecastCount:预测的点位数 +def getWavePacketData(values, waveletName, level, forecastCount): + wp = pywt.WaveletPacket(data=values, wavelet=waveletName, mode='sym', maxlevel=level) + print waveletName, ":", wp.maxlevel + #nodes = wp.get_level(level) + #labels = [n.path for n in nodes] + #values = pylab.array([n.data for n in nodes], 'd') + #print labels + #print [n.data for n in nodes] + #print [node.path for node in wp.get_leaf_nodes(decompose=False)] + #print [node.path for node in wp.get_leaf_nodes(decompose=True)] + coeffs = [(node.path, node.data) for node in wp.get_leaf_nodes(decompose=True)] + #print coeffs + for node in wp.get_leaf_nodes(decompose=True): + print node.path, len(node.data) + + + coeffsNew = [] + for path, data in coeffs: + data = cleastsq.getFitYValues(range(len(data)), data, range(len(data)+forecastCount)) + coeffsNew.append((path, data)) + + #print coeffsNew + + wp2 = pywt.WaveletPacket(None, waveletName, maxlevel=level) + for path, data in coeffsNew: + wp2[path] = data + + #print wp["a"] + #print [node.path for node in wp2.get_leaf_nodes(decompose=False)] + value2s= wp2.reconstruct(update=True) + newLen = len(values)+forecastCount + print newLen + return value2s[:newLen] + +# print len(value2s) +# value2s_n= wp2.reconstruct(update=False) +# plt.plot(range(18), value2s[0:18], color="b", linewidth=1) +# #plt.plot(range(len(value2s_n)), value2s_n, color="r", linewidth=1) +# plt.xlabel("Time") +# plt.ylabel("Price") +# plt.grid() +# plt.legend() +# plt.show() + +# print wp['a'].data +# print wp['d'].data +# print wp['add'].data +# print wp['ada'].data +# print [node.path for node in wp.get_level(3, 'freq')] + + +if __name__ == '__main__': + values = range(16) + plt.plot(values) + for i in np.arange(4,5): + name = "db"+str(i) + print getWavePacketData(values, name, 3, 3) plt.plot(values) \ No newline at end of file diff --git a/cwavelet.pyc b/cwavelet.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5448e13223b6b48fcfa5a607c4007fe60a30e33e GIT binary patch literal 2468 zcmbVNZEqVz5S~51#fjafZPFyXl!`Z5AYPJwD5@%i)PPe&t?C*Pu#%dKZ{66j@6Nt; z;~@J};Aij+@duFjGyDpK_zcf8XSY;*qG@kEJG(ox^UO1|xj(DRzx@8V*_QcV5x<|| zOaH^up}37y(+dOy(?l@IW?1pSWkLaC4_^rTzIm3bX%I& zBwQA|CiWV4Z8X=#!XVDBO9)>pa*>z%-V2t7zsfP|*BJ&F5aD;>JC7-p-`rgSf+ z%^&)wN4dMeZ_U!9y zR=`XbUJfn=ChoZX1!PxXFC~a#il%DTP1#gT)mt`KOq(~NcV1GF`wapS$uGbX;y2AR zbZ}`_P+W_|0Nf^Nf09X09Dsoa5MyV7_$osm$gCt<)f+{ZU*&5O}r;`YmpR`2sg> z;YcRk1wW@n>EY~r1r;#7ue>D_m$;f;>mnyJOqY-b#?nxD)ANB_!fe46(m`sBQ`3^1 zpE*~;j3f(f8W}9C<|lLgykIBoCHASx5J( zgCVGl`W~u|BKDOC_Jx?;qfOEVne1g_Q97PH_GDO>Sy3h*{rAAD&kxjr1&;F!pH z<{t*_Q|tU2RL?ol>f4~xia@|r8Mr?hXH-nkz4bD_c3e`sjlHQu8PO#8^hMWw`>!sg zwUSka7GE4$Ee4cF9HnkFZo3*!YMJ;XpTCYlt#xATg7JItIC5HnXNlg2H}ki+jbzNq zqG8YccX(W}Vw*opb`&#hlsj3MMGO7PzT_jrCOI#d3^Ufu9+c@#3}W6kt4rJ7mf6Y` z%{8-aHu9VJy_COdR!zZZqFSv%(2ZKHE~~yvK)UP%8e4eW<*jSiF=X!pm!k0?Irq6e zOB{8{c|SOIybfN|q#wI}_ZY7rCC&C+q_w2)e7>U!TRVm+?Nr*cUW4A>;Ue?cYDH*F zt(MPjk~J-ErBR=*e0}U`6Isi$fc@N@J=ZGzpEsLM@1n_#`}R|MO5em#LBHX@%N%p% Se7RD7zkG|Ds@VdLYvv!dy4v^v literal 0 HcmV?d00001 diff --git a/data_process/Stock.py b/data_process/Stock.py index b7118e3..5afdb39 100644 --- a/data_process/Stock.py +++ b/data_process/Stock.py @@ -1,89 +1,89 @@ -#!/usr/local/bin/python -#coding=utf-8 - -from datetime import date - -from util.codeConvert import * -from init import * - -stockNameList = [('600000', '浦发银行'), \ - ('600048', '保利地产'), \ - ('600011', '华能国际'),\ - ('002600', '江粉磁材'),\ - ('002505', '大康牧业'),\ - ('000725', '京东方A'),\ - ('000783', '长江证券'),\ - ('300315', '掌趣科技'),\ - ('002167', '东方锆业'),\ - ('601001', '大同煤业'),\ - ('150172', '证券B')] - -class Stock: - name = '' #股票名,中文 - code = '' #股票代码 - open = 0.0 #今日开盘价 - close = 0.0 #昨日收盘价 - current = 0.0 #当前价 - high = 0.0 #今日最高价 - low = 0.0 #今日最低价 - buyFiveInfo = [] #五档买入:[(买一报价,买一申请数),买二...] - saleFiveInfo = [] #五档卖出:(卖一报价,卖一申请数),卖二... - dealAmount = 0 #成交股数/100,N手 - dealTurnover = 0 #成交金额 - date = date.today() #日期 - time = time.localtime(time.time()) #时间 - - signal = 0 - - #构造函数 - def __init__(self, sinaStockInfo=''): - - if len(sinaStockInfo) >= 32: - self.name = sinaStockInfo[0] - self.code = self.find_in_list(self.name) - self.open = sinaStockInfo[1] - self.close = sinaStockInfo[2] - self.current = sinaStockInfo[3] - self.high = sinaStockInfo[4] - self.low = sinaStockInfo[5] - self.dealAmount = sinaStockInfo[8] - self.dealTurnover = sinaStockInfo[9] - self.date = sinaStockInfo[30] - self.time = sinaStockInfo[31] - self.buyFiveInfo = [(sinaStockInfo[11], sinaStockInfo[10]),\ - (sinaStockInfo[13], sinaStockInfo[12]),\ - (sinaStockInfo[15], sinaStockInfo[14]),\ - (sinaStockInfo[17], sinaStockInfo[16]),\ - (sinaStockInfo[19], sinaStockInfo[18])] - self.saleFiveInfo = [(sinaStockInfo[21], sinaStockInfo[20]),\ - (sinaStockInfo[23], sinaStockInfo[22]),\ - (sinaStockInfo[25], sinaStockInfo[24]),\ - (sinaStockInfo[27], sinaStockInfo[26]),\ - (sinaStockInfo[29], sinaStockInfo[28])] - - def find_in_list(self, name): - try: - for i in range(0, len(stockNameList)): - if name == stockNameList[i][1]: - return stockNameList[i][0] - except Exception as e: - print "find_in_list() Exception:", str(e) - finally: - None - return '' - - def __str__(self): - try: - s = '%s\t%s\t%s\t%0.3f' % (self.name, self.code, str(self.current), (float(self.current)-float(self.close))/float(self.close)*100) - s = s + '%' - #str = '%s %s %s ' % (self.name, self.code, str(self.current)) - #str = str + str((float(self.current)-float(self.close))/float(self.close)*100) + '%' - return s - except Exception,e: - errorLogger.logger.error(str(e)) - return '' - - def str_print(self): - return self.__str__() - +#!/usr/local/bin/python +#coding=utf-8 + +from datetime import date + +from util.codeConvert import * +from init import * + +stockNameList = [('600000', '浦发银行'), \ + ('600048', '保利地产'), \ + ('600011', '华能国际'),\ + ('002600', '江粉磁材'),\ + ('002505', '大康牧业'),\ + ('000725', '京东方A'),\ + ('000783', '长江证券'),\ + ('300315', '掌趣科技'),\ + ('002167', '东方锆业'),\ + ('601001', '大同煤业'),\ + ('150172', '证券B')] + +class Stock: + name = '' #股票名,中文 + code = '' #股票代码 + open = 0.0 #今日开盘价 + close = 0.0 #昨日收盘价 + current = 0.0 #当前价 + high = 0.0 #今日最高价 + low = 0.0 #今日最低价 + buyFiveInfo = [] #五档买入:[(买一报价,买一申请数),买二...] + saleFiveInfo = [] #五档卖出:(卖一报价,卖一申请数),卖二... + dealAmount = 0 #成交股数/100,N手 + dealTurnover = 0 #成交金额 + date = date.today() #日期 + time = time.localtime(time.time()) #时间 + + signal = 0 + + #构造函数 + def __init__(self, sinaStockInfo=''): + + if len(sinaStockInfo) >= 32: + self.name = sinaStockInfo[0] + self.code = self.find_in_list(self.name) + self.open = sinaStockInfo[1] + self.close = sinaStockInfo[2] + self.current = sinaStockInfo[3] + self.high = sinaStockInfo[4] + self.low = sinaStockInfo[5] + self.dealAmount = sinaStockInfo[8] + self.dealTurnover = sinaStockInfo[9] + self.date = sinaStockInfo[30] + self.time = sinaStockInfo[31] + self.buyFiveInfo = [(sinaStockInfo[11], sinaStockInfo[10]),\ + (sinaStockInfo[13], sinaStockInfo[12]),\ + (sinaStockInfo[15], sinaStockInfo[14]),\ + (sinaStockInfo[17], sinaStockInfo[16]),\ + (sinaStockInfo[19], sinaStockInfo[18])] + self.saleFiveInfo = [(sinaStockInfo[21], sinaStockInfo[20]),\ + (sinaStockInfo[23], sinaStockInfo[22]),\ + (sinaStockInfo[25], sinaStockInfo[24]),\ + (sinaStockInfo[27], sinaStockInfo[26]),\ + (sinaStockInfo[29], sinaStockInfo[28])] + + def find_in_list(self, name): + try: + for i in range(0, len(stockNameList)): + if name == stockNameList[i][1]: + return stockNameList[i][0] + except Exception as e: + print "find_in_list() Exception:", str(e) + finally: + None + return '' + + def __str__(self): + try: + s = '%s\t%s\t%s\t%0.3f' % (self.name, self.code, str(self.current), (float(self.current)-float(self.close))/float(self.close)*100) + s = s + '%' + #str = '%s %s %s ' % (self.name, self.code, str(self.current)) + #str = str + str((float(self.current)-float(self.close))/float(self.close)*100) + '%' + return s + except Exception,e: + errorLogger.logger.error(str(e)) + return '' + + def str_print(self): + return self.__str__() + \ No newline at end of file diff --git a/data_process/Stock.pyc b/data_process/Stock.pyc new file mode 100644 index 0000000000000000000000000000000000000000..78d42042cc86d716914bfa7e797d46980b2e8729 GIT binary patch literal 3301 zcmb_eX>Su}5T0GfPVC$v2MOW6TvQ@EX#k3bALcP&%BP4pwJJc-rdLV%)I*^^UTb?k-usa z5C1%!$x-Q7!~X~P3C=KBd~4(qjcAn7NQ11CtJBF+E5fZ#veuKefvk;WZ6a$kSzE~3 zO4c^Awv)Ak3e}XUAgi6Mon&>;C89~94>D1*)=_^l$&6JpaS>vh9t1Vw-+`cjn5EGk1QOemYgQrPE@Y`TWNG2^{V$COwBy~eeUYi^po#Ow$$G4-XOti znST1y^piWYU;lBiY}wZ%Z!LWFeD=}3`JXS&TzMk4o>ZzQtwx-^aee;r{kf^zv)4Xd zoGra)ue_&*Tln&`#o6|x(y3Hw2fUJ7*XJ%jShS^kQ|Z0kK_#z5&2%V?a=SnDbHimu zb=Dl>C-{cJCJ@Q&Wpu#^2nIcj%m`yluu`y!3fwa;m;m*eYQY+^YiXzsL}qHquBV{} z!Fp&Wd60VP)+hlKp-Zf3BC7)2XV#Dvl}0mJF=@1r(VxT~LVhrp`Z@T^VfA=mKg>_y za!_!`2@MnRf`_A2Jgc$D%WIz?GBsix(gmdxlo7mOMO2Rp5h|1r6(OpGmmTG0NR%K}`cU`L#?PW!WQmiX0I+bF5S+PMWHj1J&dL4P3i5yGGP3-kP2Plj< zNJ)&QCSEr4b~8=w`?4p<9V z2j~E-2XrzdFlDtaA^nd-EZ?%T?!gg%jO`d0;>oe1=by8S2Ft2&g$~b)9iJH+f5$mzANTUU zbPuwwy{JgSbuvj{yZI1q2^=pgIg1xi5J@0NaqH;*!Bo%jlY{v&&q@mp21xJS-Gf{w zv*u{g&)GpRDDQWTj)!2uv!1qp3dO>h<>6NhywcA}3cG-~hvsFMZ;ye(A0 zjvY==ahS9V5&ot`=oq_WB7)J5z3XXoYJlU8Z|xM9jQ%8+(YF+O0fJ#UvB}pq9X+43 zM?=T=_8W++B)%BJZZYc>Y(oM>91YL)adezOKp<4hZwlK%SQKXZe9un81qPzbK!oy! zIo<^ASER^5*dO30K){n0p@`P0HS<-kwdqkUhp756&Xk$aiM|j8e0KKav>=1`q|Jxx*J=dL-yFkqF+4W z7YcS!zK*VHA`Zlqgl~iyp(8MMu>6XgNChxW4gk}9kB5_uF*Vu=EfJ|=VpUp$Mr+Yyk(%~+b-cPyN^9^h$HkQ$Ryi}S?6Atg zajC;gPLC@(tagN4-eHw<zb>JngcC1|L@RGBobTIIpTYj`uq)KV6 zViQj32n7`^D3N2K<96W-d)W8*yQsdT_z)SJ*(!YgAAunO|E3D@w^5`6L~nzh&=Put KGxo(RuKxplMX=rg literal 0 HcmV?d00001 diff --git a/data_process/__init__.py b/data_process/__init__.py index 04acb8f..0d95d7d 100644 --- a/data_process/__init__.py +++ b/data_process/__init__.py @@ -1,5 +1,5 @@ -from data_process.Stock import * -from data_process.online_data import * -from data_process.native_data import * -from data_process.download_stock import * - +from data_process.Stock import * +from data_process.online_data import * +from data_process.native_data import * +from data_process.download_stock import * + diff --git a/data_process/__init__.pyc b/data_process/__init__.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d70c7b721620e822282b4cbfc8c1a4786ab2e756 GIT binary patch literal 313 zcmZSn%*(axc3f040~9a;X$K%K)&UYJK*Y$9!@v*%Wii58OmG%6kj2ChticS_kog}7 zG#G)b5)h%~r@;bZ3jv9g#FE7Lf};H7)Z${j;FA30>=Frd;rzUu%)HcikWx&^yu^~s zGN`09y3UmR^1Ph<#FY4AkjWZAX$AyQYz*YOTE!R`dxpfMmFA@wg2@=LT3w?UWT(Z% k$7kkcmc+;F6;zgR0QK4A=BJeAq}qY}Q_Kb=xEMhY01kms3jhEB literal 0 HcmV?d00001 diff --git a/data_process/data_calcute.py b/data_process/data_calcute.py index dcdad5f..30d7fba 100644 --- a/data_process/data_calcute.py +++ b/data_process/data_calcute.py @@ -1,155 +1,157 @@ -#coding=utf-8 - -__author__ = 'cbb' - -import sys -sys.path.append('C:\Code\stock-master') -reload(sys) -sys.setdefaultencoding('utf-8') - -import MySQLdb -import numpy as np -import pandas as pd -import datetime -from tqdm import tqdm -from multiprocessing.dummy import Pool as ThreadPool -import wrapcache - -from data_get import * - - - - - - - -#计算均线 -def calcute_ma_all(): - codes = get_all_stock_codes() - # for code in tqdm(codes): - # _calcute_ma(code) - - pool = ThreadPool(processes=4) - pool.map(_calcute_ma, codes) - pool.close() - pool.join() - -# date_start:'2015-01-01' -# date_end: '2015-10-12' -def _calcute_ma(code, date_start='', date_end='', is_calcute_lastest=False): - try: - df = get_stock_k_line_if_ma_is_null(code) - if df is None: - return - close_prices = df['close'].get_values() - - print str(code) + ' ' + 'calcute ma' - ma_short = pd.rolling_mean(close_prices, AVR_SHORT) #12 - ma_long = pd.rolling_mean(close_prices, AVR_LONG) #40 - - df[ 'ma_' + str(AVR_SHORT)] = ma_short - df['ma_' + str(AVR_LONG)] = ma_long - - print str(code) + ' ' + 'calcute ema' - ema_short = pd.ewma(close_prices, span=AVR_SHORT) #12 - ema_long = pd.ewma(close_prices, span=AVR_LONG) #40 - - df['ema_'+str(AVR_SHORT)] = ema_short - df['ema_'+str(AVR_LONG)] = ema_long - - df = df.replace(np.nan, 0) - - #写数据库 - - # 增加列 - table_name =STOCK_KLINE_TABLE - ma_s = 'ma_' + str(AVR_SHORT) - ma_l = 'ma_' + str(AVR_LONG) - ema_s = 'ema_' + str(AVR_SHORT) - ema_l = 'ema_' + str(AVR_LONG) - # try: - # sql = "alter table %s add %s double" % (table_name, ma_s) - # engine.execute(sql) - # sql = "alter table %s add %s double" % (table_name, ma_l) - # engine.execute(sql) - # sql = "alter table %s add %s double" % (table_name, ema_s) - # engine.execute(sql) - # sql = "alter table %s add %s double" % (table_name, ema_l) - # engine.execute(sql) - # except Exception, e: - # str_error = 'column exists' - # print '' - - # 按由近到远的顺序排序 - df = df.sort_index(by='date', ascending=False) - - count = 0 - - #更新数据 - for ix, row in df.iterrows(): - print row - if row[ma_l] == 0 or row[ema_l] == 0: - continue - - sql_update = "update %s set %s=%f,%s=%f,%s=%f,%s=%f where date='%s' and %s='%s'" % \ - (table_name, ma_s, row[ma_s], ma_l, row[ma_l], - ema_s, row[ema_s], ema_l,row[ema_l], \ - row['date'], KEY_CODE, code) - print sql_update - engine.execute(sql_update) - print table_name + ' ' + str(row['date']) - - count = count+1 - #只计算最后1个收盘 - if is_calcute_lastest and count >= 7: - break - - except Exception, e: - print (str(code)+":"+date_start+" ~ "+date_end+str(e)) - -# 计算最近日期的均线 -def calcute_ma_lastest_all(): - codes = get_all_stock_codes() - - for code in codes: - _calcute_ma_lastest(code) - -# 计算最近日期的均线 (单个) -def _calcute_ma_lastest(code): - - d_avr_long = datetime.date.today() + datetime.timedelta(days=-180) - d_today = datetime.date.today() - date_start = d_avr_long.strftime('%Y-%m-%d') - date_end = d_today.strftime('%Y-%m-%d') - - _calcute_ma(code, date_start, date_end, True) - -@wrapcache.wrapcache(timeout=6*60*60) -def calcute_ma(df, avr_short=12, avr_long=40): - """ - 计算ma, ema - :param df: - :return: - """ - if len(df) == 0: - return - - # print "{} calcute ma".format(df.ix[0,'code']) - df['ma_' + str(avr_short)] = pd.rolling_mean(df['close'], avr_short) # 12 - df['ma_' + str(avr_long)] = pd.rolling_mean(df['close'], avr_long) # 40 - - - # print "{} calcute ema".format(df.ix[0, 'code']) - df['ema_' + str(avr_short)] = pd.ewma(df['close'], span=avr_short) # 12 - df['ema_' + str(avr_long)] = pd.ewma(df['close'], span=avr_long) # 40 - - df = df.replace(np.nan, 0) - return df - - - -if __name__ == "__main__": - #_calcute_ma('600000', '2015-01-01', '2015-10-14', True) - calcute_ma_all() - #calcute_ma_lastest_all() +#coding=utf-8 +__author__ = 'cbb' + +import sys +sys.path.append('C:\Code\stock-master') +reload(sys) +sys.setdefaultencoding('utf-8') + +# import MySQLdb +import pymysql +import numpy as np +import pandas as pd +import datetime +from tqdm import tqdm +from multiprocessing.dummy import Pool as ThreadPool +import wrapcache +from data_get import * + +ChinaStockIndexList = [ + "000001", # sh000001 上证指数 + "399001", # sz399001 深证成指 + "000300", # sh000300 沪深300 + "399005", # sz399005 中小板指 + "399006", # sz399006 创业板指 + "000003",# sh000003 B股指数 + "000016",#上证50 + "000012",#国债指数 +] + +#计算均线 +def calcute_ma_all(): + # codes = get_all_stock_codes() + # for code in tqdm(codes): + # _calcute_ma(code) + + pool = ThreadPool(processes=4) + pool.map(_calcute_ma, ChinaStockIndexList) + pool.close() + pool.join() + +# date_start:'2015-01-01' +# date_end: '2015-10-12' +def _calcute_ma(code, date_start='', date_end='', is_calcute_lastest=False): + try: + df = get_stock_k_line_if_ma_is_null(code) + if df is None: + return + close_prices = df['close'].get_values() + + print str(code) + ' ' + 'calcute ma' + ma_short = pd.rolling_mean(close_prices, AVR_SHORT) #12 + ma_long = pd.rolling_mean(close_prices, AVR_LONG) #40 + + df[ 'ma_' + str(AVR_SHORT)] = ma_short + df['ma_' + str(AVR_LONG)] = ma_long + + print str(code) + ' ' + 'calcute ema' + ema_short = pd.ewma(close_prices, span=AVR_SHORT) #12 + ema_long = pd.ewma(close_prices, span=AVR_LONG) #40 + + df['ema_'+str(AVR_SHORT)] = ema_short + df['ema_'+str(AVR_LONG)] = ema_long + + df = df.replace(np.nan, 0) + + #写数据库 + + # 增加列 + table_name =STOCK_KLINE_TABLE + ma_s = 'ma_' + str(AVR_SHORT) + ma_l = 'ma_' + str(AVR_LONG) + ema_s = 'ema_' + str(AVR_SHORT) + ema_l = 'ema_' + str(AVR_LONG) + # try: + # sql = "alter table %s add %s double" % (table_name, ma_s) + # engine.execute(sql) + # sql = "alter table %s add %s double" % (table_name, ma_l) + # engine.execute(sql) + # sql = "alter table %s add %s double" % (table_name, ema_s) + # engine.execute(sql) + # sql = "alter table %s add %s double" % (table_name, ema_l) + # engine.execute(sql) + # except Exception, e: + # str_error = 'column exists' + # print '' + + # 按由近到远的顺序排序 + df = df.sort_index(by='date', ascending=False) + + count = 0 + + #更新数据 + for ix, row in df.iterrows(): + print row + if row[ma_l] == 0 or row[ema_l] == 0: + continue + + sql_update = "update %s set %s=%f,%s=%f,%s=%f,%s=%f where date='%s' and %s='%s'" % \ + (table_name, ma_s, row[ma_s], ma_l, row[ma_l], + ema_s, row[ema_s], ema_l,row[ema_l], \ + row['date'], KEY_CODE, code) + print sql_update + engine.execute(sql_update) + print table_name + ' ' + str(row['date']) + + count = count+1 + #只计算最后1个收盘 + if is_calcute_lastest and count >= 7: + break + except Exception, e: + print (str(code)+":"+date_start+" ~ "+date_end+str(e)) + +# 计算最近日期的均线 +def calcute_ma_lastest_all(): + codes = get_all_stock_codes() + + for code in ChinaStockIndexList: + _calcute_ma_lastest(code) + +# 计算最近日期的均线 (单个) +def _calcute_ma_lastest(code): + + d_avr_long = datetime.date.today() + datetime.timedelta(days=-180) + d_today = datetime.date.today() + date_start = d_avr_long.strftime('%Y-%m-%d') + date_end = d_today.strftime('%Y-%m-%d') + _calcute_ma(code, date_start, date_end, True) + +@wrapcache.wrapcache(timeout=6*60*60) +def calcute_ma(df, avr_short=12, avr_long=40): + """ + 计算ma, ema + :param df: + :return: + """ + if len(df) == 0: + return + + # print "{} calcute ma".format(df.ix[0,'code']) + df['ma_' + str(avr_short)] = pd.rolling_mean(df['close'], avr_short) # 12 + df['ma_' + str(avr_long)] = pd.rolling_mean(df['close'], avr_long) # 40 + + + # print "{} calcute ema".format(df.ix[0, 'code']) + df['ema_' + str(avr_short)] = pd.ewma(df['close'], span=avr_short) # 12 + df['ema_' + str(avr_long)] = pd.ewma(df['close'], span=avr_long) # 40 + + df = df.replace(np.nan, 0) + return df + + + +if __name__ == "__main__": + #_calcute_ma('600000', '2015-01-01', '2015-10-14', True) + calcute_ma_all() + #calcute_ma_lastest_all() #_calcute_ma_lastest('000033') \ No newline at end of file diff --git a/data_process/data_calcute.pyc b/data_process/data_calcute.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e74a3d1e014a92a3b99ee70bd68ae3078d2bbb2a GIT binary patch literal 3930 zcmb_f-EJG#5uUT8s2@`zMMupzXO5iZ#Lvl<5o7aYDTb9P@$*WIwiKjU7;m4J z=FAwMmFC z#h({{LHv@O%t*5$ep%kY{w47j`OhwkUy(OCX|9OBq)WHOUsj|lwk&5*jiv9)70z1~ ze@*=NQ(R`eD;%NP}^Ha+a2E? zC26O1ey{B%sg08@ARI;DW0(Rq0%O;6U0$#07>(e=a!_(M$J};-9YJ1)E7T9jf3tPR^x@|9A0=<12 zMBV`%_AK)4_Mod<<-7>*)UGv%{m~UgSSem_^{o z_fpRt*_RQc!$0iy(*+)KZHw!L;T>=iR)b8HOxesCI0rJk7Ng4z>bE~QBK^-DtimbC zm0?~6c~;K(jKp_{9FR7$hQfjGhEsHBCX4i``Z=lYKE>VO&;iy8boH>n+!%4Dl`}1a zf@;olKgEnx9}U2U_KXKX^4?ZIHC8`E^{6V{YKAjhz}aA&NGmGsVLNo^=N9xUvzOD{6th z8EqWQD>e@v49Pa*4|>d6T4vOai*kEdkwFEArHgW=DBNzK5DlnG=V$Va1q>>&DOF+k zASW>l0$q~xDdJzi8vJ|tGI}U^^EN6vx#0f zNn^c9*GFE8#GMcdPTaP|ec7uXf7x&kp1x=trYv((doT8PGgrKZb7)pVv}<+t1zSd(ZZF+{4Ge+S^eZl1`ku0h^aLu3vj097O#A+JD@6ohb2q=PP&n z#giRv&Ne#1#q>CPY1t0dyq(LI?WRE|%ACPawJ=Zg6uJ~{@#0j~DT(N$Oa!=Q+{r=? z9kfu!(?3=(XeUJ*4A7=^FVo@_M(gObIU4k?=<5vWw8o@=24x)^WmjZRm{>bo>mzWS`nh&J^*@o3gWH zDyHHrn`K}tW<{};sRCNOeoL!PA-86xOwAOWoT(Z}f|@r~XU?fWN6ECPkuGJjZsV8G zVhn&Qba#=m&c2YeU3G-ubJk1{Uq4K zTT4gu`d9bX+xOP}x^@z#D=Q)m+P3i?O{1Y{2YWQJ$@guTdYb>}62~gZj8WZ(anIJd zr9t0j_2zot#999H2;Wt0jZF&u9N=99ps@=@ef+d}i*pC5#;+D8E$sBtfKdn@5wN8N zJhznt;O{yde+L17kKPzYU#)oS;;o9rM1-&a&#y5tGeQS+mZx|=yd{G-%S{=54relW z=VW?(M2k7jS0UdQ2%Dz-{}JQ%8)74E*oUVM0(~~kq~ZHVtv}FsCiL=L4WEB~`{#dt z`=_>dw}$?roUN`Gd+nNkyp@r$O?z>a5jx7Usn}p{H>w1y0Ci@FwxG~PjUSTzBZBt{ zeoU}IK<74o0-(j(_ym~d4^v^%7{`h6E>b{qZBm1O#EA)eflOCSKKFt7AirTYoE4*q z>tYTDk?RJhsK?;9hpbzXbDEIZ7BNC z@3q_g276ayo-!Q3uVb&<@>-|afJDi9F1n$1zs52p?-H;s8_x(>AdN2pM)&6ca@~pJ z75fhV37CQEN9~T^3+*pyY4Q-D;1u=wKcC|S;g@rwXy$S`OqI!ZHa}ae?9NWl&Xi20 HT6F#kCI%pZ literal 0 HcmV?d00001 diff --git a/data_process/data_download.py b/data_process/data_download.py index d492f4a..41313d1 100644 --- a/data_process/data_download.py +++ b/data_process/data_download.py @@ -1,295 +1,295 @@ -#coding=utf-8 -#!/usr/local/bin/python - -import sys -sys.path.append('../') - -import tushare as ts -import pandas as pd -import datetime -from multiprocessing.dummy import Pool as ThreadPool -from tushare.util import dateu as du -from tqdm import tqdm - -from util import stockutil as util - -from util.stockutil import fn_timer as fn_timer_ - -from init import * -from util.commons import * -from data_calcute import calcute_ma_all - - -################################### -#-- 获取股票基本信息 --# -############################ -def download_stock_basic_info(): - - try: - df = ts.get_stock_basics() - - print df.columns - df[KEY_CODE] = df.index - df = df[[KEY_CODE,KEY_NAME, KEY_INDUSTRY, KEY_AREA, KEY_TimeToMarket]] - - print df.columns - print df.head() - - sql = 'select code from {}'.format(STOCK_BASIC_TABLE) - df_code = pd.read_sql(sql, engine) - df = df[df['code'].apply(lambda x : not x in df_code['code'].get_values())] - print df.head() - print len(df) - if len(df): - df.to_sql(STOCK_BASIC_TABLE, engine, if_exists='append', index=False) - - # 添加指数 - # indexs = [('sh', '上证指数', '指数','全国','19910715'), - # ('sz', '深圳成指', '指数','全国','19940720'), - # ('hs300', '沪深300指数', '指数','全国','20050408'), - # ('sz50', '上证50指数', '指数','全国','20040102'), - # ('zxb', '中小板指数', '指数','全国','20050607'), - # ('cyb', '创业板指数', '指数','全国','20100531'),] - # df = pd.DataFrame(indexs, columns=[KEY_CODE,KEY_NAME, KEY_INDUSTRY, KEY_AREA, KEY_TimeToMarket]) - # print df - # df.to_sql(STOCK_BASIC_TABLE, engine, if_exists='append', index=False) - - - except Exception as e: - print str(e) - - -# 下载单只股票到数据库 -def download_stock_kline_by_code(code, date_start='', date_end=datetime.datetime.now()): - - try: - # 设置日期范围 - if date_start == '': - # 取数据库最近的时间 - sql = "select MAX({0}) as {0} from {1} where {2}='{3}'".format(KEY_DATE, STOCK_KLINE_TABLE, KEY_CODE, code) - df = pd.read_sql_query(sql, engine) - if df is not None and df.ix[0, KEY_DATE] is not None: - date_start = df.ix[0, KEY_DATE] - date_start = datetime.datetime.strptime(str(date_start), "%Y-%m-%d") + datetime.timedelta(1) - date_start = date_start.strftime('%Y-%m-%d') - else: - se = get_stock_info(code) - date_start = se[KEY_TimeToMarket] - date_start = datetime.datetime.strptime(str(date_start), "%Y%m%d") - date_start = date_start.strftime('%Y-%m-%d') - - if isinstance(date_end, datetime.date): - date_end = date_end.strftime('%Y-%m-%d') - - if date_start >= date_end: - print 'Code:{0} is updated to {1}'.format(code, date_start) - return - - # 开始下载 - # 日期分隔成一年以内 - dates = pd.date_range(date_start, date_end) - df = pd.DataFrame(dates, columns=['date']) - df['year'] = df['date'].apply(lambda x : x.year) - print df.head() - - years = list(set(df['year'].get_values())) - years.sort() - - for year in years: - df1 = df[df['year']==year] - if len(df) >= 2: - date_s = str(df1['date'].get_values()[0]) - date_e = str(df1['date'].get_values()[-1]) - date_s = date_s[:10] - date_e = date_e[:10] - print 'download ' + str(code) + ' k-line >>>begin (', date_s + u' 到 ' + date_e + ')' - df_qfq = download_kline_source_select(code, date_s, date_e) - if len(df_qfq): - df_qfq.to_sql(STOCK_KLINE_TABLE, engine, if_exists='append', index=False) - print '\ndownload {} k-line to mysql finish ({} to {})'.format(code, date_s, date_e) - else: - return 'fail... , and try again' - - except Exception as e: - print str(e) - - - # return None - -# 下载源选择 -def download_kline_source_select(code, date_start, date_end): - try: - if len(code)==6: - df_qfq = ts.get_h_data(str(code), start=date_start, end=date_end) # 前复权 - df_hfq = ts.get_h_data(str(code), start=date_start, end=date_end, autype='hfq') # 后复权 - else: - # import pandas.io.data as web - # price = web.get_data_yahoo('000001.SS', '1991-07-15') - df_qfq = ts.get_hist_data(str(code), start=date_start, end=date_end) - if len(df_qfq)==0 or (len(code)==6 and len(df_hfq)==0): - return pd.DataFrame() - #if df_qfq is None: - #df_qfq = ts.get_hist_data(code, start=date_start, end=date_end) - # df_qfq = df_qfq[::-1] - df_qfq[KEY_CODE] = code - df_qfq[KEY_DATE] = df_qfq.index - - - columns = [KEY_CODE, KEY_DATE, KEY_OPEN, KEY_HIGH, KEY_CLOSE, KEY_LOW, KEY_VOLUME] - df_qfq = df_qfq[columns] - - if len(code)==6: - df_qfq['close_hfq'] = df_hfq['close'] - else: - df_qfq['close_hfq'] = df_qfq['close'] - - - print df_qfq.head() - - return df_qfq - except Exception as e: - print str(e) - return pd.DataFrame() - -# 下载股票的历史分笔数据 -# code:股票代码 -# 默认为最近3年的分笔数据 -def download_stock_quotes(code, date_start='', date_end=str(datetime.date.today())): - code = util.getSixDigitalStockCode(code) - try: - if date_start == '': - date = datetime.datetime.today().date() + datetime.timedelta(-365*3) - date_start = str(date) - - dateStart = datetime.datetime.strptime(str(date_start), "%Y-%m-%d") - - for i in range(du.diff_day(date_start, date_end)): - date = dateStart + datetime.timedelta(i) - strDate = date.strftime("%Y-%m-%d") - df = ts.get_tick_data(code, strDate) - print df - except Exception as e: - print str(e) - -####################### -## private methods ## -####################### - -# 获取个股的基本信息:股票名称,行业,地域,PE等,详细如下 -# code,代码 -# name,名称 -# industry,所属行业 -# area,地区 -# pe,市盈率 -# outstanding,流通股本 -# totals,总股本(万) -# totalAssets,总资产(万) -# liquidAssets,流动资产 -# fixedAssets,固定资产 -# reserved,公积金 -# reservedPerShare,每股公积金 -# eps,每股收益 -# bvps,每股净资 -# pb,市净率 -# timeToMarket,上市日期 -# 返回值类型:Series -def get_stock_info(code): - try: - sql = "select * from %s where %s='%s'" % (STOCK_BASIC_TABLE, KEY_CODE, code) - df = pd.read_sql_query(sql, engine) - se = df.ix[0] - except Exception as e: - print str(e) - return se - -# 获取所有股票的历史K线 -@fn_timer_ -def download_all_stock_history_k_line(): - print 'download all stock k-line start' - - try: - - df = pd.read_sql_table(STOCK_BASIC_TABLE, engine) - codes = list(df[KEY_CODE].get_values()) - print 'total stocks:{0}'.format(len(codes)) - # for code in codes: - # download_stock_kline_by_code(code) - codes = codes[::-1] - - #codes = r.lrange(INDEX_STOCK_BASIC, 0, -1) - pool = ThreadPool(processes=10) - pool.map(download_stock_kline_by_code, codes) - pool.close() - pool.join() - - except Exception as e: - print str(e) - print 'download all stock k-line finish' - - -def check_unnormal_stock_price(): - """ - 异常股价检测 - :return: - """ - sql = "select code,name from stock_basic_all" - df_code = pd.read_sql(sql, engine) - - unnormal_codes = [] - for code,name in df_code[['code','name']].get_values(): - sql = "select code, date, close, close_hfq from hq_db.stock_kline_fq where code='{}' and date >'2002-12-06' order by date asc ".format(code) - df = pd.read_sql(sql, engine) - if len(df) < 2: - continue - # print code, len(df) - df.index = df['date'] - returns_close = df['close'].pct_change() - # returns_close_hfq = df['close_hfq'].pct_change() - returns_close[0]= 0 - # returns_close_hfq[0] = 0 - - # print returns_close_hfq[:10] - - df['returns_close'] = returns_close - # df['returns_close_hfq'] = returns_close_hfq - - df1 = df[df['returns_close']==df['returns_close'].min()] - # print df1 - - #print '前复权', min(returns_close), '后复权',min(returns_close_hfq) - if returns_close.min() < -0.2: - print df1 - #先删除code对应的行情 - sql = "delete from stock_kline_fq where code='{}'".format(code) - print sql - engine.execute(sql) - #再重新取 - download_stock_kline_by_code(code) - - # print ">"*10, name, code, '前复权', returns_close.min() - unnormal_codes.append((name, code, '前复权', returns_close.min())) - # if returns_close_hfq.min() < -0.15: - # print df1 - # # print ">"*10, name, code, '后复权', returns_close_hfq.min() - # unnormal_codes.append((name, code, '后复权', returns_close_hfq.min())) - - print "\n"*5 - for un_code in unnormal_codes: - print "{}:{}\t{}\t{}".format(un_code[0], un_code[1], un_code[2], un_code[3]) - - print "total count", len(unnormal_codes) - -if __name__ == '__main__': - - download_stock_basic_info() - download_all_stock_history_k_line() - - check_unnormal_stock_price() - #calcute_ma_all() - #download_stock_kline_to_sql('000002', date_start='1991-01-29',date_end='2012-12-16') - - #convertRedisToSqlite() - - - - +#coding=utf-8 +#!/usr/local/bin/python + +import sys +sys.path.append('../') + +import tushare as ts +import pandas as pd +import datetime +from multiprocessing.dummy import Pool as ThreadPool +from tushare.util import dateu as du +from tqdm import tqdm + +from util import stockutil as util + +from util.stockutil import fn_timer as fn_timer_ + +from init import * +from util.commons import * +from data_calcute import calcute_ma_all + + +################################### +#-- 获取股票基本信息 --# +############################ +def download_stock_basic_info(): + + try: + df = ts.get_stock_basics() + + print df.columns + df[KEY_CODE] = df.index + df = df[[KEY_CODE,KEY_NAME, KEY_INDUSTRY, KEY_AREA, KEY_TimeToMarket]] + + print df.columns + print df.head() + + sql = 'select code from {}'.format(STOCK_BASIC_TABLE) + df_code = pd.read_sql(sql, engine) + df = df[df['code'].apply(lambda x : not x in df_code['code'].get_values())] + print df.head() + print len(df) + if len(df): + df.to_sql(STOCK_BASIC_TABLE, engine, if_exists='append', index=False) + + # 添加指数 + # indexs = [('sh', '上证指数', '指数','全国','19910715'), + # ('sz', '深圳成指', '指数','全国','19940720'), + # ('hs300', '沪深300指数', '指数','全国','20050408'), + # ('sz50', '上证50指数', '指数','全国','20040102'), + # ('zxb', '中小板指数', '指数','全国','20050607'), + # ('cyb', '创业板指数', '指数','全国','20100531'),] + # df = pd.DataFrame(indexs, columns=[KEY_CODE,KEY_NAME, KEY_INDUSTRY, KEY_AREA, KEY_TimeToMarket]) + # print df + # df.to_sql(STOCK_BASIC_TABLE, engine, if_exists='append', index=False) + + + except Exception as e: + print str(e) + + +# 下载单只股票到数据库 +def download_stock_kline_by_code(code, date_start='', date_end=datetime.datetime.now()): + + try: + # 设置日期范围 + if date_start == '': + # 取数据库最近的时间 + sql = "select MAX({0}) as {0} from {1} where {2}='{3}'".format(KEY_DATE, STOCK_KLINE_TABLE, KEY_CODE, code) + df = pd.read_sql_query(sql, engine) + if df is not None and df.ix[0, KEY_DATE] is not None: + date_start = df.ix[0, KEY_DATE] + date_start = datetime.datetime.strptime(str(date_start), "%Y-%m-%d") + datetime.timedelta(1) + date_start = date_start.strftime('%Y-%m-%d') + else: + se = get_stock_info(code) + date_start = se[KEY_TimeToMarket] + date_start = datetime.datetime.strptime(str(date_start), "%Y%m%d") + date_start = date_start.strftime('%Y-%m-%d') + + if isinstance(date_end, datetime.date): + date_end = date_end.strftime('%Y-%m-%d') + + if date_start >= date_end: + print 'Code:{0} is updated to {1}'.format(code, date_start) + return + + # 开始下载 + # 日期分隔成一年以内 + dates = pd.date_range(date_start, date_end) + df = pd.DataFrame(dates, columns=['date']) + df['year'] = df['date'].apply(lambda x : x.year) + print df.head() + + years = list(set(df['year'].get_values())) + years.sort() + + for year in years: + df1 = df[df['year']==year] + if len(df) >= 2: + date_s = str(df1['date'].get_values()[0]) + date_e = str(df1['date'].get_values()[-1]) + date_s = date_s[:10] + date_e = date_e[:10] + print 'download ' + str(code) + ' k-line >>>begin (', date_s + u' 到 ' + date_e + ')' + df_qfq = download_kline_source_select(code, date_s, date_e) + if len(df_qfq): + df_qfq.to_sql(STOCK_KLINE_TABLE, engine, if_exists='append', index=False) + print '\ndownload {} k-line to mysql finish ({} to {})'.format(code, date_s, date_e) + else: + return 'fail... , and try again' + + except Exception as e: + print str(e) + + + # return None + +# 下载源选择 +def download_kline_source_select(code, date_start, date_end): + try: + if len(code)==6: + df_qfq = ts.get_h_data(str(code), start=date_start, end=date_end) # 前复权 + df_hfq = ts.get_h_data(str(code), start=date_start, end=date_end, autype='hfq') # 后复权 + else: + # import pandas.io.data as web + # price = web.get_data_yahoo('000001.SS', '1991-07-15') + df_qfq = ts.get_hist_data(str(code), start=date_start, end=date_end) + if len(df_qfq)==0 or (len(code)==6 and len(df_hfq)==0): + return pd.DataFrame() + #if df_qfq is None: + #df_qfq = ts.get_hist_data(code, start=date_start, end=date_end) + # df_qfq = df_qfq[::-1] + df_qfq[KEY_CODE] = code + df_qfq[KEY_DATE] = df_qfq.index + + + columns = [KEY_CODE, KEY_DATE, KEY_OPEN, KEY_HIGH, KEY_CLOSE, KEY_LOW, KEY_VOLUME] + df_qfq = df_qfq[columns] + + if len(code)==6: + df_qfq['close_hfq'] = df_hfq['close'] + else: + df_qfq['close_hfq'] = df_qfq['close'] + + + print df_qfq.head() + + return df_qfq + except Exception as e: + print str(e) + return pd.DataFrame() + +# 下载股票的历史分笔数据 +# code:股票代码 +# 默认为最近3年的分笔数据 +def download_stock_quotes(code, date_start='', date_end=str(datetime.date.today())): + code = util.getSixDigitalStockCode(code) + try: + if date_start == '': + date = datetime.datetime.today().date() + datetime.timedelta(-365*3) + date_start = str(date) + + dateStart = datetime.datetime.strptime(str(date_start), "%Y-%m-%d") + + for i in range(du.diff_day(date_start, date_end)): + date = dateStart + datetime.timedelta(i) + strDate = date.strftime("%Y-%m-%d") + df = ts.get_tick_data(code, strDate) + print df + except Exception as e: + print str(e) + +####################### +## private methods ## +####################### + +# 获取个股的基本信息:股票名称,行业,地域,PE等,详细如下 +# code,代码 +# name,名称 +# industry,所属行业 +# area,地区 +# pe,市盈率 +# outstanding,流通股本 +# totals,总股本(万) +# totalAssets,总资产(万) +# liquidAssets,流动资产 +# fixedAssets,固定资产 +# reserved,公积金 +# reservedPerShare,每股公积金 +# eps,每股收益 +# bvps,每股净资 +# pb,市净率 +# timeToMarket,上市日期 +# 返回值类型:Series +def get_stock_info(code): + try: + sql = "select * from %s where %s='%s'" % (STOCK_BASIC_TABLE, KEY_CODE, code) + df = pd.read_sql_query(sql, engine) + se = df.ix[0] + except Exception as e: + print str(e) + return se + +# 获取所有股票的历史K线 +@fn_timer_ +def download_all_stock_history_k_line(): + print 'download all stock k-line start' + + try: + + df = pd.read_sql_table(STOCK_BASIC_TABLE, engine) + codes = list(df[KEY_CODE].get_values()) + print 'total stocks:{0}'.format(len(codes)) + # for code in codes: + # download_stock_kline_by_code(code) + codes = codes[::-1] + + #codes = r.lrange(INDEX_STOCK_BASIC, 0, -1) + pool = ThreadPool(processes=10) + pool.map(download_stock_kline_by_code, codes) + pool.close() + pool.join() + + except Exception as e: + print str(e) + print 'download all stock k-line finish' + + +def check_unnormal_stock_price(): + """ + 异常股价检测 + :return: + """ + sql = "select code,name from stock_basic_all" + df_code = pd.read_sql(sql, engine) + + unnormal_codes = [] + for code,name in df_code[['code','name']].get_values(): + sql = "select code, date, close, close_hfq from hq_db.stock_kline_fq where code='{}' and date >'2002-12-06' order by date asc ".format(code) + df = pd.read_sql(sql, engine) + if len(df) < 2: + continue + # print code, len(df) + df.index = df['date'] + returns_close = df['close'].pct_change() + # returns_close_hfq = df['close_hfq'].pct_change() + returns_close[0]= 0 + # returns_close_hfq[0] = 0 + + # print returns_close_hfq[:10] + + df['returns_close'] = returns_close + # df['returns_close_hfq'] = returns_close_hfq + + df1 = df[df['returns_close']==df['returns_close'].min()] + # print df1 + + #print '前复权', min(returns_close), '后复权',min(returns_close_hfq) + if returns_close.min() < -0.2: + print df1 + #先删除code对应的行情 + sql = "delete from stock_kline_fq where code='{}'".format(code) + print sql + engine.execute(sql) + #再重新取 + download_stock_kline_by_code(code) + + # print ">"*10, name, code, '前复权', returns_close.min() + unnormal_codes.append((name, code, '前复权', returns_close.min())) + # if returns_close_hfq.min() < -0.15: + # print df1 + # # print ">"*10, name, code, '后复权', returns_close_hfq.min() + # unnormal_codes.append((name, code, '后复权', returns_close_hfq.min())) + + print "\n"*5 + for un_code in unnormal_codes: + print "{}:{}\t{}\t{}".format(un_code[0], un_code[1], un_code[2], un_code[3]) + + print "total count", len(unnormal_codes) + +if __name__ == '__main__': + + download_stock_basic_info() + download_all_stock_history_k_line() + + check_unnormal_stock_price() + #calcute_ma_all() + #download_stock_kline_to_sql('000002', date_start='1991-01-29',date_end='2012-12-16') + + #convertRedisToSqlite() + + + + diff --git a/data_process/data_get.py b/data_process/data_get.py index 99a206b..045eeb3 100644 --- a/data_process/data_get.py +++ b/data_process/data_get.py @@ -1,119 +1,119 @@ -#!/usr/local/bin/python -#coding=utf-8 - -import datetime - -import pandas as pd -import tushare as ts - -from util.stockutil import getSixDigitalStockCode -from init import * -from util.commons import * -from util.codeConvert import * -from util.helper import fn_timer -import wrapcache - - -# 获取所有股票代码 -@wrapcache.wrapcache(timeout=8*60*60) -def get_all_stock_codes(): - if DB_WAY == 'mysql': - sql = 'select %s from %s' % (KEY_CODE, STOCK_BASIC_TABLE) - df = pd.read_sql_query(sql, engine) - codes = df[KEY_CODE].get_values() - return codes - else: - return [] - - -# 获取个股K线数据 -# input: -# ->code: 股票代码 -# output: -# -> DataFrame -@wrapcache.wrapcache(timeout=8*60*60) -def get_stock_k_line(code, date_start='', date_end='', all_columns = False): - - if len(date_end) == 0: - date_end=datetime.date.today().strftime("%Y-%m-%d") - - try: - if len(date_start) == 0: - sql = "select * from {0} where {1}='{2}' and {3} <= '{4}' order by {3} asc".format( - STOCK_KLINE_TABLE, KEY_CODE, code, KEY_DATE, date_end) - else: - sql = "select * from {0} where {1}='{2}' and {3} > '{4}' and {3} <= '{5}' order by {3} asc".format( - STOCK_KLINE_TABLE, KEY_CODE, code, KEY_DATE, date_start, date_end) - - df = pd.read_sql_query(sql, engine) - return df - except Exception as e: - print str(e) - return None - -@fn_timer -def get_stock_k_line_if_ma_is_null(code): - - sql = 'SELECT min(date) as date FROM {table} where code={code} and ma_12 is NULL'.format(table=STOCK_KLINE_TABLE, code=code) - df = pd.read_sql_query(sql, engine) - - d_end=datetime.datetime.today() - #date_end =d_end.strftime('%Y-%m-%d') - if len(df) > 0: - date_start = df.ix[0, 'date'] - if date_start is None: - return None - - date_start = str(date_start)[:10] - d_start = str_to_datatime(date_start, '%Y-%m-%d') - delta = d_end - d_start - days = delta.days + AVR_LONG + 1 - - try: - sql = "select * from {table} where code='{code}' order by date desc limit {count}".format( - table=STOCK_KLINE_TABLE, code=code, count=days) - - df = pd.read_sql_query(sql, engine) - df = df.sort_index(by='date', ascending=True) - return df - except Exception as e: - print str(e) - return None - -# 获取个股的基本信息:股票名称,行业,地域,PE等,详细如下 -# code,代码 -# name,名称 -# industry,所属行业 -# area,地区 -# pe,市盈率 -# outstanding,流通股本 -# totals,总股本(万) -# totalAssets,总资产(万) -# liquidAssets,流动资产 -# fixedAssets,固定资产 -# reserved,公积金 -# reservedPerShare,每股公积金 -# eps,每股收益 -# bvps,每股净资 -# pb,市净率 -# timeToMarket,上市日期 -# 返回值类型:Series -def get_stock_info(code): - try: - #DB_WAY == 'mysql': - sql = "select * from %s where %s='%s'" % (INDEX_STOCK_BASIC,KEY_CODE, code) - df = pd.read_sql_query(sql, engine) - se = df.ix[0] - - except Exception as e: - print str(e) - se = pd.Series() - return se - -# 获取终止上市股票列表 -def get_stock_terminated(): - return ts.get_terminated() - -if __name__ == "__main__": - print get_stock_k_line('000001') +#!/usr/local/bin/python +#coding=utf-8 + +import datetime + +import pandas as pd +import tushare as ts + +from util.stockutil import getSixDigitalStockCode +from init import * +from util.commons import * +from util.codeConvert import * +from util.helper import fn_timer +import wrapcache + + +# 获取所有股票代码 +@wrapcache.wrapcache(timeout=8*60*60) +def get_all_stock_codes(): + if DB_WAY == 'mysql': + sql = 'select %s from %s' % (KEY_CODE, STOCK_BASIC_TABLE) + df = pd.read_sql_query(sql, engine) + codes = df[KEY_CODE].get_values() + return codes + else: + return [] + + +# 获取个股K线数据 +# input: +# ->code: 股票代码 +# output: +# -> DataFrame +@wrapcache.wrapcache(timeout=8*60*60) +def get_stock_k_line(code, date_start='', date_end='', all_columns = False): + + if len(date_end) == 0: + date_end=datetime.date.today().strftime("%Y-%m-%d") + + try: + if len(date_start) == 0: + sql = "select * from {0} where {1}='{2}' and {3} <= '{4}' order by {3} asc".format( + STOCK_KLINE_TABLE, KEY_CODE, code, KEY_DATE, date_end) + else: + sql = "select * from {0} where {1}='{2}' and {3} > '{4}' and {3} <= '{5}' order by {3} asc".format( + STOCK_KLINE_TABLE, KEY_CODE, code, KEY_DATE, date_start, date_end) + + df = pd.read_sql_query(sql, engine) + return df + except Exception as e: + print str(e) + return None + +@fn_timer +def get_stock_k_line_if_ma_is_null(code): + + sql = 'SELECT min(date) as date FROM {table} where code={code} and ma_12 is NULL'.format(table=STOCK_KLINE_TABLE, code=code) + df = pd.read_sql_query(sql, engine) + + d_end=datetime.datetime.today() + #date_end =d_end.strftime('%Y-%m-%d') + if len(df) > 0: + date_start = df.ix[0, 'date'] + if date_start is None: + return None + + date_start = str(date_start)[:10] + d_start = str_to_datatime(date_start, '%Y-%m-%d') + delta = d_end - d_start + days = delta.days + AVR_LONG + 1 + + try: + sql = "select * from {table} where code='{code}' order by date desc limit {count}".format( + table=STOCK_KLINE_TABLE, code=code, count=days) + + df = pd.read_sql_query(sql, engine) + df = df.sort_index(by='date', ascending=True) + return df + except Exception as e: + print str(e) + return None + +# 获取个股的基本信息:股票名称,行业,地域,PE等,详细如下 +# code,代码 +# name,名称 +# industry,所属行业 +# area,地区 +# pe,市盈率 +# outstanding,流通股本 +# totals,总股本(万) +# totalAssets,总资产(万) +# liquidAssets,流动资产 +# fixedAssets,固定资产 +# reserved,公积金 +# reservedPerShare,每股公积金 +# eps,每股收益 +# bvps,每股净资 +# pb,市净率 +# timeToMarket,上市日期 +# 返回值类型:Series +def get_stock_info(code): + try: + #DB_WAY == 'mysql': + sql = "select * from %s where %s='%s'" % (INDEX_STOCK_BASIC,KEY_CODE, code) + df = pd.read_sql_query(sql, engine) + se = df.ix[0] + + except Exception as e: + print str(e) + se = pd.Series() + return se + +# 获取终止上市股票列表 +def get_stock_terminated(): + return ts.get_terminated() + +if __name__ == "__main__": + print get_stock_k_line('000001') #get_stock_info('000001') \ No newline at end of file diff --git a/data_process/data_get.pyc b/data_process/data_get.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2752b9fce68e4fc49a0ff6d8ac6cf5ba52b04c4b GIT binary patch literal 3331 zcmb_e+iu%N5FL_|E!%Q@%e8J(wt#CjKrT+wJQQ(IUzEg+s}z*mBt}q{7FRZ9igdWE z#DXoLfb%QuC-kMC(w9E=p>O?w_RP@t&n!l?Zs$4 zGC^E7X=8IC4OKqRi>~Er32HO(P1IJI>F1ZBr5zLTM06iQ;_E=+X917?8p6od?9n`h zHW`bIO--9F_AuvAt3bO@inM1_&!SySTXdz>hY(QDrd^xr>qK?Lxn5zrH7q4+clE1S zkMSNVRt@7$X}6iBZG2b6w?0fQ&il{iUKsZ8N%e)l@N}_i_?7y~(}gGg{9Ju$!C#r1 zU#`L-qOH)J!&jz)(1&sVRYzrA!**1%9wo{QLPf0n*FoG-TAYFZ@ZeP}2EwMe)+<_-+@;B^5v~NODiv%og|zQ`BHPBuit(d1}5;gvb3SJ&VOK!8(Up7f%ka3AdY=m z?2F}b4C^uk*=1|g8pl(x5o3hE0KtdnN5cOb6igw800BVGNx07OZQ0ZUq==)BoM0BA z21dFYvfetj{zpc7t4N3hvd*b0iNPZE3Y1)>u<*_-vIv`fyub`lYmj!K3`v5Ev|FV5 zv*cqcm@;h+QuZrZJuu1)(=Kw(Smjhdmwa=kYY_x#PU6&y>r?IPQ=yi_<$1rBr+w#E z&waC@GUe{f^k%1bZuh3$APL=_J3aUQtUJAP7XxV)s?1&M%4nb)y3UsWvz-U~W=`1s z;yrdNBd{ybh*cu+Ly{HK#c+z`2OrI(VbGO%ZL+4!Gu)bK)(*@uq&`_*s#SBOdc5Ee z(Tj5{RgWX%4X|K>N% zhO7qf&&NE(`6NaF?-ryK7$6ov-6IZoF0i;+qHKeeI%0+)=2IWJjPM~@(tiMN>{X=8fHdHYN)KFLLXp4J>lc1~ z%QgL!pQ!J{;;+;)^yIPagkfp%GOA9_!}ad%9x7OMj$F+yf{SoVZV?ZBV8?MB+IeYd5u@+~T_etyw1QJydv~|#e7j>*73WY;8*Uu6BjaL0Co#SKN()s=?^;)I z4^9KQQLT!4Uc%2xHw!KLnU^F7^ID^T2llpKe zI7a5K7T(N#@A=D5YmbCeI?aq9C863D=B;EM{2P zNSRWx2|T8o=R%wT@2}4up~cLN*;V{r54FF%ERwAe=+bl51!VeFEw=G=~B} zjm9IKd-Ry;41D8m;80@G^IhlQUZD9{ClQ8ALEaRm^z8JMo)$z%4y3v+)fTJI{bRQQ zsjjDy@fplY@^T<>0j{eoLXYROo=zqMPph-a6chI-Q&G}P72D^+NtRkeBtDnmg)6$p>OCEEYKyD*WC{64auVO(>F zkkb;R56nf0@5?po7Jp`O|Gp%QCYZ!4jgF7Q+^Tc=#3y#-d$LfL*Y^y z-;l1tn#cPI52GY9xONc9f=1eIr-?Qk&HaH;Eu_h7+;64($>4^Hw^Zh_(^6yJWWiP= zXly7?x;$gxVGtwbpFs0&vbe*7DYSpaBxoz&Kdabs-0rv2uoJ5XT->w^QO0Gk40aC6 W->6kCOpcCN7bZq-4h#=CW$RzeKfP1{ literal 0 HcmV?d00001 diff --git a/data_process/download_stock.py b/data_process/download_stock.py index 5107ff4..12a26c7 100644 --- a/data_process/download_stock.py +++ b/data_process/download_stock.py @@ -1,203 +1,204 @@ -#!/usr/local/bin/python -#coding=utf-8 -import os -import urllib2 -import datetime -from datetime import date -import time -from matplotlib.cbook import iterable -from multiprocessing import Pool -from multiprocessing.dummy import Pool as ThreadPool -import copy_reg -import urllib -import re - -# def queryAllStock(): -# url = 'http://quote.eastmoney.com/stock_list.html' -# u = urllib.urlopen(url) -# htmlstr = u.read() -# group = re.match('(.*)', htmlstr).group() -# print group - -# 下载所有A股数据 -def downloadAllHistoryAShareData(): - # os.path.pardir: 上级目录 - downloadDir = os.path.pardir + '\stockdata' - stockDownload = StockDownload(downloadDir, date(2014,1,1), date.today()) - -# listSS = range(600000, 604000) -# listSZ = range(000000, 004060) -# listAll = listSS + listSZ - listAll = ['000725','000783','002167','002505','002600','300315','600000','600011','600048','601001'] - - - print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) - startTime = time.clock() - stockDownload.download_mutli(listAll, 'yahoo') - - endTime = time.clock() - print '多线程执行时间:', (endTime-startTime) - print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) - -# print '单线程执行开始:' -# startTime = time.clock() -# for i in listAll: -# stockDownload.download(str(i)) -# -# endTime = time.clock() -# print '单线程执行时间:', (endTime-startTime) - - - -# 股票下载类,单只股票 -class StockDownload: - - # 构造 - def __init__(self, downloadDir, startDate=date(2014,1,1), endDate=date.today()): - #self.stockCode = stockCode - self.downloadDir = downloadDir - self.startDate = startDate - self.endDate = endDate - self.ignorelist_file = 'IgnoreListStock.txt' - - #增加忽略列表 - if os.path.exists(self.downloadDir) == False: - os.makedirs(self.downloadDir) - try: - f = open(self.downloadDir + '\\' + self.ignorelist_file) - data = f.read() - self.ignoreList = data.split('\n') - f.close() - except Exception as e: - print str(e) - self.ignoreList = [] - - - - # 多线程下载 - def download_mutli(self, listSockeCode, source='yahoo'): - pool = ThreadPool(processes=5) - if source == 'yahoo': - pool.map(self.downloadFromYahoo, listSockeCode) - elif source == '163': - pool.map(self.downloadFrom163, listSockeCode) - pool.close() - pool.join() - - # 从雅虎API下载 - def downloadFromYahoo(self, stockCode): - stockCode = str(stockCode).zfill(6) #不足6位,前面补零 - -# if stockCode in self.ignoreList: -# print 'ignore:', stockCode -# return; - - if os.path.exists(self.downloadDir) == False: - os.makedirs(self.downloadDir) - stock_file = self.downloadDir + '/' + stockCode + '.csv' - #print stockCode - -# if os.path.exists(stock_file): -# print (">>exist:" + stockCode) -# return - - print (">>download begin:" + stockCode) - - exchange = "SS" if (int(stockCode) // 100000 == 6) else "SZ" - - if iterable(self.endDate): - d1 = (self.startDate[1]-1, self.startDate[2], self.startDate[0]) - else: - d1 = (self.startDate.month-1, self.startDate.day, self.startDate.year) - if iterable(self.endDate): - d2 = (self.endDate[1]-1, self.endDate[2], self.endDate[0]) - else: - d2 = (self.endDate.month-1, self.endDate.day, self.endDate.year) - - g='d' - - ticker = stockCode + '.' + exchange - urlFmt = 'http://ichart.yahoo.com/table.csv?a=%d&b=%d&c=%d&d=%d&e=%d&f=%d&s=%s&y=0&g=%s&ignore=.csv' - - url = urlFmt % (d1[0], d1[1], d1[2], - d2[0], d2[1], d2[2], ticker, g) - - self.down_file(url, stock_file) - - print (">>download finish:" + stockCode) - - # 从网易API下载 - def downloadFrom163(self, stockCode): - stockCode = str(stockCode).zfill(6) #不足6位,前面补零 - - stockCode163 = stockCode - if int(stockCode) // 100000 == 0: - stockCode163 = '1'+stockCode - else: - stockCode163 = '0'+stockCode - -# if stockCode in self.ignoreList: -# print 'ignore:', stockCode -# return; - - if os.path.exists(self.downloadDir) == False: - os.makedirs(self.downloadDir) - stock_file = self.downloadDir + '/' + stockCode + '.csv' - #print stockCode - -# if os.path.exists(stock_file): -# print (">>exist:" + stockCode) -# return - - print (">>download begin:" + stockCode) - - strDateStart = self.startDate.strftime('%Y%m%d') - strDateEnd = self.endDate.strftime('%Y%m%d') - - urlFmt = 'http://quotes.money.163.com/service/chddata.html?code=%s&start=%s&end=%s' - - url = urlFmt % (stockCode163,strDateStart, strDateEnd) - - self.down_file(url, stock_file) - - print (">>download finish:" + stockCode) - - # url:下载路径 - # file_name:保存到本地的文件名 - # 找不到股票代码则放入忽略列表 - def down_file(self,url, file_name): - - try: - u = urllib2.urlopen(url) - f = open(file_name, 'wb') - - file_size_dl = 0 - block_sz = 8192 - while True: - buffer = u.read(block_sz) - if not buffer: - break - - file_size_dl += len(buffer) - f.write(buffer) - f.close() - except Exception as e: - print str(e) - - basename = os.path.basename(os.path.splitext(file_name)[0]) #股票代码 - - f = open(self.downloadDir + '/' + self.ignorelist_file, 'a') # a,文件尾部插入,不覆盖原数据 - f.write('\n' + basename) - f.close() - finally: - None - -# def deleteFile(self,fileName): -# try: -# os.remove(self.stockCode + ".csv") -# except Exception as e: -# pass - - -if __name__ == "__main__": - downloadAllHistoryAShareData() \ No newline at end of file +#!/usr/local/bin/python +#coding=utf-8 +#下载股票历史数据 +import os +import urllib2 +import datetime +from datetime import date +import time +from matplotlib.cbook import iterable +from multiprocessing import Pool +from multiprocessing.dummy import Pool as ThreadPool +import copy_reg +import urllib +import re + +# def queryAllStock(): +# url = 'http://quote.eastmoney.com/stock_list.html' +# u = urllib.urlopen(url) +# htmlstr = u.read() +# group = re.match('(.*)', htmlstr).group() +# print group + +# 下载所有A股数据 +# listAll :股票代码 +def downloadAllHistoryAShareData(listAll): + # os.path.pardir: 上级目录 + downloadDir = os.path.pardir + '\stockdata' + stockDownload = StockDownload(downloadDir, date(2017,1,1), date.today()) + +# listSS = range(600000, 604000) +# listSZ = range(000000, 004060) +# listAll = listSS + listSZ +# listAll = ['000725','000783','002167','002505','002600','300315','600000','600011','600048','601001'] + + print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) + startTime = time.clock() + stockDownload.download_mutli(listAll, 'yahoo') + + endTime = time.clock() + print '多线程执行时间:', (endTime-startTime) + print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) + +# print '单线程执行开始:' +# startTime = time.clock() +# for i in listAll: +# stockDownload.download(str(i)) +# +# endTime = time.clock() +# print '单线程执行时间:', (endTime-startTime) + + + +# 股票下载类,单只股票 +class StockDownload: + + # 构造 + def __init__(self, downloadDir, startDate=date(2016,1,1), endDate=date.today()): + #self.stockCode = stockCode + self.downloadDir = downloadDir + self.startDate = startDate + self.endDate = endDate + self.ignorelist_file = 'IgnoreListStock.txt' + + #增加忽略列表 + if os.path.exists(self.downloadDir) == False: + os.makedirs(self.downloadDir) + try: + f = open(self.downloadDir + '\\' + self.ignorelist_file) + data = f.read() + self.ignoreList = data.split('\n') + f.close() + except Exception as e: + print str(e) + self.ignoreList = [] + + # 多线程下载 + def download_mutli(self, listSockeCode, source='yahoo'): + pool = ThreadPool(processes=5) + if source == 'yahoo': + pool.map(self.downloadFromYahoo, listSockeCode) + + elif source == '163': + pool.map(self.downloadFrom163, listSockeCode) + pool.close() + pool.join() + + # 从雅虎API下载 + def downloadFromYahoo(self, stockCode): + stockCode = str(stockCode).zfill(6) #不足6位,前面补零 + +# if stockCode in self.ignoreList: +# print 'ignore:', stockCode +# return; + + if os.path.exists(self.downloadDir) == False: + os.makedirs(self.downloadDir) + stock_file = self.downloadDir + '/' + stockCode + '.csv' + #print stockCode + +# if os.path.exists(stock_file): +# print (">>exist:" + stockCode) +# return + + print (">>download begin:" + stockCode) + + exchange = "SS" if (int(stockCode) // 100000 == 6) else "SZ" + + if iterable(self.endDate): + d1 = (self.startDate[1]-1, self.startDate[2], self.startDate[0]) + else: + d1 = (self.startDate.month-1, self.startDate.day, self.startDate.year) + if iterable(self.endDate): + d2 = (self.endDate[1]-1, self.endDate[2], self.endDate[0]) + else: + d2 = (self.endDate.month-1, self.endDate.day, self.endDate.year) + + g='d' + + ticker = stockCode + '.' + exchange + urlFmt = 'http://ichart.yahoo.com/table.csv?a=%d&b=%d&c=%d&d=%d&e=%d&f=%d&s=%s&y=0&g=%s&ignore=.csv' + + url = urlFmt % (d1[0], d1[1], d1[2], + d2[0], d2[1], d2[2], ticker, g) + + if(not self.down_file(url, stock_file)): + self.downloadFrom163(stockCode) + print (">>download finish:" + stockCode) + + # 从网易API下载 + def downloadFrom163(self, stockCode): + stockCode = str(stockCode).zfill(6) #不足6位,前面补零 + + stockCode163 = stockCode + if int(stockCode) // 100000 == 0: + stockCode163 = '1'+stockCode + else: + stockCode163 = '0'+stockCode + +# if stockCode in self.ignoreList: +# print 'ignore:', stockCode +# return; + + if os.path.exists(self.downloadDir) == False: + os.makedirs(self.downloadDir) + stock_file = self.downloadDir + '/' + stockCode + '.csv' + #print stockCode + +# if os.path.exists(stock_file): +# print (">>exist:" + stockCode) +# return + + print (">>download begin:" + stockCode) + + strDateStart = self.startDate.strftime('%Y%m%d') + strDateEnd = self.endDate.strftime('%Y%m%d') + + urlFmt = 'http://quotes.money.163.com/service/chddata.html?code=%s&start=%s&end=%s' + + url = urlFmt % (stockCode163,strDateStart, strDateEnd) + + self.down_file(url, stock_file) + + print (">>download finish:" + stockCode) + + # url:下载路径 + # file_name:保存到本地的文件名 + # 找不到股票代码则放入忽略列表 + def down_file(self,url, file_name): + + try: + u = urllib2.urlopen(url) + f = open(file_name, 'wb') + + file_size_dl = 0 + block_sz = 8192 + while True: + buffer = u.read(block_sz) + if not buffer: + break + + file_size_dl += len(buffer) + f.write(buffer) + f.close() + except Exception as e: + print str(e) + + # basename = os.path.basename(os.path.splitext(file_name)[0]) #股票代码 + # + # f = open(self.downloadDir + '/' + self.ignorelist_file, 'a') # a,文件尾部插入,不覆盖原数据 + # f.write('\n' + basename) + # f.close() + finally: + None + +# def deleteFile(self,fileName): +# try: +# os.remove(self.stockCode + ".csv") +# except Exception as e: +# pass + + +if __name__ == "__main__": + listAll = ['000725', '000783', '002167', '002505', '002600', '300315', '600000', '600011', '600048', '601001'] + downloadAllHistoryAShareData(listAll) \ No newline at end of file diff --git a/data_process/download_stock.pyc b/data_process/download_stock.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ae342107cf8703d2ffc3ca989ff69372b5f9f3d3 GIT binary patch literal 4923 zcmb_fU2hy$8Gg^KybJEL8Bfp<7Xui1LcS;&l<8PFtQ5xIR(wG)+Ql7)18S%2> zEr^$6_L<1T#;o{r;^k%Ak@zp-6~rrwhk?)^-OyoHJTy2a-n?uUrEyIB8S#(FGb5(2 zGp$!%z^sFR;SWj%!-p0IJ!5?y%GA9*qhRHD` z<%h48d#{zfrSjd?@;j^Ly5+=oT3b<+oPhPmAAj)auYU9CN8kJ8yFdBUkG}uO`@i_} z`#)c;Orgp;NTNiSbIBF>ySms>I=Gv}1dv~lT6n-%;KhF`;z+(Y7n z9!C6>njkBHlVP@-A#4D>=O8Wsq5ymjLQjrK1x96+UBHU+3M6$?V5C4G2HN}>zs}{n zfhYMr65tv*Y{GEVKo{1^}T06~J^PvAFnE)2HixU4<%pOF@&dM(6V!)+MxC_rp z(l_$1a)5JNOBRs6z1fdq{~Op41!dJfu?eTYu4%EtO>t+D9AE?+wvQ3DSsmy&L|n5I zgucr!xQaw#-+zLNL_vPL6(%XRd#!CBj7Vt`4g9`BKlWRmHcSR#U@du?j!hr60>H-z zgzT*+ZGT{cs1L;%())KCoJt}~ctIcN64{Wpf71+rc zB;pi|{$*Y?3npVu1J?6q#>|>2|c6Rs5BH}E9eNFb*GGqCUsJE`i2O{dx~6Kqgg zLIm(rr8NDs#3D47E$W9_s0dRo0W$W33Ii#$REBwi)m1CjbS+2Z^^<_RrtaygE?-`$ za0_)O?r(8>coJw`uQjlg$}zQX$5HPg1rp% z(iutHeP;MGhQlDBI5a$Rqv2tVhMyb{Uz9_`Ba;pfBOM-^J0*}KOc4RfBG9+E2i2XH zJxm+_&}WRu7e2@rzl2UK#EXS^u@H-zl}=tx?4@c6d4mCxIFkHQy`CE_B-b2qP`bQ| za-wlfk9Q^gg@oX%wv$JC&|kYY#_!UGzZvvbgAc!>dkliq^(e15G%N^+kN{6AC7upe zO&+3P%i6)}g$qF&Cz`ElkWg($y$hBx6u)%6b+zoB-(b>a;xX}=beJSp%gOnjtF`l+ zG*ZF4svc6l4tdyt#w1&R`}GGE63<;iqN4Z|sv91tuDi%u&f7i7ga@orHt1WII;e`M z+Nj-o(9kVyFb+X>e9VMY;Nqm3{wi`6GQ?HhvQkfYZ+7j%SW%sl&%}1?Q|YYhHEA;6G9)>&%#} zbJCo3=FMEH1JrYZM0Mb=Fg{lY05OKLsTQkbpB_o|wK2g_-v@1Qd^0viV^v~^26?9E z^C&oYq*ZBfpygxf&}e0m-602y&;zg{#Wsg1C|eOJr}2WS0r{JjD3eG({KHFV&LmlX z0vu##gb*+gQQ(vSPt#GAF(phnWsH*H0QAeceKog+2LFRb36G8P!*Z|eC3j(tIP%^w zvVKwp;{2T|&IRR3;>VAIwtu0$~|M5$=8!S<9u^hdIx&Hx5c;#y@oi&U!o|0%5_ezUMMb zb%~xMf-<@HZ9EB2Q8CAzEDo({r??O4c{2|nFF13KMinIIe&qU7WS)K~JKq{z)v(dT z3yv0mLL*lo07nMSs69Xi$46G4yh%XD@hEmkV@cvBCy6Wf7*yc$1{~)&))n*vycqOq z-n_RW4_JVl#-}eKKE<6C@#zl{)!O#b9NP>Y-P5e(Zr_iGzWX9`86+X%N-o6X7*|@2LEJAQn<^)puK|b^E?2te z+%wfZhOy0l3-=-F<$x{`wjbW$b$L={aJff{9C_loJ zEFlpmBN^z{EC7&2bUBN30+*&^8domlbtdXnQ=M-%6`9RuFY<<%P*bm)ZXP4KWhTlQ z3Z+Ykr3`>^RL(OXClB?)oz1-bLTRe-O5yy-!(J=s!$S&1tya5o@zTEe`pU?>xP1A_ z*t}F5H@JAYR@2gzT5V-HEkzN2T1smzd+#p$lhxj$1L5&`yG~b# zh_Jl<^jdZhMz~mSRNEU-w5`Xd2DrT;ZsVi4Ip}Y?3=b@I{03T)5>;M1& literal 0 HcmV?d00001 diff --git a/data_process/get_all_china_stock_code.py b/data_process/get_all_china_stock_code.py index 44a032e..4ae41aa 100644 --- a/data_process/get_all_china_stock_code.py +++ b/data_process/get_all_china_stock_code.py @@ -1,198 +1,198 @@ -#!/usr/local/bin/python -#coding=utf-8 - -import urllib2 -import BeautifulSoup -import re -import sys -import chardet - -import logging -import scrapy -from scrapy.spiders import Spider -from scrapy.selector import Selector -#from scrapy import log - -from scrapy.downloadermiddlewares.useragent import UserAgentMiddleware -import random as rd -import codecs -import json - -# http://app.finance.ifeng.com/list/stock.php?t=ha&f=symbol&o=asc&p=1 - -#url = 'http://quote.eastmoney.com/stock_list.html' -# url = 'http://app.finance.ifeng.com/list/stock.php?t=ha&f=symbol&o=asc&p=1' -# -# #设置头文件,模拟浏览器访问,防止封IP -# req_header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11', -# 'Accept':'text/html;q=0.9,*/*;q=0.8', -# 'Accept-Charset':'ISO-8859-1,utf-8;q=0.7,*;q=0.3', -# 'Accept-Encoding':'gb2312', -# 'Connection':'close', -# 'Referer':None #注意如果依然不能抓取的话,这里可以设置抓取网站的host -# } -# -# #建立连接请求,这时返回页面信息给con这个变量,con是一个对象 -# req = urllib2.Request(url, headers=req_header) -# con = urllib2.urlopen(req) -# -# #对con对象调用read()方法,返回的就是html页面,也就是有html标签的纯文本 -# doc = con.read() -# typeEncode = sys.getfilesystemencoding()##系统默认编码 -# infoencode = chardet.detect(doc).get('encoding','utf-8') #通过第3方模块来自动提取网页的编码 -# html = doc.decode(infoencode, 'ignore').encode(typeEncode)##先转换成unicode编码,然后转换系统编码输出 ---------->方式一 -# #html = doc.decode('gb2312')#.encode('utf-8') #先转成gb2312编码,然后转换unicode编码输出 ---------->方式二 -# #html = unicode(doc,'GBK').encode('UTF-8') ----------->方式三 -# print html -# -# # 生成一个soup对象 -# # soup = BeautifulSoup.BeautifulSoup(html) -# # for link in soup.findAll('a'): -# # if link.get('target') == "_blank": -# # print (link.get('href')) -# -# # paper_desc = soup.html.body.find('div', {'class' : 'quotebody'}).text -# # #stock_list = re.findall(r'\.html\"\>.*\<\/a\>\<\/li\>', html) -# # stock_list = re.findall(r'\>.*\(\d{6}\)\<\/a\>', html) -# # print paper_desc -# -# #关闭连接 -# con.close() - -# Define here the models for your scraped items -# -# See documentation in: -# http://doc.scrapy.org/en/latest/topics/items.html - -class TTjjItem(scrapy.Item): - stockCode = scrapy.Field() - stockName = scrapy.Field() - -class TTJJi(Spider): - - name = "TTJJ" - allowed_domains=['eastmoney.com'] - start_urls = ["http://quote.eastmoney.com/stocklist.html#sh"] - - def parse(self, response): - - sel = Selector(response) - cont=sel.xpath('//div[@class="qox"]/div[@class="quotebody"]/div/ul')[0].extract() - item = TTjjItem() - - for ii in re.findall(r'
  • .*?(.*?)',cont): - item["stockName"]=ii.split("(")[0].encode('utf-8') - item["stockCode"]=("sh"+ii.split("(")[1][:-1]).encode('utf-8') - #log.msg(ii.encode('utf-8'),level="INFO") - yield item - - #item["stockCode"]="+------------------------------------------------------------------+" - #yield item - cont1=sel.xpath('//div[@class="qox"]/div[@class="quotebody"]/div/ul')[1].extract() - - for iii in re.findall(r'
  • .*?(.*?)',cont1): - item["stockName"]=iii.split("(")[0].encode('utf-8') - item["stockCode"]=("sz"+iii.split("(")[1][:-1]).encode('utf-8') - #log.msg(iii.encode('utf-8'),level="INFO") - yield item - -class UserAgentMiddle(UserAgentMiddleware): - - def __init__(self, user_agent=''): - self.user_agent = user_agent - - def process_request(self, request, spider): - ua = rd.choice(self.user_agent_list) - if ua: - #显示当前使用的useragent - print "********Current UserAgent:%s************" %ua - - #记录 - #log.msg('Current UserAgent: '+ua, level='INFO') - request.headers.setdefault('User-Agent', ua) - - #the default user_agent_list composes chrome,I E,firefox,Mozilla,opera,netscape - #for more user agent strings,you can find it in http://www.useragentstring.com/pages/useragentstring.php - user_agent_list = [\ - "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 " - "(KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1", - "Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 " - "(KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11", - "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 " - "(KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6", - "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 " - "(KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6", - "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.1 " - "(KHTML, like Gecko) Chrome/19.77.34.5 Safari/537.1", - "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 " - "(KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5", - "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 " - "(KHTML, like Gecko) Chrome/19.0.1084.36 Safari/536.5", - "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 " - "(KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3", - "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.3 " - "(KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3", - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/536.3 " - "(KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3", - "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 " - "(KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3", - "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 " - "(KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3", - "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 " - "(KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3", - "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 " - "(KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3", - "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.3 " - "(KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3", - "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 " - "(KHTML, like Gecko) Chrome/19.0.1061.0 Safari/536.3", - "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.24 " - "(KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24", - "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 " - "(KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24" - ] - - -# Define your item pipelines here -# -# Don't forget to add your pipeline to the ITEM_PIPELINES setting -# See: http://doc.scrapy.org/en/latest/topics/item-pipeline.html - -class TtjjPipeline(object): - - def __init__(self): - - self.file=codecs.open("TTJJ.json",mode="wb",encoding='utf-8') - self.file.write('{"hah"'+':[') - - - def process_item(self, item, spider): - line = json.dumps(dict(item))+"," - self.file.write(line.decode("unicode_escape")) - - return item - - - -# Scrapy settings for TTJJ project -# -# For simplicity, this file contains only the most important settings by -# default. All the other settings are documented here: -# -# http://doc.scrapy.org/en/latest/topics/settings.html -# - -BOT_NAME = 'TTJJ' - -SPIDER_MODULES = ['TTJJ.spiders'] -NEWSPIDER_MODULE = 'TTJJ.spiders' -download_delay=1 -ITEM_PIPELINES={'TTJJ.pipelines.TtjjPipeline':300} -COOKIES_ENABLED=False -# Crawl responsibly by identifying yourself (and your website) on the user-agent -#USER_AGENT = 'TTJJ (+http://www.yourdomain.com)' -#取消默认的useragent,使用新的useragent -DOWNLOADER_MIDDLEWARES = { - 'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware' : None, - 'TTJJ.spiders.UserAgentMiddle.UserAgentMiddle':400 +#!/usr/local/bin/python +#coding=utf-8 + +import urllib2 +import BeautifulSoup +import re +import sys +import chardet + +import logging +import scrapy +from scrapy.spiders import Spider +from scrapy.selector import Selector +#from scrapy import log + +from scrapy.downloadermiddlewares.useragent import UserAgentMiddleware +import random as rd +import codecs +import json + +# http://app.finance.ifeng.com/list/stock.php?t=ha&f=symbol&o=asc&p=1 + +#url = 'http://quote.eastmoney.com/stock_list.html' +# url = 'http://app.finance.ifeng.com/list/stock.php?t=ha&f=symbol&o=asc&p=1' +# +# #设置头文件,模拟浏览器访问,防止封IP +# req_header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11', +# 'Accept':'text/html;q=0.9,*/*;q=0.8', +# 'Accept-Charset':'ISO-8859-1,utf-8;q=0.7,*;q=0.3', +# 'Accept-Encoding':'gb2312', +# 'Connection':'close', +# 'Referer':None #注意如果依然不能抓取的话,这里可以设置抓取网站的host +# } +# +# #建立连接请求,这时返回页面信息给con这个变量,con是一个对象 +# req = urllib2.Request(url, headers=req_header) +# con = urllib2.urlopen(req) +# +# #对con对象调用read()方法,返回的就是html页面,也就是有html标签的纯文本 +# doc = con.read() +# typeEncode = sys.getfilesystemencoding()##系统默认编码 +# infoencode = chardet.detect(doc).get('encoding','utf-8') #通过第3方模块来自动提取网页的编码 +# html = doc.decode(infoencode, 'ignore').encode(typeEncode)##先转换成unicode编码,然后转换系统编码输出 ---------->方式一 +# #html = doc.decode('gb2312')#.encode('utf-8') #先转成gb2312编码,然后转换unicode编码输出 ---------->方式二 +# #html = unicode(doc,'GBK').encode('UTF-8') ----------->方式三 +# print html +# +# # 生成一个soup对象 +# # soup = BeautifulSoup.BeautifulSoup(html) +# # for link in soup.findAll('a'): +# # if link.get('target') == "_blank": +# # print (link.get('href')) +# +# # paper_desc = soup.html.body.find('div', {'class' : 'quotebody'}).text +# # #stock_list = re.findall(r'\.html\"\>.*\<\/a\>\<\/li\>', html) +# # stock_list = re.findall(r'\>.*\(\d{6}\)\<\/a\>', html) +# # print paper_desc +# +# #关闭连接 +# con.close() + +# Define here the models for your scraped items +# +# See documentation in: +# http://doc.scrapy.org/en/latest/topics/items.html + +class TTjjItem(scrapy.Item): + stockCode = scrapy.Field() + stockName = scrapy.Field() + +class TTJJi(Spider): + + name = "TTJJ" + allowed_domains=['eastmoney.com'] + start_urls = ["http://quote.eastmoney.com/stocklist.html#sh"] + + def parse(self, response): + + sel = Selector(response) + cont=sel.xpath('//div[@class="qox"]/div[@class="quotebody"]/div/ul')[0].extract() + item = TTjjItem() + + for ii in re.findall(r'
  • .*?(.*?)',cont): + item["stockName"]=ii.split("(")[0].encode('utf-8') + item["stockCode"]=("sh"+ii.split("(")[1][:-1]).encode('utf-8') + #log.msg(ii.encode('utf-8'),level="INFO") + yield item + + #item["stockCode"]="+------------------------------------------------------------------+" + #yield item + cont1=sel.xpath('//div[@class="qox"]/div[@class="quotebody"]/div/ul')[1].extract() + + for iii in re.findall(r'
  • .*?(.*?)',cont1): + item["stockName"]=iii.split("(")[0].encode('utf-8') + item["stockCode"]=("sz"+iii.split("(")[1][:-1]).encode('utf-8') + #log.msg(iii.encode('utf-8'),level="INFO") + yield item + +class UserAgentMiddle(UserAgentMiddleware): + + def __init__(self, user_agent=''): + self.user_agent = user_agent + + def process_request(self, request, spider): + ua = rd.choice(self.user_agent_list) + if ua: + #显示当前使用的useragent + print "********Current UserAgent:%s************" %ua + + #记录 + #log.msg('Current UserAgent: '+ua, level='INFO') + request.headers.setdefault('User-Agent', ua) + + #the default user_agent_list composes chrome,I E,firefox,Mozilla,opera,netscape + #for more user agent strings,you can find it in http://www.useragentstring.com/pages/useragentstring.php + user_agent_list = [\ + "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 " + "(KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1", + "Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 " + "(KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11", + "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 " + "(KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6", + "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 " + "(KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6", + "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.1 " + "(KHTML, like Gecko) Chrome/19.77.34.5 Safari/537.1", + "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 " + "(KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5", + "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 " + "(KHTML, like Gecko) Chrome/19.0.1084.36 Safari/536.5", + "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 " + "(KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3", + "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.3 " + "(KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3", + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/536.3 " + "(KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3", + "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 " + "(KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3", + "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 " + "(KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3", + "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 " + "(KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3", + "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 " + "(KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3", + "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.3 " + "(KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3", + "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 " + "(KHTML, like Gecko) Chrome/19.0.1061.0 Safari/536.3", + "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.24 " + "(KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24", + "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 " + "(KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24" + ] + + +# Define your item pipelines here +# +# Don't forget to add your pipeline to the ITEM_PIPELINES setting +# See: http://doc.scrapy.org/en/latest/topics/item-pipeline.html + +class TtjjPipeline(object): + + def __init__(self): + + self.file=codecs.open("TTJJ.json",mode="wb",encoding='utf-8') + self.file.write('{"hah"'+':[') + + + def process_item(self, item, spider): + line = json.dumps(dict(item))+"," + self.file.write(line.decode("unicode_escape")) + + return item + + + +# Scrapy settings for TTJJ project +# +# For simplicity, this file contains only the most important settings by +# default. All the other settings are documented here: +# +# http://doc.scrapy.org/en/latest/topics/settings.html +# + +BOT_NAME = 'TTJJ' + +SPIDER_MODULES = ['TTJJ.spiders'] +NEWSPIDER_MODULE = 'TTJJ.spiders' +download_delay=1 +ITEM_PIPELINES={'TTJJ.pipelines.TtjjPipeline':300} +COOKIES_ENABLED=False +# Crawl responsibly by identifying yourself (and your website) on the user-agent +#USER_AGENT = 'TTJJ (+http://www.yourdomain.com)' +#取消默认的useragent,使用新的useragent +DOWNLOADER_MIDDLEWARES = { + 'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware' : None, + 'TTJJ.spiders.UserAgentMiddle.UserAgentMiddle':400 } \ No newline at end of file diff --git a/data_process/native_data.py b/data_process/native_data.py index 899d6f1..c2dad1a 100644 --- a/data_process/native_data.py +++ b/data_process/native_data.py @@ -1,34 +1,34 @@ -#!/usr/local/bin/python -#coding=utf-8 -import os -#import matplotlib.mlab as mlab -import sys -#import chardet - -# 获取csv文件序列 -def getCsvDataBySplitPath(stock_code, dataPath): - fh = open(dataPath + '\\' + stock_code +".csv", 'r') - r = mlab.csv2rec(fh); - fh.close() - r.sort() #按时间由远及近排序 - - #比如读取收盘价 prices = r.adj_price - return r - -# 获取csv文件序列 -def getCsvDataByFullPath(csvName): - fh = open(csvName, 'r') - -# typeEncode = sys.getfilesystemencoding()##系统默认编码 -# infoencode = chardet.detect(fh).get('encoding','utf-8') #通过第3方模块来自动提取网页的编码 -# fh = fh.decode(infoencode, 'ignore').encode(typeEncode)##先转换成unicode编码,然后转换系统编码输出 ---------->方式一 - - r = mlab.csv2rec(fh); - fh.close() - r.sort() #按时间由远及近排序 - - #比如读取收盘价 prices = r.adj_price - return r - -if __name__ == "__main__": +#!/usr/local/bin/python +#coding=utf-8 +import os +#import matplotlib.mlab as mlab +import sys +#import chardet + +# 获取csv文件序列 +def getCsvDataBySplitPath(stock_code, dataPath): + fh = open(dataPath + '\\' + stock_code +".csv", 'r') + r = mlab.csv2rec(fh); + fh.close() + r.sort() #按时间由远及近排序 + + #比如读取收盘价 prices = r.adj_price + return r + +# 获取csv文件序列 +def getCsvDataByFullPath(csvName): + fh = open(csvName, 'r') + +# typeEncode = sys.getfilesystemencoding()##系统默认编码 +# infoencode = chardet.detect(fh).get('encoding','utf-8') #通过第3方模块来自动提取网页的编码 +# fh = fh.decode(infoencode, 'ignore').encode(typeEncode)##先转换成unicode编码,然后转换系统编码输出 ---------->方式一 + + r = mlab.csv2rec(fh); + fh.close() + r.sort() #按时间由远及近排序 + + #比如读取收盘价 prices = r.adj_price + return r + +if __name__ == "__main__": print 'data center' \ No newline at end of file diff --git a/data_process/native_data.pyc b/data_process/native_data.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7e1acec6d1be5759f13304ffa157912ecfd27123 GIT binary patch literal 870 zcmb`E&u$Yj5XQ&eZ6Qmb2S7P+;kXwnC=v%$Rj8%>xkSj}6s@op+oef2yV2T-6e&HG zXX#7v7=3{9jk^il!CKFb$DYrg-y}B=v+G~q#)i5f@qdTuk6|o6K^4(>>kAqSvXXux zD9I+#Nyw#SQ@W7U9+BOlkDuz8I?8t;Gr7eW8kSBm6U-CLcts#uLr~CQO*DY;0Gd~l zE+qv)Q%P${SAs4RcBa@O66=Jf>Bbx7tU2@ow(#ul8^1&@QJe3;297mzS4U@7mEXfX zL~!V!btdo;Q#IbjZQryZ3Wf}E9~yI^O=DfSkEJa``K1i!fh##XSFn_Cjei68^lkC- z_2;j}*`l_uqAjAxi-Ur*^}KD2^S-FdFj+dyvHkffJVojc7f$^0JtD`e(Y%@jzN&`} z&rc!oOzeqFWQpO@nBkTqU(6gMa%Lws>_lV-h(Ot~1I3P=q*2b54DSkI5Q?=G2NkO; zMyGfq=jDdmu$(!?K>j0vCy@J_z=uUuF@VR2cL4Tw?*PPJXgw<@wbuRt4lu^&1|4=? y%ejKa2Y$3)dBqeJAM8?V6rlB=) 0.0: - stockClassList.append(stock) - else: - print stock.code , 'stop' - return stockClassList - except Exception as e: - #print str(e) - return [] - -#获取实时股价 -def getLiveChinaStockPrice(stockCode): - - try: - exchange = "sh" if (int(stockCode) // 100000 == 6) else "sz" - dataUrl = "http://hq.sinajs.cn/list=" + exchange + stockCode - stdout = urllib2.urlopen(dataUrl) - stdoutInfo = stdout.read().decode('gb2312').encode('utf-8') - - # 正则表达式说明 - # 搜索 “ ”双引号内的字符串,包含换行符,将匹配的字符串分为三组:用()表示 - # group(2):取第二组数据 - tempData = re.search('''(")(.+)(")''', stdoutInfo).group(2) - stockInfo = tempData.split(",") - - #bb[0]:股票名 bb[1]:今日开盘价 bb[2]:昨日收盘价 bb[3]:当前价格 bb[4]:今日最高价 bb[5]:今日最低价 - #bb[6]:买一报价 bb[7]:卖一报价 bb[8]:成交股票数/100 bb[9]:成交金额/w bb[10]:买一申请股数 bb[11]:买一报价 - #bb[12]:买二股数 bb[13]:买二报价 bb[14]:买三股数 bb[15]:买三报价 bb[16]:买四申请股数 bb[17]:买四报价 - #bb[18]:买五股数 bb[19]:买五报价 bb[20]:卖一股数 bb[21]:卖一报价 bb[22]:卖二申请股数 bb[23]:卖二报价 - #bb[24]:卖三股数 bb[25]:卖三报价 bb[26]:卖四股数 bb[27]:卖四报价 bb[28]:卖五股数 bb[29]:卖五报价 - #bb[30]:日期 bb[31]:时间 bb[8]:不知道 - - return st.Stock(stockInfo) - - except Exception as e: - print(">>>>>> Exception: " + str(e)) - finally: - None - -# 获取A股所有股票的实时股价 -# 通过 ts.get_today_all 获取 -@wrapcache.wrapcache(timeout=5*60) -@retry(stop_max_attempt_number=10) -def get_real_price_dataframe(): - df = ts.get_today_all() - return df - -@fn_timer_ -def getAllChinaStock(): - - stockList = [] - try: - df = get_real_price_dataframe() - for se in df.get_values(): - stock = st.Stock('') - stock.code = se[0] - stock.name = se[1] - stock.current = se[3] - stock.open = se[4] - stock.high = se[5] - stock.low = se[6] - stock.close = se[7] - stock.dealAmount = se[8]/100 - stock.time = time.localtime(time.time()) #时间 - #print stock - - stockList.append(stock) - except: - print 'get real price timeout' - - return stockList - -# 获取A股所有股票的实时股价 -# 通过get_realtime_quotes接口获取 -def getAllChinaStock2(): - df_list = pd.read_csv(cm.DownloadDir + cm.TABLE_STOCKS_BASIC + '.csv') - stockList = df_list['code'].values; - stockList_group = util.group_list(stockList, 20) - print len(stockList_group) - print stockList_group[1] - stockList = [] - for group in stockList_group: - df = ts.get_realtime_quotes(group) - - for se in df.get_values(): - stock = st.Stock('') - stock.code = se[0] - stock.name = se[1] - stock.current = se[3] - stock.open = se[4] - stock.high = se[5] - stock.low = se[6] - stock.close = se[7] - stock.dealAmount = se[8]/100 - stock.time = time.localtime(time.time()) #时间 - #print stock - stockList.append(stock) - return stockList - -if __name__ == "__main__": - getAllChinaStock() - - -#df = ts.get_realtime_quotes('002600') +#!/usr/local/bin/python +#coding=utf-8 + +import urllib2 +import re +import Stock as st +import tushare as ts +import pandas as pd +import time +import wrapcache +from retrying import retry + +from util.stockutil import fn_timer as fn_timer_ +import util.commons as cm +import util.stockutil as util + +#获取实时股价(同时获取多只股票) +def getLiveMutliChinaStockPrice(stockCodeList): + try: + stockCodeListEx = [] + for stockCode in stockCodeList: + if len(str(stockCode)) == 6: + exchange = "sh" if (int(stockCode) // 100000 == 6) else "sz" + stockCode = exchange + str(stockCode) + stockCodeListEx.append(stockCode) + strStockCode = ','.join(stockCodeListEx) + dataUrl = "http://hq.sinajs.cn/list=%s" % (strStockCode) + stdout = urllib2.urlopen(dataUrl) + stdoutInfo = stdout.read().decode('gb2312').encode('utf-8') + stdoutInfoList = stdoutInfo.splitlines() + + stockClassList = [] + + index = 0 + for eachLine in stdoutInfoList: + + # 正则表达式说明 + # 搜索 “ ”双引号内的字符串,包含换行符,将匹配的字符串分为三组:用()表示 + # group(2):取第二组数据 + tempData = re.search('''(")(.+)(")''', eachLine).group(2) + stockInfo = tempData.split(",") + stock = st.Stock(stockInfo) + stock.code = stockCodeList[index] + index += 1 + if stock.current > 0.0: + stockClassList.append(stock) + else: + print stock.code , 'stop' + return stockClassList + except Exception as e: + #print str(e) + return [] + +#获取实时股价 +def getLiveChinaStockPrice(stockCode): + try: + exchange = "sh" if (int(stockCode) // 100000 == 6) else "sz" + dataUrl = "http://hq.sinajs.cn/list=" + exchange + stockCode + stdout = urllib2.urlopen(dataUrl) + stdoutInfo = stdout.read().decode('gb2312').encode('utf-8') + + # 正则表达式说明 + # 搜索 “ ”双引号内的字符串,包含换行符,将匹配的字符串分为三组:用()表示 + # group(2):取第二组数据 + tempData = re.search('''(")(.+)(")''', stdoutInfo).group(2) + stockInfo = tempData.split(",") + + #bb[0]:股票名 bb[1]:今日开盘价 bb[2]:昨日收盘价 bb[3]:当前价格 bb[4]:今日最高价 bb[5]:今日最低价 + #bb[6]:买一报价 bb[7]:卖一报价 bb[8]:成交股票数/100 bb[9]:成交金额/w bb[10]:买一申请股数 bb[11]:买一报价 + #bb[12]:买二股数 bb[13]:买二报价 bb[14]:买三股数 bb[15]:买三报价 bb[16]:买四申请股数 bb[17]:买四报价 + #bb[18]:买五股数 bb[19]:买五报价 bb[20]:卖一股数 bb[21]:卖一报价 bb[22]:卖二申请股数 bb[23]:卖二报价 + #bb[24]:卖三股数 bb[25]:卖三报价 bb[26]:卖四股数 bb[27]:卖四报价 bb[28]:卖五股数 bb[29]:卖五报价 + #bb[30]:日期 bb[31]:时间 bb[8]:不知道 + + return st.Stock(stockInfo) + + except Exception as e: + print(">>>>>> Exception: " + str(e)) + finally: + None + +# 获取A股所有股票的实时股价 +# 通过 ts.get_today_all 获取 +@wrapcache.wrapcache(timeout=5*60) +@retry(stop_max_attempt_number=10) +def get_real_price_dataframe(): + df = ts.get_today_all() + return df + +@fn_timer_ +def getAllChinaStock(): + + stockList = [] + try: + df = get_real_price_dataframe() + for se in df.get_values(): + stock = st.Stock('') + stock.code = se[0] + stock.name = se[1] + stock.current = se[3] + stock.open = se[4] + stock.high = se[5] + stock.low = se[6] + stock.close = se[7] + stock.dealAmount = se[8]/100 + stock.time = time.localtime(time.time()) #时间 + #print stock + + stockList.append(stock) + except: + print 'get real price timeout' + + return stockList + +# 获取A股所有股票的实时股价 +# 通过get_realtime_quotes接口获取 +def getAllChinaStock2(): + df_list = pd.read_csv(cm.DownloadDir + cm.TABLE_STOCKS_BASIC + '.csv') + stockList = df_list['code'].values; + stockList_group = util.group_list(stockList, 20) + print len(stockList_group) + print stockList_group[1] + stockList = [] + for group in stockList_group: + df = ts.get_realtime_quotes(group) + + for se in df.get_values(): + stock = st.Stock('') + stock.code = se[0] + stock.name = se[1] + stock.current = se[3] + stock.open = se[4] + stock.high = se[5] + stock.low = se[6] + stock.close = se[7] + stock.dealAmount = se[8]/100 + stock.time = time.localtime(time.time()) #时间 + #print stock + stockList.append(stock) + return stockList + +if __name__ == "__main__": + getAllChinaStock() + + +#df = ts.get_realtime_quotes('002600') #print df[['code', 'name', 'price', 'bid', 'ask', 'volume', 'amount', 'time']] \ No newline at end of file diff --git a/data_process/online_data.pyc b/data_process/online_data.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fa060aedfca2badebbacec93142de0d1ee6a17e3 GIT binary patch literal 4135 zcmb_f-)|dP6+YK?emHjGr1{;dONdzEvb*UvUD&1Umdz$rS_lD+i?Xs(4bz!PJnneL znYnJ0l>LBzI7wA45@Of!9N%;Ao%`dQ?>pzD z{LksBzut1&zKlK<{CpJ$cct zO1rA75Np8vmn8kHWnqU zN*Ak+OVE&)V#1mPP^Z`qYMk@Z@Y`OJa7KdqsHeRw!L+WhBH^k8GxDq?*}o)Q#*1PS zy?CoR3rj@*#%I3?bBG;-$U>W)73w6^qr|mQFU)*S;C#;6#*_aXJ!if-7CAR^+L58i z&Xb?Xc}XmmGBPZU&ITKEcVBF2)ESiI`l$B@G*1FMSLD1b!}8Ue%UB5q9UAFkKo>J7 zvvL5_bSvz}wa+Uw&9EX%=VLs67s{9ppfN7p30}7g521l|V7W;hosi*#bZJF7pA=pJ zLsdDSlGESFa1s~!rJUEq)}&jfwTCr%S(5Iwz~a|k+<_3kR5CL_io?roNVM#;&t;4 zKe-)8x&7$P-168^u@SEGT z-&{b$mLcLW(cj!=`Wq!yckufCFbVX9Zi>zc%pGKL96jB{Y)!XIQAHnvr? zADsGO-$rSo%&^m3mv3z27<;f6y!=|vgHwI+a+W1$!c)KFCC8zy>-0=_@ zv$#054bp+NdM#}}N{&)Hqpxv zx^U6G=y~{~0lc!^0l@UWKgl9LyoO<2Tuj-Fn`yIR*3G<`GYvC^=M7UYjhE0rb^}@i zHG9%=#;#1OsD?5zCmxK!O{0 zFQQKoXTUth1`Qxsr;G5eK>{HKu0iBLs6b#L?GZn!N^C5N7*oVwM1gUE=ejjU8ms`S zu7j#|rRwKm&L=cP14W267+>Cfm>Bu=0L;bL6bvRp_LaO!V}~SjNThrf;=l6NQCCtZ zU%!Z|j*^oOxUZkJOK{&?)4<^n@eU8*5acop}n9+gYSoqFAQ5PC?%& znfB8pY*KS>QoKR2M)7rub&79N5Nyu3AlUe_(Bol7(0dJa?_(ri;TEPWWgu>bSR=-& zbESq^E-4S0)K@+duYv;-DHLHUO$kRpM)r<_@ts-N) z$i^jdPZe+kN~KVcg`tcU3X(3A@j?N)piC4>Rh7v?L7K!!RaTLA7r8w0Fp@2DEM%SM z1DV*5Bn;Cd*@DSTpkI@NgQPCTureyhh6$~vatt?vn^n+*5$_+-5QYCWhcX>RgmDx= zh54?>hzXKN(w83EkD$0s116#}R zWWghX3qcuJEW$B@IUt5`%xJFY!PMP{#0tQ+`;Zt0ZvRH~>^%81t4SCQHC_P^gmq%N z!gvh`DW*{}DzHXXoYszt&v9`9D`W)17)nDGf)&cFDg-MORCkyLuu{3E3hO>7^QzPe zWkHoXFg*=SV{}pMl603) z1p)26#}=Od1=>x8BXQCXv|wP##osTG#4BV$Eua1h1@3Z5wUL!kPEewlvMxr?1r}(O9GKa-p zr^)63ojDVpn44h7HB$puSO+yqU&xr!qEUaiNI_BJy3yP4ZBvu2CTdN}nt*ArB8?65 zj+cdnjTy%JUJ`h@vxTM_Nkhkr%61(Vf-lBMig2B@Hm|_oNbV-Ir*S!i-+WP;CQHJgh lducF;!~2Xi8lmdu)j!sjs5HyfH>)=r=Ehj#Ms>Ar{sW#&EX4o- literal 0 HcmV?d00001 diff --git a/init.py b/init.py index 8d916a9..cb1f582 100644 --- a/init.py +++ b/init.py @@ -1,47 +1,114 @@ -#coding:utf-8 -__author__ = 'cbb' - -import platform, os -from sqlalchemy import create_engine -from util.MyLogger import Logger - -#DB_WAY:数据存储方式 'csv' # or 'mysql' or 'redis' or 'sqlite' -DB_WAY = 'mysql' -DB_USER = 'root' -DB_PWD = 'root' # or '123456' in win7 -DB_NAME = 'stock' -DownloadDir = os.path.pardir + '/stockdata/' # os.path.pardir: 上级目录 - -# mysql Host -# if platform.system() == 'Windows': -# host_mysql = 'localhost' -# else: -# host_mysql = '101.200.183.216' -host_mysql = '127.0.0.1' -user_mysql = 'admin' -pwd_mysql = '1234' -db_name_mysql = 'wealth_db' - -engine = create_engine('mysql+mysqldb://%s:%s@%s/%s' % (user_mysql, pwd_mysql, host_mysql, db_name_mysql), connect_args={'charset':'utf8'}) - - -# 短均线, 长均线 -AVR_SHORT = 12 -AVR_LONG = 40 - -#买卖标记 -SIGNAL_BUY = 1 #买 -SIGNAL_SALE = -1 #卖 -SIGNAL_DEFAULT = 0 - -#阈值 -Threshold_Buy_Count = 3 -Threshold_Sale_Count = 2 - -#日志设置 -from util.MyLogger import Logger -#infoLogger = Logger(logname='../Log/info.log', logger='I') -#errorLogger = Logger(logname='../Log/error.log', logger='E') - -#配置文件 位置 +#coding:utf-8 +__author__ = 'cbb' + +import platform, os +from sqlalchemy import create_engine +from util.MyLogger import Logger +import pymysql +import datetime +import sys +reload(sys) +sys.setdefaultencoding("utf-8") + +#DB_WAY:数据存储方式 'csv' # or 'mysql' or 'redis' or 'sqlite' +DB_WAY = 'mysql' +DB_USER = 'root' +DB_PWD = 'root' # or '123456' in win7 +DB_NAME = 'stock' +DownloadDir = os.path.pardir + '/stockdata/' # os.path.pardir: 上级目录 + +# mysql Host +# if platform.system() == 'Windows': +# host_mysql = 'localhost' +# else: +# host_mysql = '101.200.183.216' +host_mysql = 'localhost' +user_mysql = 'root' +pwd_mysql = '133499' +db_name_mysql = 'wealth_db' + +engine = create_engine('mysql+mysqldb://%s:%s@%s/%s' % (user_mysql, pwd_mysql, host_mysql, db_name_mysql), connect_args={'charset':'utf8'}) +class get_mysql(object): + '''链接数据库,并根据提供的数据库名称和关键词信息创建一个表格,表格存在就不创建''' + def __init__(self,dbname,key,citys): + self.T = datetime.datetime.strftime(datetime.datetime.now(), "%Y%m%d%H%M") + self.dbname = dbname + self.key = key + if len(citys) == 1: + self.city = citys[0] + elif len(citys) > 1: + self.city = "&".join(citys) + else: + self.city = "" + self.table_name = "{}_{}_{}".format(self.T,self.key,self.city) + self.conn = pymysql.Connect( + host="localhost", + port=3306, + user='root', + password='133499', + db=self.dbname, + charset='utf8' + ) + self.cursor = self.conn.cursor() + # 直接创建一个表格 + self.create_table() + + # 创建表格的函数,表格名称按照时间和关键词命名 + def create_table(self): + sql = '''CREATE TABLE `{tbname}`( + {job_name} varchar(100) not null, + {gs_name} varchar(100), + {salary} char(20), + {job_site} char(20), + {create_date} char(20), + {job_link} varchar(100), + {gs_link} varchar(100) + )''' + try: + self.cursor.execute(sql.format(tbname=self.table_name,job_name="职位名称",gs_name="公司名称",salary="薪资", + job_site="工作地点",create_date="发布时间",job_link="招聘链接",gs_link="公司链接")) + except Exception as e: + print("创建表格失败,表格可能已经存在!",e) + else: + self.conn.commit() + print("成功创建一个表格,名称是{}".format(self.table_name)) + + # 插入信息函数,每次插入一条信息,插入信息失败会回滚 + def insert_data(self,data): + '''插入数据,不成功就回滚操作''' + sql = '''INSERT INTO `{}` VALUES('{}','{}','{}','{}','{}','{}','{}')''' + try: + self.cursor.execute(sql.format(self.table_name,data["job_name"],data["gs_name"],data["salary"],data["job_site"], + data["create_date"],data["job_link"],data["gs_link"])) + except Exception as e: + self.conn.rollback() + print("插入信息失败,原因:",e) + else: + self.conn.commit() + print("成功插入一条信息") + + def close_mytable(self): + '''关闭游标和断开链接,数据全部插入后必须执行这个操作''' + self.cursor.close() + self.conn.close() + +# 短均线, 长均线 +AVR_SHORT = 12 +AVR_LONG = 40 + +#买卖标记 +SIGNAL_BUY = 1 #买 +SIGNAL_SALE = -1 #卖 +SIGNAL_DEFAULT = 0 + +#阈值 +Threshold_Buy_Count = 3 +Threshold_Sale_Count = 2 + +#日志设置 +from util.MyLogger import Logger +infoLogger = Logger(logname='../Log/info.log', logger='I') +errorLogger = Logger(logname='../Log/error.log', logger='E') + +#配置文件 位置 config_file_path = '../config.ini' \ No newline at end of file diff --git a/init.pyc b/init.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7478d2ff3a8056d85c155ba48804deb03ad8658d GIT binary patch literal 4154 zcmbVP|8Er65ud#~pM3^nV=!Nu1dgN*=K{8Y3IUC(7;^;_W7@R|Wreh?Z};pyuXo*j z?@CT!33{NW4aPLIKrn4UDhi59fHqA`fbh?F57S@xp}$sYXXdR9sI)4zy|eSa?wgs< zXWlsZ_ol{fYU}s>Z(F%4W7|VFZa0h|vkaUSP)xxJdkMIB#%8cv zU|UtwjFn(71!onYt#&J%2B-oYHdceZ4202G}dWSOfM-FxG;- z3XCk<^1RJX8f;vTi*e=axL?9p2XQB^$Idm}`6k$F!FY=tJCMtwzhx3dVQ9$xC;s&3 z(D@*ns4H|V>6nf`?D~%CrV#Z7!^2J}>QF7q;->AAw6Ti#nI}`Ig+U;>OUR%wDi&c^ z7pt}>(tew_ZvFm_9XxQ%u{=3q+C$X#9llNG_85y_>AF&06gE+$wpk!2G zAdDorh7^osl9f6_7xkn;AIOotB1G}z!nd_^H)_ATQ=9xE`sTvZ2WO*uU)8SN!)9&j z{Oq^WkFT6w7>&+PKK|@Z^zqr~%wL}T_KUgOle3Sm*G}DzKAev3e=|FCa(3qPx$8G; z*B;Hs}|B1w2hQ%4gJ9;7B(yP6i%gWvt)j1+_?$Ool{cv(CxL#$Cc@}`s_y@cOG z$^E5zsB+V61i1)GOf2LRatQf@v_Z}wTaX<{4O)dRZy{z>Ax+yhac2{hmXJx*vxIw^ zsj1n32yR6O^ovH6?T6dP+U@qe?fa2x04_ctNqZX|gsy5paeTt$KgJ6|P$vj-Ydi?0 z`!@uZ!jf=8ojfgR*|;Udu^_Z{LYGXSu!nSlwoV_;wNNk3LySAp9do!LWLV@z5=Z>t z7@uX3F>ep~7S5u9QK!Oh&++-g1y@#BDFv?2lZ!z(W=Tn3lGc#tn7o!wGG0-?KMqmndUlNAij$Nv~^kre_OQ{eA*HjZl^W%o6#00S`!5d5cz@P z*o%+2hyuYop+RLo2b-ad5H2A@8NY}yget-j!H2NJT>YOQg z6rfEc5I#$Z55)xR+3T-`pDNIn(h6Fw^f~Hcmh9PU6V{gD(fUOSkKC*0dj|8_!Jb`x z`Rvi-lH)mXG}oAoe~y=eAr90;_UBee2`RU^ySpRn2QurIJ#XW)nZx2G6Q3IwmS=^P zi7aojrMu&~A^M1LrSsCkIDZo+Uph{UJ=Y(7@r2LqjtBeq@r84DFv67O9RGQX1;K6Z z)Y;jGlPc+PPL8eQ!RXANqN$m9kO-(u6r|2w{Cw`Orx!LP>(rXBZ_GZt8eP5f_!svu zl`LFOWS*KZ^_ys>TD$bslS^MNET{AHXziovxl@-_#-2aV!k{{j8Wi2Qx5~D07XIVi zxi4=#OUhHX=c*5*umAk`{*+44Pam8TZ{wochv%bTfBMpVu1u|6zI}WmM`YFCM8U^! zK5zF94z?;7f*8#4bv!5Nos;Oj&tMde^@%#}H!icaL>q(PT15y*K(zUpt`q8<1M zN?njiYe{XBmercI=0uZLpae(Rf!xfToJNH>nSjbqp5r8zMDrv;ej+(n(~E8qe5KT@ zPQB9VRj*zRu)5m7<<=p8!vZf)BQKMny+}m7Q<5=Bmo1PKuNBJwjYwU*LJp(|0gG zkXwIzV*SSdDmrxXx86bGdn7iH*hpd%iB1%Pf~k%ZU-a`hiq3r+O<#NZ;EJHctIiis zoH<$h{dG0HKi5E85m59l5(@~?384xYG$jl?Z^$Z)>YK5_nO)(70!THNzJ;c5r9pgN zC8<;RT^}z(Y0^gfu_-7`LxS+Kneo!35JMoGe;6@jJq41JHwB9th!?C%C~_JGjZh}u zLqQeMrCYU`ncB5qVu4hISN{cpt1I`TE3vOhAx(0m;IAj_*IZm`#&! zYSSDG>@r@~Cez$B?Vw?I@ldhqeFdzSRlvYw_X2hwjtNs?73ClS}|6nz5s^vkR;FF4r#xo!HNL2H#lTb5_~M*&&|fgkcc!EQ)hp zkXLXBi}0d5+=(}Tj@4A)Iqa?un_T$WcDamFe-ZO8v_ zl%?x+?yum9@Blg;SSJ(p`19Y)MeWD&KaBR@sw|UkGg1S4QmKWghA| z%=V&s5P8lEQUCFw-Sgf3J^S-qE{$7qgvZCN&~`(J&-=PLu=jvI$iAXh-+}%;{E>lu zd-{9&%v}c$^O54_Ku=#@F2POX_U`e0GUOhR}SY-aFF9R-3%(aX3@n(=0].sum()/n - down = -seed[seed<0].sum()/n - rs = up/down - rsi = np.zeros_like(prices) - rsi[:n] = 100. - 100./(1.+rs) - - for i in range(n, len(prices)): - delta = deltas[i-1] # cause the diff is 1 shorter - - if delta>0: - upval = delta - downval = 0. - else: - upval = 0. - downval = -delta - - up = (up*(n-1) + upval)/n - down = (down*(n-1) + downval)/n - - rs = up/down - rsi[i] = 100. - 100./(1.+rs) - - return rsi - -def moving_average_convergence(x, nslow=26, nfast=12): - """ - compute the MACD (Moving Average Convergence/Divergence) using a fast and slow exponential moving avg' - return value is emaslow, emafast, macd which are len(x) arrays - """ - emaslow = moving_average(x, nslow, type='exponential') - emafast = moving_average(x, nfast, type='exponential') - return emaslow, emafast, emafast - emaslow - - -plt.rc('axes', grid=True) -plt.rc('grid', color='0.75', linestyle='-', linewidth=0.5) - -textsize = 9 -left, width = 0.1, 0.8 -rect1 = [left, 0.7, width, 0.2] -rect2 = [left, 0.3, width, 0.4] -rect3 = [left, 0.1, width, 0.2] - - -fig = plt.figure(facecolor='white') -axescolor = '#f6f6f6' # the axes background color - -ax1 = fig.add_axes(rect1, axisbg=axescolor) #left, bottom, width, height -ax2 = fig.add_axes(rect2, axisbg=axescolor, sharex=ax1) -ax2t = ax2.twinx() -ax3 = fig.add_axes(rect3, axisbg=axescolor, sharex=ax1) - - - -### plot the relative strength indicator -prices = r.adj_close -rsi = relative_strength(prices) -fillcolor = 'darkgoldenrod' - -ax1.plot(r.date, rsi, color=fillcolor) -ax1.axhline(70, color=fillcolor) -ax1.axhline(30, color=fillcolor) -ax1.fill_between(r.date, rsi, 70, where=(rsi>=70), facecolor=fillcolor, edgecolor=fillcolor) -ax1.fill_between(r.date, rsi, 30, where=(rsi<=30), facecolor=fillcolor, edgecolor=fillcolor) -ax1.text(0.6, 0.9, '>70 = overbought', va='top', transform=ax1.transAxes, fontsize=textsize) -ax1.text(0.6, 0.1, '<30 = oversold', transform=ax1.transAxes, fontsize=textsize) -ax1.set_ylim(0, 100) -ax1.set_yticks([30,70]) -ax1.text(0.025, 0.95, 'RSI (14)', va='top', transform=ax1.transAxes, fontsize=textsize) -ax1.set_title('%s daily'%ticker) - -### plot the price and volume data -dx = r.adj_close - r.close -low = r.low + dx -high = r.high + dx - -deltas = np.zeros_like(prices) -deltas[1:] = np.diff(prices) -up = deltas>0 -ax2.vlines(r.date[up], low[up], high[up], color='black', label='_nolegend_') -ax2.vlines(r.date[~up], low[~up], high[~up], color='black', label='_nolegend_') -ma20 = moving_average(prices, 20, type='simple') -ma200 = moving_average(prices, 200, type='simple') - -linema20, = ax2.plot(r.date, ma20, color='blue', lw=2, label='MA (20)') -linema200, = ax2.plot(r.date, ma200, color='red', lw=2, label='MA (200)') - - -last = r[-1] -s = '%s O:%1.2f H:%1.2f L:%1.2f C:%1.2f, V:%1.1fM Chg:%+1.2f' % ( - today.strftime('%d-%b-%Y'), - last.open, last.high, - last.low, last.close, - last.volume*1e-6, - last.close-last.open ) -t4 = ax2.text(0.3, 0.9, s, transform=ax2.transAxes, fontsize=textsize) - -props = font_manager.FontProperties(size=10) -leg = ax2.legend(loc='center left', shadow=True, fancybox=True, prop=props) -leg.get_frame().set_alpha(0.5) - - -volume = (r.close*r.volume)/1e6 # dollar volume in millions -vmax = volume.max() -poly = ax2t.fill_between(r.date, volume, 0, label='Volume', facecolor=fillcolor, edgecolor=fillcolor) -ax2t.set_ylim(0, 5*vmax) -ax2t.set_yticks([]) - - -### compute the MACD indicator -fillcolor = 'darkslategrey' -nslow = 26 -nfast = 12 -nema = 9 -emaslow, emafast, macd = moving_average_convergence(prices, nslow=nslow, nfast=nfast) -ema9 = moving_average(macd, nema, type='exponential') -ax3.plot(r.date, macd, color='black', lw=2) -ax3.plot(r.date, ema9, color='blue', lw=1) -ax3.fill_between(r.date, macd-ema9, 0, alpha=0.5, facecolor=fillcolor, edgecolor=fillcolor) - - -ax3.text(0.025, 0.95, 'MACD (%d, %d, %d)'%(nfast, nslow, nema), va='top', - transform=ax3.transAxes, fontsize=textsize) - -#ax3.set_yticks([]) -# turn off upper axis tick labels, rotate the lower ones, etc -for ax in ax1, ax2, ax2t, ax3: - if ax!=ax3: - for label in ax.get_xticklabels(): - label.set_visible(False) - else: - for label in ax.get_xticklabels(): - label.set_rotation(30) - label.set_horizontalalignment('right') - - ax.fmt_xdata = mdates.DateFormatter('%Y-%m-%d') - - - -class MyLocator(mticker.MaxNLocator): - def __init__(self, *args, **kwargs): - mticker.MaxNLocator.__init__(self, *args, **kwargs) - - def __call__(self, *args, **kwargs): - return mticker.MaxNLocator.__call__(self, *args, **kwargs) - -# at most 5 ticks, pruning the upper and lower so they don't overlap -# with other ticks -#ax2.yaxis.set_major_locator(mticker.MaxNLocator(5, prune='both')) -#ax3.yaxis.set_major_locator(mticker.MaxNLocator(5, prune='both')) - -ax2.yaxis.set_major_locator(MyLocator(5, prune='both')) -ax3.yaxis.set_major_locator(MyLocator(5, prune='both')) - +#coding=utf-8 +import datetime +import numpy as np +import matplotlib.colors as colors +import matplotlib.finance as finance +import matplotlib.dates as mdates +import matplotlib.ticker as mticker +import matplotlib.mlab as mlab +import matplotlib.pyplot as plt +import matplotlib.font_manager as font_manager + + +startdate = datetime.date(2014,1,1) +today = enddate = datetime.date.today() +ticker = '000048.SZ' + + +fh = finance.fetch_historical_yahoo(ticker, startdate, enddate) +# a numpy record array with fields: date, open, high, low, close, volume, adj_close) + +r = mlab.csv2rec(fh); fh.close() +r.sort() + + +def moving_average(x, n, type='simple'): + """ + compute an n period moving average. + + type is 'simple' | 'exponential' + + """ + x = np.asarray(x) + if type=='simple': + weights = np.ones(n) + else: + weights = np.exp(np.linspace(-1., 0., n)) + + weights /= weights.sum() + + + a = np.convolve(x, weights, mode='full')[:len(x)] + a[:n] = a[n] + return a + +def relative_strength(prices, n=14): + """ + compute the n period relative strength indicator + http://stockcharts.com/school/doku.php?id=chart_school:glossary_r#relativestrengthindex + http://www.investopedia.com/terms/r/rsi.asp + """ + + deltas = np.diff(prices) + seed = deltas[:n+1] + up = seed[seed>=0].sum()/n + down = -seed[seed<0].sum()/n + rs = up/down + rsi = np.zeros_like(prices) + rsi[:n] = 100. - 100./(1.+rs) + + for i in range(n, len(prices)): + delta = deltas[i-1] # cause the diff is 1 shorter + + if delta>0: + upval = delta + downval = 0. + else: + upval = 0. + downval = -delta + + up = (up*(n-1) + upval)/n + down = (down*(n-1) + downval)/n + + rs = up/down + rsi[i] = 100. - 100./(1.+rs) + + return rsi + +def moving_average_convergence(x, nslow=26, nfast=12): + """ + compute the MACD (Moving Average Convergence/Divergence) using a fast and slow exponential moving avg' + return value is emaslow, emafast, macd which are len(x) arrays + """ + emaslow = moving_average(x, nslow, type='exponential') + emafast = moving_average(x, nfast, type='exponential') + return emaslow, emafast, emafast - emaslow + + +plt.rc('axes', grid=True) +plt.rc('grid', color='0.75', linestyle='-', linewidth=0.5) + +textsize = 9 +left, width = 0.1, 0.8 +rect1 = [left, 0.7, width, 0.2] +rect2 = [left, 0.3, width, 0.4] +rect3 = [left, 0.1, width, 0.2] + + +fig = plt.figure(facecolor='white') +axescolor = '#f6f6f6' # the axes background color + +ax1 = fig.add_axes(rect1, axisbg=axescolor) #left, bottom, width, height +ax2 = fig.add_axes(rect2, axisbg=axescolor, sharex=ax1) +ax2t = ax2.twinx() +ax3 = fig.add_axes(rect3, axisbg=axescolor, sharex=ax1) + + + +### plot the relative strength indicator +prices = r.adj_close +rsi = relative_strength(prices) +fillcolor = 'darkgoldenrod' + +ax1.plot(r.date, rsi, color=fillcolor) +ax1.axhline(70, color=fillcolor) +ax1.axhline(30, color=fillcolor) +ax1.fill_between(r.date, rsi, 70, where=(rsi>=70), facecolor=fillcolor, edgecolor=fillcolor) +ax1.fill_between(r.date, rsi, 30, where=(rsi<=30), facecolor=fillcolor, edgecolor=fillcolor) +ax1.text(0.6, 0.9, '>70 = overbought', va='top', transform=ax1.transAxes, fontsize=textsize) +ax1.text(0.6, 0.1, '<30 = oversold', transform=ax1.transAxes, fontsize=textsize) +ax1.set_ylim(0, 100) +ax1.set_yticks([30,70]) +ax1.text(0.025, 0.95, 'RSI (14)', va='top', transform=ax1.transAxes, fontsize=textsize) +ax1.set_title('%s daily'%ticker) + +### plot the price and volume data +dx = r.adj_close - r.close +low = r.low + dx +high = r.high + dx + +deltas = np.zeros_like(prices) +deltas[1:] = np.diff(prices) +up = deltas>0 +ax2.vlines(r.date[up], low[up], high[up], color='black', label='_nolegend_') +ax2.vlines(r.date[~up], low[~up], high[~up], color='black', label='_nolegend_') +ma20 = moving_average(prices, 20, type='simple') +ma200 = moving_average(prices, 200, type='simple') + +linema20, = ax2.plot(r.date, ma20, color='blue', lw=2, label='MA (20)') +linema200, = ax2.plot(r.date, ma200, color='red', lw=2, label='MA (200)') + + +last = r[-1] +s = '%s O:%1.2f H:%1.2f L:%1.2f C:%1.2f, V:%1.1fM Chg:%+1.2f' % ( + today.strftime('%d-%b-%Y'), + last.open, last.high, + last.low, last.close, + last.volume*1e-6, + last.close-last.open ) +t4 = ax2.text(0.3, 0.9, s, transform=ax2.transAxes, fontsize=textsize) + +props = font_manager.FontProperties(size=10) +leg = ax2.legend(loc='center left', shadow=True, fancybox=True, prop=props) +leg.get_frame().set_alpha(0.5) + + +volume = (r.close*r.volume)/1e6 # dollar volume in millions +vmax = volume.max() +poly = ax2t.fill_between(r.date, volume, 0, label='Volume', facecolor=fillcolor, edgecolor=fillcolor) +ax2t.set_ylim(0, 5*vmax) +ax2t.set_yticks([]) + + +### compute the MACD indicator +fillcolor = 'darkslategrey' +nslow = 26 +nfast = 12 +nema = 9 +emaslow, emafast, macd = moving_average_convergence(prices, nslow=nslow, nfast=nfast) +ema9 = moving_average(macd, nema, type='exponential') +ax3.plot(r.date, macd, color='black', lw=2) +ax3.plot(r.date, ema9, color='blue', lw=1) +ax3.fill_between(r.date, macd-ema9, 0, alpha=0.5, facecolor=fillcolor, edgecolor=fillcolor) + + +ax3.text(0.025, 0.95, 'MACD (%d, %d, %d)'%(nfast, nslow, nema), va='top', + transform=ax3.transAxes, fontsize=textsize) + +#ax3.set_yticks([]) +# turn off upper axis tick labels, rotate the lower ones, etc +for ax in ax1, ax2, ax2t, ax3: + if ax!=ax3: + for label in ax.get_xticklabels(): + label.set_visible(False) + else: + for label in ax.get_xticklabels(): + label.set_rotation(30) + label.set_horizontalalignment('right') + + ax.fmt_xdata = mdates.DateFormatter('%Y-%m-%d') + + + +class MyLocator(mticker.MaxNLocator): + def __init__(self, *args, **kwargs): + mticker.MaxNLocator.__init__(self, *args, **kwargs) + + def __call__(self, *args, **kwargs): + return mticker.MaxNLocator.__call__(self, *args, **kwargs) + +# at most 5 ticks, pruning the upper and lower so they don't overlap +# with other ticks +#ax2.yaxis.set_major_locator(mticker.MaxNLocator(5, prune='both')) +#ax3.yaxis.set_major_locator(mticker.MaxNLocator(5, prune='both')) + +ax2.yaxis.set_major_locator(MyLocator(5, prune='both')) +ax3.yaxis.set_major_locator(MyLocator(5, prune='both')) + plt.show() \ No newline at end of file diff --git a/new_trade/main.py b/new_trade/main.py index 216bb14..df74b82 100644 --- a/new_trade/main.py +++ b/new_trade/main.py @@ -1,52 +1,52 @@ -#coding: utf-8 - -import tushare as ts -import pandas as pd - -from util.codeConvert import GetNowDate - -def diagnosis_one_stock(code): - """ - 个股诊断 - :return: - """ - - # 获取股价 - df = get_stock_price(code, True) - - # 均线指标 - - - # K线提示 - -def get_stock_price(code, include_realtime_price): - """ - 获取个股股价 - :param code: 股票代码 - :param include_realtime_price: 是否含实时股价 - :return: - """ - - # 获取历史股价 - df = ts.get_hist_data(code) - df = df[['close']] - df['date'] = df.index - - if include_realtime_price: - df_today = ts.get_today_all() - df_code = df_today[df_today['code']==code] - df_code = df_code[['trade']] - df_code['date'] = GetNowDate() - df_code.rename(columns={'trade': 'close'}, inplace=True) - df = pd.concat([df, df_code], ignore_index=True) - - df.sort(columns='date', inplace=True) - df = df.drop_duplicates(['date']) - df.index = range(len(df)) - print '\n' - # print df.head() - print df.tail() - return df - -if __name__ == "__main__": - get_stock_price('600000', True) +#coding: utf-8 + +import tushare as ts +import pandas as pd + +from util.codeConvert import GetNowDate + +def diagnosis_one_stock(code): + """ + 个股诊断 + :return: + """ + + # 获取股价 + df = get_stock_price(code, True) + + # 均线指标 + + + # K线提示 + +def get_stock_price(code, include_realtime_price): + """ + 获取个股股价 + :param code: 股票代码 + :param include_realtime_price: 是否含实时股价 + :return: + """ + + # 获取历史股价 + df = ts.get_hist_data(code) + df = df[['close']] + df['date'] = df.index + + if include_realtime_price: + df_today = ts.get_today_all() + df_code = df_today[df_today['code']==code] + df_code = df_code[['trade']] + df_code['date'] = GetNowDate() + df_code.rename(columns={'trade': 'close'}, inplace=True) + df = pd.concat([df, df_code], ignore_index=True) + + # df.sort(columns='date', inplace=True) + df = df.drop_duplicates(['date']) + df.index = range(len(df)) + print '\n' + # print df.head() + print df.tail() + return df + +if __name__ == "__main__": + get_stock_price('600000', True) diff --git a/new_trade/strategy_ma.py b/new_trade/strategy_ma.py index 4697b78..2886bb9 100644 --- a/new_trade/strategy_ma.py +++ b/new_trade/strategy_ma.py @@ -1,37 +1,36 @@ -#coding: utf-8 - -""" -均线策略 -""" - -import pandas as pd - -# MA指标择时 -def select_time_ma(df_closeprice, ma_short=12, ma_long=40): - """ - MA指标择时(简单均线SMA) - :param df_closeprice: DataFrame, 收盘价 - :param ma_short: - :param ma_long: - :return: - """ - - #SMA - df_closeprice['ma_close_short'] = pd.rolling_mean(df_closeprice['close_price'], ma_short) - df_closeprice['ma_close_long'] = pd.rolling_mean(df_closeprice['close_price'], ma_long) - - - df_closeprice['signal'] = 0 - - for ix, row in df_closeprice.iterrows(): - pass - - - # if ema_close_short[-1] > ema_close_short[-2] and ema_close_short[-1] > ema_close_long[-1] \ - # and ema_close_short[-2] < ema_close_long[-2]: - # signal = SIGNAL_BUY - # elif ema_close_long[-1] < ema_close_long[-2] and ema_close_short[-1] < ema_close_long[-1] \ - # and ema_close_short[-2] > ema_close_long[-2]: - # signal = SIGNAL_SALE - +#coding: utf-8 + +""" +均线策略 +""" + +import pandas as pd + +# MA指标择时 +def select_time_ma(df_closeprice, ma_short=12, ma_long=40): + """ + MA指标择时(简单均线SMA) + :param df_closeprice: DataFrame, 收盘价 + :param ma_short: + :param ma_long: + :return: + """ + + #SMA + df_closeprice['ma_close_short'] = pd.rolling_mean(df_closeprice['close_price'], ma_short) + df_closeprice['ma_close_long'] = pd.rolling_mean(df_closeprice['close_price'], ma_long) + + + df_closeprice['signal'] = 0 + + for ix, row in df_closeprice.iterrows(): + pass + + # if ema_close_short[-1] > ema_close_short[-2] and ema_close_short[-1] > ema_close_long[-1] \ + # and ema_close_short[-2] < ema_close_long[-2]: + # signal = SIGNAL_BUY + # elif ema_close_long[-1] < ema_close_long[-2] and ema_close_short[-1] < ema_close_long[-1] \ + # and ema_close_short[-2] > ema_close_long[-2]: + # signal = SIGNAL_SALE + # # return signal \ No newline at end of file diff --git a/plot.py b/plot.py index 8e14f69..e78b8b3 100644 --- a/plot.py +++ b/plot.py @@ -1,207 +1,207 @@ -#!/usr/local/bin/python -#coding=utf-8 -import os -import matplotlib.pyplot as plt -import matplotlib.mlab as mlab -import numpy as np -import math -import csv -import urllib -import urllib2 -import pywt -from numpy import log -import cwavelet -import copy -import cleastsq -import BP - -date_begin = [1, 1, 2014] -date_end = [5, 27, 2015] - - -def plotClosePrice(plt, stock_name, stock_code, dataPath): - fh = open(dataPath + '\\' + stock_code +".csv", 'r') - r = mlab.csv2rec(fh); fh.close() - r.sort() - - prices = r.adj_close - - - plt.plot(r.date, prices) - - - -#收盘价走势及小波处理 -def plotData(stock_code, stock_name): - try: - xValues=[] - yValues=[] - - xLabels=[] - - dataPath = os.getcwd() + '\\stockdata\\'; - - i=-1 - for line in open(dataPath + stock_code +".csv"): - f_date, f_open, f_high, f_low, f_close, f_volume, f_adjclose = line.split(",") - i += 1 - if i == 0 or i > 1000: - continue - xValues.append(i) - yValues.append(float(f_adjclose)) - xLabels.append(f_date) - yValues.reverse() - - - zValues = cwavelet.getWaveletData(yValues, 'db2', 4, 'sqtwolog') - zxValue = np.arange(0,len(zValues),1) - print len(zxValue), len(zValues) - - plt.figure(figsize=(16,8)) - plt.plot(xValues, yValues, label=stock_code, color="b", linewidth=1) - plt.plot(zxValue, zValues, color="r", linewidth=2) - plt.xlabel("Time") - plt.ylabel("Price") - plt.title( stock_name) - #plt.xticks(range(min(xLabels), max(xLabels)+1, 10)) - plt.grid() - #plt.legend() - plt.show() - - except Exception as e: - print ("Exception:>>>" + str(e)) - finally: - None - -def plotRateOfReturn(stock_code): - try: - xValues = [] - yValues = [] - - i=-1 - for line in open(stock_code + ".csv"): - i += 1 - if i == 0 or i > 1000: - continue - f_date, f_open, f_high, f_low, f_close, f_volume, f_adjclose = line.split(",") - yValues.append(float(f_adjclose)) - - #yValues删除最后一个元素,zValues删除第一个元素 - zValues = copy.deepcopy(yValues) #深拷贝 - yValues.reverse() - yValues.pop() - zValues.pop() - zValues.reverse() - if len(yValues) != len(zValues): - return - - rateValues = [] - for i in range(0, len(yValues)): - print float(zValues[i])/yValues[i] - rateValues.append(math.log(float(zValues[i])/yValues[i])) - xValues.append(i) - - rateValues = cwavelet.getWaveletData(yValues, 'db4', 2, 'sqtwolog') - - # BP神经网络 -# patStock = [] -# for i in range(0, len(yValues)): -# each = [[i], [yValues[i]]] -# patStock.append(each) -# patStockPre = copy.deepcopy(patStock) -# for i in range(len(yValues), len(yValues)+10): -# each = [[i], [0]] -# patStockPre.append(each) -# pat = [ -# [[0], [0]], -# [[2], [1]], -# [[3], [1]], -# [[4], [5]] -# ] -# -# # create a network with two input, two hidden, and one output nodes -# n = BP.NN(1, 2, 1) -# # train it with some patterns -# n.train(patStock) -# # test it -# n.test(patStock) - - #最小二乘法 - print "原始长度:", len(rateValues) - catRateValues = rateValues[:-7] - print "原始长度:", len(catRateValues) - leastsqValues = cwavelet.getWavePacketData(catRateValues, 'haar', 4, 3) - #leastsqValues = cleastsq.getFitYValues(range(len(catRateValues)), catRateValues, range(len(catRateValues)+3)) - print "变换后长度:", len(leastsqValues) - newLeastsqValues = np.concatenate((rateValues[:-3], leastsqValues[-3:])) - - newLeastsqValues2 = [] - for data in newLeastsqValues: - data -= 0.2 - newLeastsqValues2.append(data) - newLeastsqValues = newLeastsqValues2 - - print "变换后长度:", len(newLeastsqValues) - plt.figure(figsize=(16,8)) - plt.legend() - plt.plot(range(len(rateValues)), rateValues,'b-', linewidth=1) - plt.plot(range(len(newLeastsqValues)), newLeastsqValues, 'r-', linewidth=1) - plt.xlabel('Time') - plt.ylabel('Price') - plt.title(stock_code) - plt.grid() - - plt.show() - - - except Exception as e: - print ("Exception:>>>"+str(e)) - finally: - None - -def down_file(url, file_name): - - u = urllib2.urlopen(url) - f = open(file_name, 'wb') - - file_size_dl = 0 - block_sz = 8192 - while True: - buffer = u.read(block_sz) - if not buffer: - break - - file_size_dl += len(buffer) - f.write(buffer) - f.close() - -ChinaStockNumIndividualList = [ - {'code':"600011", 'num':1100, 'name':u"华能国际"}, # - {'code':"600000", 'num':1900, 'name':u"浦发银行"}, # - {'code':"002600", 'num':1000, 'name':u"江粉磁材"}, # - {'code':"002505", 'num':1000, 'name':u"大康牧业"}, # - {'code':"000725", 'num':2000, 'name':u"京东方A"}, # - {'code':"000783", 'num':600, 'name':u"长江证券"}, # - {'code':"600048", 'num':2000, 'name':u"保利地产"}, # - {'code':"300315", 'num':200, 'name':u"掌趣科技"}, # - {'code':"002167", 'num':600, 'name':u"东方锆业"}, # - {'code':"601001", 'num':1000, 'name':u"大同煤业"}, # - #{'code':"150172", 'num':5000, 'name':"证券B"}, # -] - -if __name__ == '__main__': - - for stockCodeDict in ChinaStockNumIndividualList: - print stockCodeDict['name'] - #plotRateOfReturn(stockCodeDict['code']) - plotData(stockCodeDict['code'], stockCodeDict['name']) - break - #上证指数 - #downloadData("000001") - #plotRateOfReturn("000001") - - - - - - +#!/usr/local/bin/python +#coding=utf-8 +import os +import matplotlib.pyplot as plt +import matplotlib.mlab as mlab +import numpy as np +import math +import csv +import urllib +import urllib2 +import pywt +from numpy import log +import cwavelet +import copy +import cleastsq +import BP + +date_begin = [1, 1, 2014] +date_end = [5, 27, 2015] + + +def plotClosePrice(plt, stock_name, stock_code, dataPath): + fh = open(dataPath + '\\' + stock_code +".csv", 'r') + r = mlab.csv2rec(fh); fh.close() + r.sort() + + prices = r.adj_close + + + plt.plot(r.date, prices) + + + +#收盘价走势及小波处理 +def plotData(stock_code, stock_name): + try: + xValues=[] + yValues=[] + + xLabels=[] + + dataPath = os.getcwd() + '\\stockdata\\'; + + i=-1 + for line in open(dataPath + stock_code +".csv"): + f_date, f_open, f_high, f_low, f_close, f_volume, f_adjclose = line.split(",") + i += 1 + if i == 0 or i > 1000: + continue + xValues.append(i) + yValues.append(float(f_adjclose)) + xLabels.append(f_date) + yValues.reverse() + + + zValues = cwavelet.getWaveletData(yValues, 'db2', 4, 'sqtwolog') + zxValue = np.arange(0,len(zValues),1) + print len(zxValue), len(zValues) + + plt.figure(figsize=(16,8)) + plt.plot(xValues, yValues, label=stock_code, color="b", linewidth=1) + plt.plot(zxValue, zValues, color="r", linewidth=2) + plt.xlabel("Time") + plt.ylabel("Price") + plt.title( stock_name) + #plt.xticks(range(min(xLabels), max(xLabels)+1, 10)) + plt.grid() + #plt.legend() + plt.show() + + except Exception as e: + print ("Exception:>>>" + str(e)) + finally: + None + +def plotRateOfReturn(stock_code): + try: + xValues = [] + yValues = [] + + i=-1 + for line in open(stock_code + ".csv"): + i += 1 + if i == 0 or i > 1000: + continue + f_date, f_open, f_high, f_low, f_close, f_volume, f_adjclose = line.split(",") + yValues.append(float(f_adjclose)) + + #yValues删除最后一个元素,zValues删除第一个元素 + zValues = copy.deepcopy(yValues) #深拷贝 + yValues.reverse() + yValues.pop() + zValues.pop() + zValues.reverse() + if len(yValues) != len(zValues): + return + + rateValues = [] + for i in range(0, len(yValues)): + print float(zValues[i])/yValues[i] + rateValues.append(math.log(float(zValues[i])/yValues[i])) + xValues.append(i) + + rateValues = cwavelet.getWaveletData(yValues, 'db4', 2, 'sqtwolog') + + # BP神经网络 +# patStock = [] +# for i in range(0, len(yValues)): +# each = [[i], [yValues[i]]] +# patStock.append(each) +# patStockPre = copy.deepcopy(patStock) +# for i in range(len(yValues), len(yValues)+10): +# each = [[i], [0]] +# patStockPre.append(each) +# pat = [ +# [[0], [0]], +# [[2], [1]], +# [[3], [1]], +# [[4], [5]] +# ] +# +# # create a network with two input, two hidden, and one output nodes +# n = BP.NN(1, 2, 1) +# # train it with some patterns +# n.train(patStock) +# # test it +# n.test(patStock) + + #最小二乘法 + print "原始长度:", len(rateValues) + catRateValues = rateValues[:-7] + print "原始长度:", len(catRateValues) + leastsqValues = cwavelet.getWavePacketData(catRateValues, 'haar', 4, 3) + #leastsqValues = cleastsq.getFitYValues(range(len(catRateValues)), catRateValues, range(len(catRateValues)+3)) + print "变换后长度:", len(leastsqValues) + newLeastsqValues = np.concatenate((rateValues[:-3], leastsqValues[-3:])) + + newLeastsqValues2 = [] + for data in newLeastsqValues: + data -= 0.2 + newLeastsqValues2.append(data) + newLeastsqValues = newLeastsqValues2 + + print "变换后长度:", len(newLeastsqValues) + plt.figure(figsize=(16,8)) + plt.legend() + plt.plot(range(len(rateValues)), rateValues,'b-', linewidth=1) + plt.plot(range(len(newLeastsqValues)), newLeastsqValues, 'r-', linewidth=1) + plt.xlabel('Time') + plt.ylabel('Price') + plt.title(stock_code) + plt.grid() + + plt.show() + + + except Exception as e: + print ("Exception:>>>"+str(e)) + finally: + None + +def down_file(url, file_name): + + u = urllib2.urlopen(url) + f = open(file_name, 'wb') + + file_size_dl = 0 + block_sz = 8192 + while True: + buffer = u.read(block_sz) + if not buffer: + break + + file_size_dl += len(buffer) + f.write(buffer) + f.close() + +ChinaStockNumIndividualList = [ + {'code':"600011", 'num':1100, 'name':u"华能国际"}, # + {'code':"600000", 'num':1900, 'name':u"浦发银行"}, # + {'code':"002600", 'num':1000, 'name':u"江粉磁材"}, # + {'code':"002505", 'num':1000, 'name':u"大康牧业"}, # + {'code':"000725", 'num':2000, 'name':u"京东方A"}, # + {'code':"000783", 'num':600, 'name':u"长江证券"}, # + {'code':"600048", 'num':2000, 'name':u"保利地产"}, # + {'code':"300315", 'num':200, 'name':u"掌趣科技"}, # + {'code':"002167", 'num':600, 'name':u"东方锆业"}, # + {'code':"601001", 'num':1000, 'name':u"大同煤业"}, # + #{'code':"150172", 'num':5000, 'name':"证券B"}, # +] + +if __name__ == '__main__': + + for stockCodeDict in ChinaStockNumIndividualList: + print stockCodeDict['name'] + #plotRateOfReturn(stockCodeDict['code']) + plotData(stockCodeDict['code'], stockCodeDict['name']) + break + #上证指数 + #downloadData("000001") + #plotRateOfReturn("000001") + + + + + + diff --git a/plot.pyc b/plot.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a48fe3e661c10a5f17d70424e6bfce5fd2f1d11a GIT binary patch literal 4990 zcmb7HZ){uD6+ibmaS|tv?Y1H5KN<=JccaWr>7RA1gC(d%s!I2Y2(nT<$L~3L>5HBC zJvV7*YeO9qFespnX)sVVKva_^ZA=C~ z@9N6OH`w3RmG6$^cSrX3bme**7 zJ(AxhE@I8d*5fDK5#^JzwJo}2i8;OeshO^5mYm6c32Ec~2Y;us25cAu@vCzl8{Xgg zKzhk-C;2;?r5RX+gz_S{mLY z?q?Xo14|deVHlC0WYDMS;togxR=Jq%CM5}zum)l!jW#5HwaCOV2$U#V$>q{jM~z0e##lM>lS!Pn!MG9FS&0 znuF3Dl4eqx!`viP>tSvkxHxk$m{h(`&h<#`HCdh%q#CjUd(AC1*!UP5*p|jH+bTj< zK;N$obeX0NtTA6~4MmvB%TDRx98mtxXPt0Yay@viRp ziEv03l0*!Y`Xw=jZA<`@$0WgEVSrEy8+2sFIu>cVrw%{@tlA8nr8c{n?s)1!q3vE_Q#`h}jisyt;hI`CEt(hl0)CIe0vIa?TkFJ*7rO>NZjvhO9 zEKAF^QL>}#NLe)qStfICSXyyx^+z|slJAA8DK4R`9ra!ItHn^muDR#k8p@dwmsX1B zUEdA0Xy9i$YEEH+bcD)MujzX_aFI>NVHaxiga0X!2w)tgS=ng&2Zs zI9J2;$prJ&6M6}T5+?iO`BC~bLTYl)hCO7-3^q#u#R6n$wd!rE}bs8 zr*635QJe+hQkzw%V~FL#yf-%=txmy5K*X(b8`U_ca^ZZ{ueU*~Tma-nh)27N>xRD= z#ib*=St!2bxuVx`S) zvjZ}Gtb{derOc>RB7SbckDe#-3;v1JxOm;V@CS>KW)#vaA{pRqbw!UKlnag>6wuUJ zm*)=4ItFNpDc7UWv{(6Fg{Em)-mB0A=mB;pG!f?XAOifY$2-E8#RH)+$P&fZpz}1g z2p1_RApj)OD#9#seOl}dl>HjlMl`^g_CW$ekIv^}Qfsl?&v1H4S@j5SfL>atDUQOa zvo@#8C@@w`wxT1HSmG;? zG6DF+@JU*#e_-c0Fu$Wv@Q!d5@CmtIzyPHYJ_9kezd|$2Qp8Aj1H_IKP}8!j9Iaeh zw=*NFd!&)ZGrit}Uj*Da z4#AzlJYKfluwJX2ge>?r$U2ZWqiuM<$Bf2O;G@r&=>hoffHrF~*4Q>`Qf3S=zZ3E# zS{WP>DU$}b2Om8MaJwCb4;%!{6rNQ~fl2&=?|_7QlZ}cEmt5Xo0pNf)+-L#%`szSg z1Ibq(X7<#4g=QQHxYq%x^|BhAl+(PJMi)^<|HIL#!54_O&GNqJA{qfW;W>JV=*41X z)_ms>NgZ8ln5|FL>d`Ht<`$i`bY7`>$VDdh+PedO^mbA9 zd^dV_@Jy`h0bK@U<7lUbx3_}hYthX5e4+#wHJ4}W<+5A*qMOZ!gi~Fq6zKeIGy*<6 z1pAZ1ZpF<2_AZVcO=H(|m_xZ-ZvXyv@j9+|64TUrt<)FmjI#C84$_gXK%dizHo-1_;8>N}U4fQ?>bBZK#^-2Bb+H{W^Y##^s+ z3=ZZFM#H>&wRP=xH=nN3gWjL%otM4q*M52Z!#8jIY3JaAF2VPd+>$zXF-u(6TYgbiwAeTF^|Dg8?+(v<2e(}}^ z@7%ol>Wvq^*Y-ZK|Ip#6vkrRu$3N%euygeYC@Z&A(+ zUAnLmuEWzuC}(7)Huz}ffAh2g7B8fQS$EE>M3~Jc@so&QA0v63jY1(L{ON;u67TCNuN1DOv2wvU3_kY}&9EO@tU7hy uJ;o^qQy@b~;FK9!_epnnCV6ZiIk0!&$$`umZmJtUclHcfNi$%LnEwL5{PBYT literal 0 HcmV?d00001 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..df7be28 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,16 @@ +requests==2.14.2 +SQLAlchemy==1.1.11 +pandas==0.19.2 +retrying==1.3.3 +tqdm==4.19.5 +matplotlib==2.1.1 +APScheduler==3.3.1 +tushare==1.0.7 +chardet==3.0.4 +PyMySQL==0.7.11 +PyWavelets==0.5.2 +wrapcache==1.0.8 +numpy==1.13.3 +BeautifulSoup==3.2.1 +beautifulsoup4==4.6.0 +scrapy==1.5.0 diff --git a/shedule/trade_daily.bat b/shedule/trade_daily.bat index 0a29564..5ba2328 100644 --- a/shedule/trade_daily.bat +++ b/shedule/trade_daily.bat @@ -1,2 +1,2 @@ -cd E:\Code\stock\trade_process +cd E:\Code\stock\trade_process python live_trade.py \ No newline at end of file diff --git a/stock.py b/stock.py index d66ac09..404a22e 100644 --- a/stock.py +++ b/stock.py @@ -1,237 +1,237 @@ -#!/usr/local/bin/python3 -#coding=utf-8 -#source http://www.cnblogs.com/txw1958/ - -import os, io, sys, re, time, json, base64 -import webbrowser, decimal -import urllib2 -from time import sleep -from plot import plotData - - -period_All_List = [ - "min", #分时线 - "daily", #日K线 - "weekly", #周K线 - "monthly" #月K线 - ] -period_min = period_All_List[0] -period_daily = period_All_List[1] - -ChinaStockIndexList = [ - "000001", # sh000001 上证指数 - "399001", # sz399001 深证成指 -# "000300", # sh000300 沪深300 -# "399005", # sz399005 中小板指 -# "399006", # sz399006 创业板指 -# "000003", # sh000003 B股指数 -] -ChinaStockIndividualList = [ - "600011", # - "600000", # - "002600", # - "002505", # - "000725", # - "000783", # - "600048", # - "300315", # - "002167", # - "601001", # - "150172", # -] - -ChinaStockNumIndividualList = [ - {'code':"600011", 'num':1100}, # 华能国际 - {'code':"600000", 'num':1900}, # 浦发银行 - {'code':"002600", 'num':1000}, # 江粉磁材 - {'code':"002505", 'num':1000}, # 大康牧业 - {'code':"000725", 'num':2000}, # 京东方A - {'code':"000783", 'num':600}, # 长江证券 - {'code':"600048", 'num':2000}, # 保利地产 - {'code':"300315", 'num':200}, # 掌趣科技 - {'code':"002167", 'num':600}, # 东方锆业 - {'code':"601001", 'num':1000}, # 大同煤业 - {'code':"150172", 'num':5000}, # 证券B -] - -WorldStockIndexList = [ - {'code':"000001", 'yahoo':"000001.SS",'name':{'chinese':"中国上证指数", 'english':"CHINA SHANGHAI COMPOSITE INDEX"}}, - {'code':"399001", 'yahoo':"399001.SZ",'name':{'chinese':"中国深证成指", 'english':"SZSE COMPONENT INDEX"}}, - {'code':"DJI", 'yahoo':"^DJI",'name':{'chinese':"美国道琼斯工业平均指数", 'english':"Dow Jones Industrial Average"}}, - {'code':"IXIC", 'yahoo':"^IXIC",'name':{'chinese':"美国纳斯达克综合指数", 'english':"NASDAQ Composite"},}, - {'code':"GSPC", 'yahoo':"^GSPC",'name':{'chinese':"美国标准普尔500指数", 'english':"S&P 500"}}, - {'code':"N225", 'yahoo':"^N225",'name':{'chinese':"日本日经225指数", 'english':"NIKKEI 225"}}, - {'code':"TWII", 'yahoo':"^TWII",'name':{'chinese':"台湾台北加权指数", 'english':"TSEC weighted index"}}, - {'code':"HSI", 'yahoo':"^HSI",'name':{'chinese':"香港恒生指数", 'english':"HANG SENG INDEX"}}, - {'code':"FCHI", 'yahoo':"^FCHI",'name':{'chinese':"法国CAC40指数", 'english':"CAC 40"}}, - {'code':"FTSE", 'yahoo':"^FTSE",'name':{'chinese':"英国富时100指数", 'english':"FTSE 100"}}, - {'code':"GDAXI", 'yahoo':"^GDAXI",'name':{'chinese':"德国法兰克福DAX指数", 'english':"DAX"} - } -] -WorldStockIndexList_SP500 = WorldStockIndexList[7] - -#国内股票数据:指数 -def getChinaStockIndexInfo(stockCode, period): - try: - exchange = "sz" if (int(stockCode) // 100000 == 3) else "sh" - #http://hq.sinajs.cn/list=s_sh000001 - dataUrl = "http://hq.sinajs.cn/list=s_" + exchange + stockCode - stdout = urllib2.urlopen(dataUrl) - stdoutInfo = stdout.read().decode('gb2312').encode('utf-8') - tempData = re.search('''(")(.+)(")''', stdoutInfo).group(2) - stockInfo = tempData.split(",") - #stockCode = stockCode, - stockName = stockInfo[0] - stockEnd = stockInfo[1] #当前价,15点后为收盘价 - stockZD = stockInfo[2] #涨跌 - stockLastEnd= str(float(stockEnd) - float(stockZD)) #开盘价 - stockFD = stockInfo[3] #幅度 - stockZS = stockInfo[4] #总手 - stockZS_W = str(int(stockZS) / 100) - stockJE = stockInfo[5] #金额 - stockJE_Y = str(int(stockJE) / 10000) - content = "#" + stockName + "#" + "(" + str(stockCode) + ")" + " 收盘:" \ - + stockEnd + ",涨跌:" + stockZD + ",幅度:" + stockFD + "%" \ - + ",总手:" + stockZS_W + "万" + ",金额:" + stockJE_Y + "亿" + " " - - imgPath = "http://image.sinajs.cn/newchart/" + period + "/n/" + exchange + str(stockCode) + ".gif" - twitter = {'message': content, 'image': ''} - - except Exception as e: - print(">>>>>> Exception: " + str(e)) - else: - return twitter - finally: - None - -#国内股票数据:个股 -def getChinaStockIndividualInfo(stockCode, period): - try: - exchange = "sh" if (int(stockCode) // 100000 == 6) else "sz" - dataUrl = "http://hq.sinajs.cn/list=" + exchange + stockCode - stdout = urllib2.urlopen(dataUrl) - stdoutInfo = stdout.read().decode('gb2312').encode('utf-8') - tempData = re.search('''(")(.+)(")''', stdoutInfo).group(2) - stockInfo = tempData.split(",") - #stockCode = stockCode, - stockName = stockInfo[0] #名称 - stockStart = stockInfo[1] #开盘 - stockLastEnd= stockInfo[2] #昨收盘 - stockCur = stockInfo[3] #当前 - stockMax = stockInfo[4] #最高 - stockMin = stockInfo[5] #最低 - stockUp = round(float(stockCur) - float(stockLastEnd), 2) - if (float(stockCur) == 0.0): - stockUp = 0 - stockRange = round(float(stockUp) / float(stockLastEnd), 4) * 100 - if (stockRange == 0): - stockRange = 0 - stockVolume = round(float(stockInfo[8]) / (100 * 10000), 2) - stockMoney = round(float(stockInfo[9]) / (100000000), 2) - stockTime = stockInfo[31] - -# content = "#" + stockName + "#(" + stockCode + ")" + " 开盘:" + stockStart \ -# + ",最新:" + stockCur + ",最高:" + stockMax + ",最低:" + stockMin \ -# + ",涨跌:" + str(stockUp) + ",幅度:" + str(stockRange) + "%" \ -# + ",总手:" + str(stockVolume) + "万" + ",金额:" + str(stockMoney) \ -# + "亿" + ",更新时间:" + stockTime + " " - - content = "#" + stockName + "#(" + stockCode + ")" + " 幅度:" + str(stockRange) + "%"\ - + ",最新:" + stockCur + ",最高/最低:" + stockMax + "/" + stockMin \ - + ",总手:" + str(stockVolume) + "万" + ",金额:" + str(stockMoney) \ - + "亿" + ",更新时间:" + stockTime + " " - - #imgUrl = "http://image.sinajs.cn/newchart/" + period + "/n/" + exchange + str(stockCode) + ".gif" - #twitter = {'message': content, 'image': imgUrl} - - twitter = {'message': content, 'image':'', 'stockUp':stockUp} - - except Exception as e: - print(">>>>>> Exception: " + str(e)) - else: - return twitter - finally: - None - -#全球股票指数 -def getWorldStockIndexInfo(stockDict): - try: - #http://download.finance.yahoo.com/d/quotes.csv?s=^IXIC&f=sl1c1p2l - yahooCode = stockDict['yahoo'] - dataUrl = "http://download.finance.yahoo.com/d/quotes.csv?s=" + yahooCode + "&f=sl1c1p2l" - - stdout = urllib2.urlopen(dataUrl) - stdoutInfo = stdout.read().decode('gb2312') - tempData = stdoutInfo.replace('"', '') - stockInfo = tempData.split(",") - stockNameCn = stockDict['name']['chinese'] - stockNameEn = stockDict['name']['english'] - stockCode = stockDict['code'] - stockEnd = stockInfo[1] #当前价,5点后为收盘价 - stockZD = stockInfo[2] #涨跌 - stockLastEnd= str(float(stockEnd) - float(stockZD)) #开盘价 - stockFD = stockInfo[3] #幅度 - percent = float(stockFD.replace("%", "")) - matchResult = re.search("([\w?\s?:]*)(\-)", stockInfo[4]) #日期和最新值 - stockDate = matchResult.group(1) - - content = "#" + stockNameCn + "# " + stockNameEn + "(" + stockCode + ")" \ - + " 当前:" + stockEnd + ", 涨跌:" + stockZD + ", 幅度:" + stockFD \ - + ", 最后交易时间:" + stockDate - - twitter = content - - except Exception as err: - print(">>>>>> Exception: " + yahooCode + " " + str(err)) - else: - return twitter - finally: - None - -def test_china_index_data(): - for stockCode in ChinaStockIndexList: - twitter = getChinaStockIndexInfo(stockCode, period_daily) - #print twitter['message'] + twitter['image'] - -def test_china_individual_data(): - -# for stockCode in ChinaStockIndividualList: -# twitter = getChinaStockIndividualInfo(stockCode, period_min) -# print(twitter['message'] + twitter['image']) - total = 0.0 - for stockCodeNumDict in ChinaStockNumIndividualList: - twitter = getChinaStockIndividualInfo(stockCodeNumDict['code'], period_min) - print twitter - if twitter != None: - total += twitter['stockUp'] * stockCodeNumDict['num'] - print twitter['message'] + twitter['image'] - print '当日盈亏:' + str(total) - - -def test_global_index_data(): - for stockDict in WorldStockIndexList: - print getWorldStockIndexInfo(stockDict) - - -def main(): - "main function" - print base64.b64decode(b'Q29weXJpZ2h0IChjKSAyMDEyIERvdWN1YmUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLg==').decode() - -# dataUrl = "http://ichart.yahoo.com/table.csv?s=600000.SS&a=08&b=25&c=2010&d=09&e=8&f=2010&g=d" -# stdout = urllib.request.urlopen(dataUrl) -# stdoutInfo = stdout.read().decode('utf-8') - - ISOTIMEFORMAT='%Y-%m-%d %X' - while 1: - str = time.strftime(ISOTIMEFORMAT, time.localtime()) - print str - test_china_index_data() - test_china_individual_data() - #test_global_index_data() - print '\n' - sleep(180) #180s - -if __name__ == '__main__': - #plotData() - main() - +#!/usr/local/bin/python3 +#coding=utf-8 +#source http://www.cnblogs.com/txw1958/ + +import os, io, sys, re, time, json, base64 +import webbrowser, decimal +import urllib2 +from time import sleep +from plot import plotData + + +period_All_List = [ + "min", #分时线 + "daily", #日K线 + "weekly", #周K线 + "monthly" #月K线 + ] +period_min = period_All_List[0] +period_daily = period_All_List[1] + +ChinaStockIndexList = [ + "000001", # sh000001 上证指数 + "399001", # sz399001 深证成指 + "000300", # sh000300 沪深300 + "399005", # sz399005 中小板指 + "399006", # sz399006 创业板指 + "000003",# sh000003 B股指数 + "000016",#上证50 + "000012",#国债指数 +] +ChinaStockIndividualList = [ + "600011", # + "600000", # + "002600", # + "002505", # + "000725", # + "000783", # + "600048", # + "300315", # + "002167", # + "601001", # + "150172", # +] + +ChinaStockNumIndividualList = [ + {'code':"600011", 'num':1100}, # 华能国际 + {'code':"600000", 'num':1900}, # 浦发银行 + {'code':"002600", 'num':1000}, # 江粉磁材 + {'code':"002505", 'num':1000}, # 大康牧业 + {'code':"000725", 'num':2000}, # 京东方A + {'code':"000783", 'num':600}, # 长江证券 + {'code':"600048", 'num':2000}, # 保利地产 + {'code':"300315", 'num':200}, # 掌趣科技 + {'code':"002167", 'num':600}, # 东方锆业 + {'code':"601001", 'num':1000}, # 大同煤业 + {'code':"150172", 'num':5000}, # 证券B +] + +WorldStockIndexList = [ + {'code':"000001", 'yahoo':"000001.SS",'name':{'chinese':"中国上证指数", 'english':"CHINA SHANGHAI COMPOSITE INDEX"}}, + {'code':"399001", 'yahoo':"399001.SZ",'name':{'chinese':"中国深证成指", 'english':"SZSE COMPONENT INDEX"}}, + {'code':"DJI", 'yahoo':"^DJI",'name':{'chinese':"美国道琼斯工业平均指数", 'english':"Dow Jones Industrial Average"}}, + {'code':"IXIC", 'yahoo':"^IXIC",'name':{'chinese':"美国纳斯达克综合指数", 'english':"NASDAQ Composite"},}, + {'code':"GSPC", 'yahoo':"^GSPC",'name':{'chinese':"美国标准普尔500指数", 'english':"S&P 500"}}, + {'code':"N225", 'yahoo':"^N225",'name':{'chinese':"日本日经225指数", 'english':"NIKKEI 225"}}, + {'code':"TWII", 'yahoo':"^TWII",'name':{'chinese':"台湾台北加权指数", 'english':"TSEC weighted index"}}, + {'code':"HSI", 'yahoo':"^HSI",'name':{'chinese':"香港恒生指数", 'english':"HANG SENG INDEX"}}, + {'code':"FCHI", 'yahoo':"^FCHI",'name':{'chinese':"法国CAC40指数", 'english':"CAC 40"}}, + {'code':"FTSE", 'yahoo':"^FTSE",'name':{'chinese':"英国富时100指数", 'english':"FTSE 100"}}, + {'code':"GDAXI", 'yahoo':"^GDAXI",'name':{'chinese':"德国法兰克福DAX指数", 'english':"DAX"} + } +] +WorldStockIndexList_SP500 = WorldStockIndexList[7] + +#国内股票数据:指数 +def getChinaStockIndexInfo(stockCode, period): + try: + exchange = "sz" if (int(stockCode) // 100000 == 3) else "sh" + #http://hq.sinajs.cn/list=s_sh000001 + dataUrl = "http://hq.sinajs.cn/list=s_" + exchange + stockCode + stdout = urllib2.urlopen(dataUrl) + stdoutInfo = stdout.read().decode('gb2312').encode('utf-8') + tempData = re.search('''(")(.+)(")''', stdoutInfo).group(2) + stockInfo = tempData.split(",") + #stockCode = stockCode, + stockName = stockInfo[0] + stockEnd = stockInfo[1] #当前价,15点后为收盘价 + stockZD = stockInfo[2] #涨跌 + stockLastEnd= str(float(stockEnd) - float(stockZD)) #开盘价 + stockFD = stockInfo[3] #幅度 + stockZS = stockInfo[4] #总手 + stockZS_W = str(int(stockZS) / 100) + stockJE = stockInfo[5] #金额 + stockJE_Y = str(int(stockJE) / 10000) + content = "#" + stockName + "#" + "(" + str(stockCode) + ")" + " 收盘:" \ + + stockEnd + ",涨跌:" + stockZD + ",幅度:" + stockFD + "%" \ + + ",总手:" + stockZS_W + "万" + ",金额:" + stockJE_Y + "亿" + " " + + imgPath = "http://image.sinajs.cn/newchart/" + period + "/n/" + exchange + str(stockCode) + ".gif" + twitter = {'message': content, 'image': ''} + + except Exception as e: + print(">>>>>> Exception: " + str(e)) + else: + return twitter + finally: + None + +#国内股票数据:个股 +def getChinaStockIndividualInfo(stockCode, period): + try: + exchange = "sh" if (int(stockCode) // 100000 == 6) else "sz" + dataUrl = "http://hq.sinajs.cn/list=" + exchange + stockCode + stdout = urllib2.urlopen(dataUrl) + stdoutInfo = stdout.read().decode('gb2312').encode('utf-8') + tempData = re.search('''(")(.+)(")''', stdoutInfo).group(2) + stockInfo = tempData.split(",") + #stockCode = stockCode, + stockName = stockInfo[0] #名称 + stockStart = stockInfo[1] #开盘 + stockLastEnd= stockInfo[2] #昨收盘 + stockCur = stockInfo[3] #当前 + stockMax = stockInfo[4] #最高 + stockMin = stockInfo[5] #最低 + stockUp = round(float(stockCur) - float(stockLastEnd), 2) + if (float(stockCur) == 0.0): + stockUp = 0 + stockRange = round(float(stockUp) / float(stockLastEnd), 4) * 100 + if (stockRange == 0): + stockRange = 0 + stockVolume = round(float(stockInfo[8]) / (100 * 10000), 2) + stockMoney = round(float(stockInfo[9]) / (100000000), 2) + stockTime = stockInfo[31] + +# content = "#" + stockName + "#(" + stockCode + ")" + " 开盘:" + stockStart \ +# + ",最新:" + stockCur + ",最高:" + stockMax + ",最低:" + stockMin \ +# + ",涨跌:" + str(stockUp) + ",幅度:" + str(stockRange) + "%" \ +# + ",总手:" + str(stockVolume) + "万" + ",金额:" + str(stockMoney) \ +# + "亿" + ",更新时间:" + stockTime + " " + + content = "#" + stockName + "#(" + stockCode + ")" + " 幅度:" + str(stockRange) + "%"\ + + ",最新:" + stockCur + ",最高/最低:" + stockMax + "/" + stockMin \ + + ",总手:" + str(stockVolume) + "万" + ",金额:" + str(stockMoney) \ + + "亿" + ",更新时间:" + stockTime + " " + + #imgUrl = "http://image.sinajs.cn/newchart/" + period + "/n/" + exchange + str(stockCode) + ".gif" + #twitter = {'message': content, 'image': imgUrl} + + twitter = {'message': content, 'image':'', 'stockUp':stockUp} + + except Exception as e: + print(">>>>>> Exception: " + str(e)) + else: + return twitter + finally: + None + +#全球股票指数 +def getWorldStockIndexInfo(stockDict): + try: + #http://download.finance.yahoo.com/d/quotes.csv?s=^IXIC&f=sl1c1p2l + yahooCode = stockDict['yahoo'] + dataUrl = "http://download.finance.yahoo.com/d/quotes.csv?s=" + yahooCode + "&f=sl1c1p2l" + + stdout = urllib2.urlopen(dataUrl) + stdoutInfo = stdout.read().decode('gb2312') + tempData = stdoutInfo.replace('"', '') + stockInfo = tempData.split(",") + stockNameCn = stockDict['name']['chinese'] + stockNameEn = stockDict['name']['english'] + stockCode = stockDict['code'] + stockEnd = stockInfo[1] #当前价,5点后为收盘价 + stockZD = stockInfo[2] #涨跌 + stockLastEnd= str(float(stockEnd) - float(stockZD)) #开盘价 + stockFD = stockInfo[3] #幅度 + percent = float(stockFD.replace("%", "")) + matchResult = re.search("([\w?\s?:]*)(\-)", stockInfo[4]) #日期和最新值 + stockDate = matchResult.group(1) + + content = "#" + stockNameCn + "# " + stockNameEn + "(" + stockCode + ")" \ + + " 当前:" + stockEnd + ", 涨跌:" + stockZD + ", 幅度:" + stockFD \ + + ", 最后交易时间:" + stockDate + + twitter = content + + except Exception as err: + print(">>>>>> Exception: " + yahooCode + " " + str(err)) + else: + return twitter + finally: + None + +def test_china_index_data(): + for stockCode in ChinaStockIndexList: + twitter = getChinaStockIndexInfo(stockCode, period_daily) + print twitter['message'] + twitter['image'] + +def test_china_individual_data(): + + # for stockCode in ChinaStockIndividualList: + # twitter = getChinaStockIndividualInfo(stockCode, period_min) + # print(twitter['message'] + twitter['image']) + total = 0.0 + for stockCodeNumDict in ChinaStockNumIndividualList: + twitter = getChinaStockIndividualInfo(stockCodeNumDict['code'], period_min) + print twitter + if twitter != None: + total += twitter['stockUp'] * stockCodeNumDict['num'] + print twitter['message'] + twitter['image'] + print '当日盈亏:' + str(total) + + +def test_global_index_data(): + for stockDict in WorldStockIndexList: + print getWorldStockIndexInfo(stockDict) + + +def main(): + "main function" + print base64.b64decode(b'Q29weXJpZ2h0IChjKSAyMDEyIERvdWN1YmUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLg==').decode() + # dataUrl = "http://ichart.yahoo.com/table.csv?s=600000.SS&a=08&b=25&c=2010&d=09&e=8&f=2010&g=d" + # stdout = urllib.request.urlopen(dataUrl) + # stdoutInfo = stdout.read().decode('utf-8') + ISOTIMEFORMAT='%Y-%m-%d %X' + while 1: + str = time.strftime(ISOTIMEFORMAT, time.localtime()) + print str + test_china_index_data() + # test_china_individual_data() + test_global_index_data() + print '\n' + sleep(10) #180s + +if __name__ == '__main__': + #plotData() + main() + diff --git a/stock_trader.py b/stock_trader.py new file mode 100644 index 0000000..c5140ea --- /dev/null +++ b/stock_trader.py @@ -0,0 +1,21 @@ +#coding=utf-8 +from trade_process.strategy import main +from trade_process.strategy.tread_tracking import stock_trader_main +if __name__ == '__main__': + stockList = ['000725', '000783', '002167', '002505', '002600', '300315', '600000', '600011', '600048', '601001'] + ChinaStockIndexList = [ + "000001", # sh000001 上证指数 + "399001", # sz399001 深证成指 + "000300", # sh000300 沪深300 + "399005", # sz399005 中小板指 + "399006", # sz399006 创业板指 + "000003", # sh000003 B股指数 + "000016", # 上证50 + "000012", # 国债指数 + ] + code = [['002963', 'egold'], ['003321', 'eoil'], ['004744', 'eGEI'], ['110003', 'eSSE50'], ['110020', 'HS300'], + ['110031', 'eHSI'], ['161130', 'eNASDAQ100'], ['110028', 'anxinB'], ['110022', 'eConsumption '], + ['161125', 'SPX500']] + #均线策略 + main(ChinaStockIndexList) + stock_trader_main(code) \ No newline at end of file diff --git a/trade_process/__init__.py b/trade_process/__init__.py index 9d4bb85..1f56271 100644 --- a/trade_process/__init__.py +++ b/trade_process/__init__.py @@ -1 +1 @@ -__author__ = 'cbb' +__author__ = 'cbb' diff --git a/trade_process/__init__.pyc b/trade_process/__init__.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a67d3a0b3e804de9defaba7dcab7048111c981a1 GIT binary patch literal 168 zcmZSn%*(axc3f040~9a(.*?)') + item_re = re.compile( + r'''(\d{4}-\d{2}-\d{2})(.*?)(.*?)(.*?)(.*?)(.*?)''', + re.X) + + # 获取不到 返回0 + jingzhi ='-1' + result=[] + + for line in tr_re.findall(json_fund_value): + # print line + '\n' + match = item_re.match(line) + if match: + entry = match.groups() + entry[3].rstrip('%') + date = datetime.datetime.strptime(entry[0], '%Y-%m-%d') + # jingzhi = entry[2] + if entry[3]!='': + result.append([date, float(entry[1]),float(entry[2]), float(entry[3].rstrip('%'))]) + else: + result.append([date, float(entry[1]), float(entry[2]), 0]) + jingzhi1 = entry[1] + jingzhi2 = entry[2] + # print jingzhi2 + + if jingzhi2.strip() == '': + # 040028 + # 净值日期 每万份收益 7日年化收益率(%) 申购状态 赎回状态 分红送配 + # 2017-01-06 1.4414 暂停申购 暂停赎回 + # 2017-01-05 1.4369 暂停申购 暂停赎回 + jingzhi = '-1' + elif jingzhi2.find('%') > -1: + # 040003 + # 净值日期 每万份收益 7日年化收益率(%) 申购状态 赎回状态 分红送配 + # 2017-03-27 1.1149 3.9450% 限制大额申购 开放赎回 + # 2017-03-26* 2.2240 3.8970% 限制大额申购 开放赎回 + jingzhi = '-1' + elif float(jingzhi1) > float(jingzhi2): + # 502015 + # 净值日期 单位净值 累计净值 日增长率 申购状态 赎回状态 分红送配 + # 2017-03-27 0.6980 0.3785 -2.24% 场内买入 场内卖出 + # 2017-03-24 0.7140 0.3945 5.15% 场内买入 场内卖出 + jingzhi = entry[1] + else: + # + # 净值日期 单位净值 累计净值 日增长率 申购状态 赎回状态 分红送配 + # 2017-03-28 1.7720 1.7720 -0.23% 开放申购 开放赎回 + # 2017-03-27 1.7761 1.7761 -0.43% 开放申购 开放赎回 + jingzhi = entry[2] + return result + +#获取历史数据 +def get_histrydata(strfundcode,numdays): + # 当前日期 + strtoday = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d') + tdatetime = datetime.datetime.strptime(strtoday, '%Y-%m-%d') + print u'结束时间:' + strtoday + url = 'http://fund.eastmoney.com/%s.html' % strfundcode[0] + todayvalue = spider(url) + + # 昨天 + yestodaytime = tdatetime - datetime.timedelta(days=1) + yestoday = datetime.datetime.strftime(yestodaytime, '%Y-%m-%d') + + # 前年今日 + sdatetime = tdatetime - datetime.timedelta(days=numdays) + strsdate = datetime.datetime.strftime(sdatetime, '%Y-%m-%d') + print u'开始时间:' + strsdate + + # 1.1 起始时间 + strsdate = strsdate # sys.argv[1] + stredate = yestoday # sys.argv[2] + + # 今日零时 + # strtoday = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d') + # tdatetime = datetime.datetime.strptime(strtoday, '%Y-%m-%d') + # print tdatetime + + # 开始时间 如果是周六 周日 调整到周五 + # print strsdate + sdatetime = datetime.datetime.strptime(strsdate, '%Y-%m-%d') + sdatetime.isoweekday() + if sdatetime.isoweekday() == 7: + sdatetime = sdatetime + datetime.timedelta(days=-2) + elif sdatetime.isoweekday() == 6: + sdatetime = sdatetime + datetime.timedelta(days=-1) + + strsdate = datetime.datetime.strftime(sdatetime, '%Y-%m-%d') + # print strsdate + + # 结束时间 如果是周六 周日 调整到周五 + # print stredate + edatetime = datetime.datetime.strptime(stredate, '%Y-%m-%d') + edatetime.isoweekday() + if edatetime.isoweekday() == 7: + edatetime = edatetime + datetime.timedelta(days=-2) + elif edatetime.isoweekday() == 6: + edatetime = edatetime + datetime.timedelta(days=-1) + + stredate = datetime.datetime.strftime(edatetime, '%Y-%m-%d') + # print stredate + + # 判断时间段 今日净值要下午才出 一律不处理 + if edatetime <= sdatetime or tdatetime <= sdatetime or tdatetime <= edatetime: + print '判断时间段 今日净值要下午才出 一律不处理' + print 'date input error!\n' + + jingzhimin = get_jingzhi(strfundcode[0], strsdate, stredate) + if todayvalue != None: + jingzhimin.insert(0, [tdatetime, todayvalue[0], todayvalue[1], todayvalue[2]]) + return jingzhimin + +#计算交易策略 +def fenxi(strfundcode,numdays): + #获取历史数据 + jingzhimin=get_histrydata(strfundcode,numdays) + years = [x[0] for x in jingzhimin] + price = [x[1] for x in jingzhimin] + changeprice = [x[3]/x[1] for x in jingzhimin] + price_stre = [((x[1] - (sum(price)/len(price)))/(max(price)-min(price)))*(max(changeprice)-min(changeprice)) for x in jingzhimin] + # plt.plot(years, changeprice, 'g',label='change') + starty = [0 for x in jingzhimin] + jizhipoints=jizhi(jingzhimin) + celue_point=celue(jingzhimin,jizhipoints) + # change_fenxi(change5days) + return celue_point + +def stdDeviation(a): + l = len(a) + m = sum(a) / l + d = 0 + for i in a: d += (i - m) ** 2 + return (d * (1 / l)) ** 0.5 + +#统计 +# def caculate(data): +# # 极差 +# ptp(data) +# # 方差 +# var(data) +# # 标准差 +# std(data) +# # 变异系数 +# mean(data) / std(data) +# norm.ppf(0.05, mean(data), std(data)) + +#求极值 +def jizhi(funddata): + jizhipoints={} + alldata = [x[1] for x in funddata[::-2]] + jizhipoints['allmax']= [alldata.index(max(alldata)),max(alldata)] + jizhipoints['allmin']= [alldata.index(min(alldata)),min(alldata)] + data30days = [x[1] for x in funddata[:-30:-2]] + jizhipoints['30daysmax'] = [data30days.index(max(data30days)),max(data30days)] + jizhipoints['30daysmin'] = [data30days.index(min(data30days)),min(data30days)] + data180days = [x[1] for x in funddata[:-200:-2]] + jizhipoints['180daysmax'] = [data180days.index(max(data180days)), max(data180days)] + jizhipoints['180daysmin'] = [data180days.index(min(data180days)), min(data180days)] + data5days = [x[1] for x in funddata[:-5:-2]] + jizhipoints['5daysmax'] = [data5days.index(max(data5days)), max(data5days)] + jizhipoints['5daysmin'] = [data5days.index(min(data5days)), min(data5days)] + return jizhipoints + +#交易策略监测 +def celue(funddata,jizhipoints): + todaydata = funddata[0] + data5days = [x[1] for x in funddata[:5:1]] + change = [x[3] for x in funddata[:5:1]] + change12days= [x[3] for x in funddata[:90:1]] + if stdDeviation(change12days)<0.3: + r=1.005;rmax=0.995 + elif stdDeviation(change12days) > 0.6: + r = 1.005;rmax = 0.995 + else: + r = 1.005;rmax = 0.995 + buy_points = [] + sell_point = [] + + #根据净值比较 + if(todaydata[1]<=r*jizhipoints['allmin'][1]): + buy_points.append({'today<1.02*allmin':str(todaydata[1])+str('<=')+str(r*jizhipoints['allmin'][1])}) + elif(todaydata[1]<=r*jizhipoints['180daysmin'][1]): + buy_points.append({'today<1.02*180min': str(todaydata[1])+str('<=')+str(r*jizhipoints['180daysmin'][1])}) + # elif(todaydata[1]<=r*jizhipoints['30daysmin'][1]): + # buy_points.append({'today<1.02*30min': str(todaydata[1] )+str('<=')+str( r*jizhipoints['30daysmin'][1])}) + # elif (todaydata[1] <= r*jizhipoints['5daysmin'][1]): + # buy_points['today<1.02*5min'] = str(todaydata[1] )+str('<=')+str( r*jizhipoints['5daysmin'][1]) + #---------------------------- + elif (todaydata[1] >= rmax*jizhipoints['allmax'][1]): + sell_point.append({'today>0.98*allmax': str(todaydata[1] )+str('>=')+str( rmax*jizhipoints['allmax'][1])}) + elif (todaydata[1] >= rmax*jizhipoints['180daysmax'][1]): + sell_point.append({'today>0.98*180max': str(todaydata[1] )+str('>=')+str( rmax*jizhipoints['180daysmax'][1])}) + # elif (todaydata[1] >= rmax*jizhipoints['30daysmax'][1]): + # sell_point.append({'today>0.9*30max': str(todaydata[1] )+str('<=')+str( rmax*jizhipoints['30daysmax'][1])}) + # elif (todaydata[1] >= rmax*jizhipoints['5daysmax'][1]): + # sell_point.append({'today>0.9*30max': str(todaydata[1] )+str('<=')+str( rmax*jizhipoints['5daysmax'][1])}) + + # def change_fenxi(change): + if(sum(change)/len(change)>=0.5): + sell_point.append({'mean5up':round(sum(change)/len(change),5)}) + elif(sum(change)/len(change)<=-0.5): + buy_points.append({'mean5up':round(sum(change)/len(change),5)}) + + big=[];small=[] + if len(change)>3: + for i in range(len(change)): + if (change[i]>0): + big.append(change[i]) + elif (change[i]<0): + small.append(change[i]) + if len(big)>=4 and change[0]<0.2 : + sell_point.append({'go up 4days':big}) + # elif (change[0]=3): + # sell_point.append({u'go up 4days': big}) + if (len(small)>=4 and change[0]>0) or (len(small)>=3 and change[0]<-0.5 and change[1]<0.1): + buy_points.append({'go down 3days':small}) + return {'sell':sell_point,'buy':buy_points} + +def main_run(all_fund_list): + code = [['002963', 'egold'], ['003321', 'eoil'], ['004744', 'eGEI'], ['110003', 'eSSE50'], ['110020', 'HS300'], + ['110031', 'eHSI'], ['161130', 'eNASDAQ100'], ['110028', 'anxinB'], ['110022', 'eConsumption '], + ['161125', 'SPX500']] + name = ['eGold', 'eoil', '创业板', '上证50', '沪深300', '恒生', '易方达纳斯达克100', '安心b'] + buysell = [] + for i in code: + # save(strfundcode=i ,numdays=365*1) + sb=fenxi(strfundcode=i, numdays=425 * 1) + if sb: + buysell.append([i,sb]) + for i in all_fund_list[0:50]: + # save(strfundcode=i ,numdays=365*1) + sb=fenxi(strfundcode=i, numdays=425 * 1) + if sb: + buysell.append([i,sb]) + return buysell + +s = sched.scheduler(time.time, time.sleep) +class DateEncoder(json.JSONEncoder): + def default(self, obj): + if isinstance(obj, datetime): + return obj.__str__() + return json.JSONEncoder.default(self, obj) + + # sleep() +#@itchat.msg_register(itchat.content.TEXT) +def print_content(msg): + print msg['Text'] +def readmsg(msg): + return msg +def send_email(text): + #text = self.claw_content() + #open('b.txt', 'w').write(str(text[1]) + '\n' + str(text[0]) + '\n') + username = 'lsl_cug@126.com' # input("请输入账号:") + password = '123456lsl' # input("请输入密码:") + sender = username + # sender='' + receiver = ['1627041882@qq.com','760140853@qq.com'] # '760140853@qq.com','xxxxxxxxxx@qq.com','xxxxxxxxxx@126.com','994992333@qq.com','1847725033@qq.com','1847725033@qq.com','849281511@qq.com' + if sender =='': + username = str(raw_input("Please Input Sender Email Address,for example:xxxxxxxxxx@126.com \n")) + sender = username + password = str(raw_input("Please Input Sender Password \n")) + receiver.append(str(raw_input("Please Input Receiver Address,for example:xxxxxxxxxx@qq.com \n"))) + iRec = 1 + while iRec>0: + CmdRec = ''#raw_input("Whether you want to add another Receiver Address(default n)? \n") + if CmdRec == 'y' or CmdRec == 'yes': + iRec = 1 + receiver.append(str(raw_input("Please Input Receiver Address,for example:xxxxxxxxxx@qq.com \n"))) + else: + iRec = 0 + + ConfirmRec = ''#raw_input("Confirm? \n") + if ConfirmRec == 'n' or ConfirmRec == 'no': + print("What Do You Want? Maybe run this program again.\n") + exit(1) + else: + for rece in receiver: + print("OK \n"+ username + " sendto " + rece) + # 创建一个带附件的实例 + msg = MIMEMultipart() + # msg = MIMEText(str(text), 'plain', 'utf-8') + msg['From'] = formataddr(['user', sender]) # 括号里的对应发件人邮箱昵称、发件人邮箱账号 + msg['To'] = ",".join(receiver) # 括号里的对应收件人邮箱昵称、收件人邮箱账号 + + subject_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') + subject = '基金信息' + msg['Subject'] = subject + + # 邮件正文内容 + # print str(text[0]) + realText = sendmsg #str(text) #'\n'+str(subject_time)+':主人,有人来招人啦!^—^\n'+ '海投网:'+str(text[1])+'.'#+str(text[0])#'地大就业网招聘公告:'+str(text1[1])+'地大就业网gis等招聘信息:'+str(text2[1])+'.'#+str(text1[0])+'\n'+str(text2[1])+'\n'+str(text2[0]) + print realText + msg.attach(MIMEText(realText, 'plain', 'utf-8')) + + # 构造附件1,传送当前目录下的 test.txt 文件 + # att1 = MIMEApplication(open('b.txt', 'rb').read()) + # 这里的filename可以任意写,写什么名字,邮件中显示什么名字 + # att1.add_header('Content-Disposition', 'attachment', filename='hjx.txt') + # msg.attach(att1) + # # 构造附件1,传送当前目录下的 test.txt 文件 + # att2 = MIMEApplication(open('b1.txt', 'rb').read()) + # # 这里的filename可以任意写,写什么名字,邮件中显示什么名字 + # att2.add_header('Content-Disposition', 'attachment', filename='b1.txt') + # msg.attach(att2) + # att3 = MIMEApplication(open('b2.txt', 'rb').read()) + # # 这里的filename可以任意写,写什么名字,邮件中显示什么名字 + # att3.add_header('Content-Disposition', 'attachment', filename='b2.txt') + # msg.attach(att3) + smtpserver = 'smtp.126.com' + try: + smtp = smtplib.SMTP(smtpserver,25) + smtp.starttls() + smtp.login(username, password) + smtp.sendmail(sender, receiver, msg.as_string()) + smtp.quit() + print(u"邮件发送成功") + except smtplib.SMTPException, e: + print(u"Error: 无法发送邮件:" + str(e)) + smtp.quit() + try: + username = 'lishulincug@163.com' # input("请输入账号:") + password = '123456lsl' # input("请输入密码:") + sender = username + # sender='' + # receiver = [ '1627041882@qq.com','994992333@qq.com','1847725033@qq.com'] # 'xxxxxxxxxx@qq.com','xxxxxxxxxx@126.com','994992333@qq.com','1847725033@qq.com' + msg['From'] = formataddr(['lishulin', sender]) # 括号里的对应发件人邮箱昵称、发件人邮箱账号 + msg['To'] = ",".join(receiver) # 括号里的对应收件人邮箱昵称、收件人邮箱账号 + smtpserver = 'smtp.163.com' + smtp = smtplib.SMTP(smtpserver,25) + smtp.starttls() + smtp.login(username, password) + for jj in receiver: + smtp.sendmail(sender, jj, msg.as_string()) + time.sleep(35) + smtp.quit() + print(u"邮件发送成功") + except smtplib.SMTPException, e1: + print(u"Error: 无法发送邮件:"+str(e1)) + smtp.quit() + try: + username = '15623863340@sina.cn' # input("请输入账号:") + password = '133499' # input("请输入密码:") + sender = username + # sender='' + # receiver = [ '1627041882@qq.com','994992333@qq.com','1847725033@qq.com'] # 'xxxxxxxxxx@qq.com','xxxxxxxxxx@126.com','994992333@qq.com','1847725033@qq.com' + msg['From'] = formataddr(['15623863340@sina.cn', sender]) # 括号里的对应发件人邮箱昵称、发件人邮箱账号 + msg['To'] = ",".join(receiver) # 括号里的对应收件人邮箱昵称、收件人邮箱账号 + smtpserver = 'smtp.sina.cn' + smtp = smtplib.SMTP(smtpserver,25) + smtp.starttls() + smtp.login(username, password) + smtp.sendmail(sender, receiver, msg.as_string()) + smtp.quit() + print(u"邮件发送成功") + except smtplib.SMTPException, e2: + print(u"Error: 无法发送邮件:" + str(e2)) + smtp.quit() +def deb_print(): + now = time.strftime("%y-%m-%d %H:%M:%S", time.localtime()) + H=now[9:11] + M = now[12:14] + S = now[15:] + # print now + #print H,M, S + return H,M, S + +def check_time(H, M,S): + if(H == "14" and int(M) == 35 and S == "20"):#(H == "14" and M == "08" and S == "10") or + # itchat.auto_login(hotReload=True) + # itchat.run + # curTime = time.strftime("%y-%m-%d %H:%M:%S", time.localtime()) + # itchat.send(curTime, 'filehelper') + # itchat.send(str(curTime), toUserName='@9f545f6d5c3f89aa63956c3f386733232f7176569f71a26f477909c02828d735') + buysell = main_run(all_fund_list) + print(str(buysell)) + sendmsg=[] + # f = open("buysell.txt",'a') + for i in buysell: + # write_str = str(i) + '\n' + # f.write(write_str) + st = '' + if i[1]['buy'] != []: + st = ' 买 ' + for j in i[1]['buy']: + st += str(j) + ' ' + elif i[1]['sell'] != []: + st += ' 卖 ' + for k in i[1]['sell']: + st += str(k) + ' ' + if st != '': + sendmsg.append(str(i[0]) + st+(' http://fund.eastmoney.com/%s.html'%i[0][0]) +(' http://www.efunds.com.cn/html/fund/%s_fundinfo.htm '%i[0][0])) + send_email(sendmsg) + # itchat.send(str(i[0]) + st+(' http://fund.eastmoney.com/%s.html'%i[0][0]) +('-- http://www.efunds.com.cn/html/fund/%s_fundinfo.htm'%i[0][0]), 'filehelper') + # itchat.send(str(i[0]) + st, toUserName='@9f545f6d5c3f89aa63956c3f386733232f7176569f71a26f477909c02828d735') + s.enter(1, 1, check_time, deb_print()) + + +def main1(): + a=1 + while True: + now = time.strftime("%y-%m-%d %H:%M:%S", time.localtime()) + # date = datetime.datetime.strftime(datetime.datetime.now(), "%Y%m%d") + H = now[9:11] + M = now[12:14] + S = now[15:] + # print H,S,M + print 'Start:'+'13:05' +' and 14:35 '+'send to email.'+"\n" +'please wait:' + + # print time.localtime() + # print time.strftime("%y-%m-%d %H:%M:%S",time.localtime()) + # xiaozhao = Xiaozhao() + # xiaozhao.send_email() + s.enter(1, 1, check_time, deb_print()) + s.run() + +if __name__=='__main__': + # itchat.auto_login(hotReload=True) + # itchat.run + # + # curTime = now = time.strftime("%y-%m-%d %H:%M:%S", time.localtime()) + # itchat.send(curTime, 'filehelper') + # buysell = one_predict.main_run() + # f = open("buysell.txt",'a') + # for i in buysell: + # # write_str = str(i) + '\n' + # # f.write(write_str) + # st = '' + # if i[1]['buy'] != []: + # st = u'买入点' + # for j in i[1]['buy']: + # st += str(j) + ' ' + # elif i[1]['sell'] != []: + # st += u' 卖出点' + # for k in i[1]['sell']: + # st += str(k) + ' ' + # if st != '': + # itchat.send(str(i[0]) + st, 'filehelper') + # itchat.send(str(i[0]) + st,toUserName='@9f545f6d5c3f89aa63956c3f386733232f7176569f71a26f477909c02828d735') + now = time.strftime("%y-%m-%d %H:%M:%S", time.localtime()) + H = now[9:11] + M = now[12:14] + S = now[15:] + all_fund_list = main_zf() + if(int(H) ):#>= 19(H == "14" and M == "08" and S == "10") or + buysell1 = main_run(all_fund_list) + print(str(buysell1)) + sendmsg='' + # f = open("buysell.txt",'a') + for i in buysell1: + # write_str = str(i) + '\n' + # f.write(write_str) + st = ' ' + if i[1]['buy'] != []: + st = ' 买 ' + for j in i[1]['buy']: + for h in j: + st += h + str(j[h])+ ' ' + elif i[1]['sell'] != []: + st += ' 卖 ' + for k in i[1]['sell']: + for t in k: + st += t + str(k[t])+ ' ' + if st != ' ': + sendmsg +=i[0][0]+','+i[0][1] + st+(' http://fund.eastmoney.com/%s.html'%i[0][0]) +(' http://www.efunds.com.cn/html/fund/%s_fundinfo.htm'%i[0][0])+'\n' + # print sendmsg + send_email(sendmsg) + main1() + # f.close() + # itchat.send("@fil@%s" % 'buysell.txt', 'filehelper') + # for (name, fund_id) in ids.items(): + # url = 'http://fund.eastmoney.com/%s.html' % fund_id + # value = spider(url) + # sign = value[0] + # value_num = value[1:-1] + # name = name.decode('utf-8') + # buysell=one_predict.main_run() + # itchat.send(buysell , 'filehelper') + # if(sign == '-' and float(value_num)>2.5): + # content = u'%s跌幅很大,可以补仓'+sign+value_num + # itchat.send(content % name, 'filehelper') + # else: + # content = u'%s 不需要补仓'+sign+value_num + # itchat.send(content % name, 'filehelper') diff --git a/trade_process/efund_mail2.pyc b/trade_process/efund_mail2.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0339ddb71ceed6212b18e2d145147420c1d4faf7 GIT binary patch literal 14798 zcmb_jeQ;b?b-!;{T5DI5E$hRQ631T0mZLbfysIyNU`Men$4(jx^VUUeEPYN|!&8&$ql71pY$wK^YB`E{z$rl#6-9z3pBQ|pEH8kKKXg$^~1K5q(ugaoUD-HX}12nYh|K zwOiS3#GgtiJE`nl>awBS!(ki4ND!VHRQ8av2MHfLZf#Lh!)ktyfr9a~yN#(4W!7dnZ~W zzDMx&zKz6(<{Ih}6w6SH0HAOowHQ)hxnfWs<>^^KA+24^fbs7uH;sNP&7 z2b;qh$C8f-w$$a;C~J)nMYh(sNg6k*OF*tSuAw%ng{>42s=>}Gpn)aXuu4r9J5_@p zRkJbW{yjK}h&f1|hD}NJM=_!auNmoizmOk*EIr%xL&!Up2tIppI_q7$n0HX5d`hGb z5`Ziyl!`yIYp)*xq|y301Jca3=PI`6dyon$ZQpNT4JOcJJ3*Ooiq>>GpV!^k{xqw7 z%G!geuJvTUENX7Z)9@3V`yrt=m1sOy&8e&S0f6*n*JxzbfRjZWF8hl!Nd z53!Aq6euak&^&x3@kRh0-G3%Abl<5nGnJy1l=O_}mol?wd^c^`(`C1mu|4mM&H8C* zPkwNqydXrqvSZoqM)uf4n#MXKif_BIQPN%`Y-|OTp=ik$a_>Rb6si@xl})iPRL9-oGGo>EX>=*ewhKz zw=geK;k9D1cVwzREPWmi;ZRRhQN(#45eH zb&OQdv*EX?9RAizO$^RRcebvIiKvC{>wU(hW|eDKm)0r2L+V<^=>?g!D>EzUql>Iq zQKPs^-2e%MO#wbRMIVc8(i=Kh1dr=gu9G7nSCHqch8D@(n?kJW3I>I6YPLbS(NL|H zY$7s&E&y0hfCvMjY9}#866lfrAoD8!Cc$s2zYWSX;T=SJ-uKJ zv(i55Xn?od8m4jEm8`o4S=S->a$GR0kNHq_&`P>{TomwF2?g+@lS9ydFR|< z6)u(Sq8O0lr%s&|uOtTNlnZ}D3!C!OMJw%Ex{99c-gMs6R>rl{miQ0L7K_YYU0Wz) za>`EL7C&`bO6W1^Fi8SIPUgI{%(`%Ko`5bmbjo7HIU&ANuqA`yvSjG0(`E2$nKU>; zNw=XrB>jFVXFz~*s*AA2Nk(3XQeJ>%%FRw>qzl*f%B7-bo42rpil?PCZPQIp`{}ID zP%P(_irU?1e=N~}I~@$!@$Ett&N;>G#q*9Hm+c|a6RGB%qHPYb4>pD1-32MHu@5LM=u^s4KhhQb(f7=z+zr^##)(M6+vF zp)yh-Dh$2u7=a0#few6O=z$$&$4D2WH1RM>bryl3F%h)F2Ot23{Av*FJ8fe#OX|GA z+AE_Q9TxAZH-fb#>gZ}zcz^(Ph16EESLXyCOLNjJ#y#K!o8l@H{@7E?Pk!l@ zC;#fFU;C)H1!b@8K>EA^?j6LK21{|l6B{bTmcI7z(w|?c5p$^6&d*_29U3Fq=Xq}e zwDj21%TIhp<1Ih)*YT@geed#qiv}R>6w4JqE+%J7OiZ|JNz73oR4w6*Si&$$ilqzY9{ifO zvYMu!RhFIi(-QkSUg?5u&symP^L|#+Moz$SicNB0?6C3VS~bbPSZGAe!1k(L`6c8u z;i^5>7Bj{MtkhPJ5#a*1OM+fC+O+~QCeC)HJ(mKLu3hMhHI{mk4lGo`Dc%&r#}J){ z?>u%0?gB=Vev~X7MxsKSj4oKcwXks;j4pnSD6L(z3)ZdO=;b%m)wn9xunm^7DYOB$ z@GfofXj-WbV)1?f080+KPE#W$E(u)i(XT4Uw*zAdEYHZa!xrOJ@59HNn{R`yg| zVh@GY0rS|~MG7YwtN(qY!C6wHm) zOd&llg_v@2j5&wClP)r2W8d3P0gIZNCZXSAJ8lu@1!uv=zF(lS>tN$e?9BOeF>C8Q zbxNRVI(|`q&&RRLf?!Htf{OdCw4D~{b z)`c=03=t_f(W2i3ptXqJ4%37Al${ims;j=wjGm3)1mZZ*2kr6G3=Ue0U zLynwr{WJ4=quGLOH8z`SgCRm%gBp%Ng!Fyz4lRRtsHrfb`p;1B!ZMNNCSe3u3sv`) zV1497d$5ckTKr)g8qNY6N4jBk0C^%IUqh9zX&J((G7J9VEDyaas; z9FU8kPmP3rYDiT$Kw7i1Pl;KsKh6+$%UIw+pR&?}J_QcQMbW25LO(U6DjXoiR`x0G z|N4DC#FIG~kf2YoBtf472jp7Nr$$0QHKZyWAhiOCC#f{t6WZBQNoC<;13_aUI{|=B z(fJXau{e>T1f3Ua>2iV`5cU!whN9%&8pg^jQ2vi7O+Xo`lBj3kg=nwDzR0cg(Zt>2W$}65_}ZwOkK(4EVwrLFez{eSY}*Uo2q_HufOYIB7i66 z@v2kPm{>UB`eM~I15B5mjTTU}1VP{|ww9k_d=AHi@RsrPt`!J4A;!7FKdeS*S(U|D z;IEj%O$n2|i0`@NdHRB}bTVumGvLdxS%K%G0nm63GuZ7@#m@>A>bzG>#D>Xm5V?;_FA0F5sYxYx}6YT9}qu#4e|CB z#NQgaapKi>LcAj&jwOK!7CXaOLx3(^nazUpkFOx!cwIb18<2ljKVR?gOTMN=@YH{!aQS>sEegQ zGv+pjSKvT>k;fM2S{$HFlDsGvE($4-PqQVLAnpsP_{dkM7I?Tj)T#!VqM@8Q1`YqQ z)==2;ejcu4U_>C@(@-T1d4aUfL;HCPsq_6|4cNnBPXa!06*&qS<2rIQ z)z90E|gVvNIw5EmhF7z*bgsu{%kD!y-$=6#=iH{v7qY3G1CR2M>}-j zptl}BvXMBD97qiApt*O7=0n7|rV7TBRddzGcduxCcVb}QUTK`3H!G_e>nb)*&tuB@ zd0|Y9b-_*-M=IrN;qwlIvFt}b!q2zHlp9XLikA2omw~JJKJy|`=uyN&h*;<*#J`xo z&2sud9qRfFmo%6hBo}5E5y%Rz6z9bSffXItdXgoJIpE2N=_!j{X3gf|+8aN%?)68x^&Xe5wNNIf@WZAK@)J;v=u zcleZXi;f5>f@XZhd37LAz_LNahgbqu7ps^6))KZ!0K|0=fcoOR8vs^QivX=WVqggl z=-ULqV}o`9I(W5@s%(t0Cae(1T6kZ8mj!rJfY$_gM{ujk!YPTv#$;QCw*CkbbRJsp%bM&5POIY#A;kob63k2~Oy)L2e zs=4n5S8LlKpb62IL}GB?=#Wgboh{|{@oge8G&GnLWwA?6K0qAaGd!%zjvc*E%91=f z9}>_`rH+myYNdk-A$dGCl&BXD1tgEBg65;i?1gytrTz$Tq?$OC5R1<2$(u~dIW^Hj_hL?lg9vX>9Ie&`s_!SKlZ$w5M6!t zy)S?Ek&%Q{Eq~$D%U}LHIQ6JJ%a8p2OMmc`+k4?3Yl5X`-m~=l<#Y9YsPifAKNyL^9ECNm+@5=C)5997{8B4g`gFp6rL8~N#J(M=x73&;1T-aHX-Eb_GM znKX{wWf}w%(wz}QS2~xw8ImV)|6h!klishRLR!xXNLnCG&G+PO?ni06)|kURGgz_g}+F2dZc} zgp-%T;y-BR<>U@Z$)m5TBhjZUa3?&wFH^5^c)({ca*%*l8b2tP>tR&ED{yl!R~^L1 zs~EwjwMS3|Uj%;=)71hiTWvn6N_~fUm?Q1ZZGMunp%5%b~B>alMW{3|uJVZXK*+ zD~3AB;}RPi5V%@UZYLH9N=1h>fpb1~e6skW(Llo3m*BzCkHW^{I&`^7Oc+Q*7GMp; zb(@7R^Bvwb+Cr(sZ$v8a>=?=G8OHpuo|~OYU(WOK0LFxot{ju!rE-W)5NU7|^6}7Q zonbx5xfjDL2KjFoY9OTv;8f4$=9VEHEp}Cs-!OCHL zAH!&`4FeN=&0GQdGzNaUXej-7Y&#bHgvT4ByqBNORI>LZ2S@p+K%(vB;Lz~MC~Cyp zB}WJMB!-iF_YU4OH%AOG3|`)JcPb} zMK5{`@mM{0k;B{tagV&Yp=mBk6jCgC31lYEr~UYNDgI!o5}!;L{jvCo^ujqij-Vp$ z<7Op}$7NYJU5KZ%c$GL1^JvrG{2O4h2|(O~2>eo9+)jlzPprPzg{;}rPU-1XNkmt?GPl;h|7~cY2X$7 z@<1@5PA{w4k-YM|&s_cLmzLi5fma@WWcji8FTMAv3UB=7ZNvWf@{@nE{KXIHT8+8i zqkF*Hvhx*O-HVQl4vCI%Sk>|s9qL+VD{7@_a%6OHXz%FI&~V}&L^A1tOi@R#DA~8K z-Y}@^=UWxoABqyX=?i#khD$-&H;T~gdB-;?G?R{8igLKTkl@HX!SV-KPKQUK!{JGP zczT%5oHtP#)ImIW1tRTJCr+IV?)-2o;^*~UO1_kZ|K>1-4s=&oN_z~x@VY^o&Q%;= zoIPnAozK`3pi7lp=W$NFylt2JDMyphh>)ZXNaRcU#>X1%h(g=2SB~LYvt44+Ffh2g1~z_meJe25{|cNsjSP9C zgv0nA!PmPF38EbAU9sCH05=PV3NNg~O>CpXY6}A*#5dUZHX?&42$_i5jEG8mX85id zKK$hDOz6eGpkFf87Qe%-oWuRS!vhY7N7W8(wnW{nD!jG7|$mHWpzQKeidm;@yn1)iSoTRfiV_lf9g5KYPsJ9J(GIm5-jAj_LRv5NU z7@scVR{X}~x5YSYw1zXpqnF_K2)^DGBrqy4B=f&b)8f9HgNA{@LLq>qpe>E;wqRzU zU}9Xbl%Na|WW>JUtZy?G3l8Q$XEQ=*pSgj;C zLj@!t<9So^1?mBVF5W-lg&>?3Ok=1k(rbu&$Ds(&aF)Y^{k|JE{IY`0m(WHg<(g%D zy#;JO2jm-F#UsGQY7Cb9>sZBl+WPsJ%KQr^^i3iS59`y?0ora>+`;6Vtfg-0NiV=_ z4aom6L6P!1S639O|5HdJKRNEw&G6rS@}7_@gce2(0F=TS`B_iZCHU7tt*?s581g tIvQ>7F?yS#h}@$2Xf(Px+TPL~L=0FUjQUm^%U0u#z+4h)G2VhD^#Ayy-~#{v literal 0 HcmV?d00001 diff --git a/trade_process/fibonacci.py b/trade_process/fibonacci.py index bca4f75..8589329 100644 --- a/trade_process/fibonacci.py +++ b/trade_process/fibonacci.py @@ -1,17 +1,17 @@ -#coding:utf8 - -import tushare as ts -import data_process.data_get as dg - -def fibonacci(): - df_gem = ts.get_gem_classified() #创业板 - - for ix, row in df_gem.iterrows(): - code = row['code'] - df_price = dg.get_stock_k_line(code, date_start='2015-01-04') - print df_price.head() - returns = df_price['close'].pct_change() - returns[0] = 0 - print returns - +#coding:utf8 + +import tushare as ts +import data_process.data_get as dg + +def fibonacci(): + df_gem = ts.get_gem_classified() #创业板 + + for ix, row in df_gem.iterrows(): + code = row['code'] + df_price = dg.get_stock_k_line(code, date_start='2015-01-04') + print df_price.head() + returns = df_price['close'].pct_change() + returns[0] = 0 + print returns + fibonacci() \ No newline at end of file diff --git a/trade_process/fund_zf.py b/trade_process/fund_zf.py new file mode 100644 index 0000000..aebd6b5 --- /dev/null +++ b/trade_process/fund_zf.py @@ -0,0 +1,274 @@ +# !/usr/bin/python +# -*- coding: utf-8 -*- +import datetime +import glob +import json +import sys +import urllib2 +reload(sys) +sys.setdefaultencoding('utf-8') + + +# 是否已在list中 +def get_index(fund_code, all_fund_list): + fund_num = len(all_fund_list) + fund_index = 0 + while fund_index < fund_num: + if fund_code in all_fund_list[fund_index]: + break; + fund_index += 1 + + return fund_index + + +# 获取基金类型 +def get_type(fund_code, all_fund_list): + fund_type = 'none' + for fund in all_fund_list: + if fund_code in fund: + fund_type = fund[3] + break + + return fund_type + + +def main_zf(): + # 当前日期 + strtoday = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d') + tdatetime = datetime.datetime.strptime(strtoday, '%Y-%m-%d') + print strtoday + + # 过去20天日期 + s20datetime = tdatetime - datetime.timedelta(days=20) + strs20date = datetime.datetime.strftime(s20datetime, '%Y-%m-%d') + + # 去年今日 + sdatetime = tdatetime - datetime.timedelta(days=365) + strsdate = datetime.datetime.strftime(sdatetime, '%Y-%m-%d') + print strsdate + + # 获取所有基金列表 用于查询类型 + all_fund = [] + fundlist_files = glob.glob('fundlist-*.txt') + file_object = open(fundlist_files[0], 'r') + try: + all_funds_txt = file_object.read() + # print all_funds_txt + finally: + file_object.close() + + all_funds_txt = all_funds_txt[all_funds_txt.find('=') + 2:all_funds_txt.rfind(';')] + all_fund = json.loads(all_funds_txt.decode('utf-8')) + + # 1、 获取近 1 3 6 增长率top50 + + month_num = 1 + month_list = [3, 6,12, 24] + all_fund_list = [] + + for int_month in month_list: + try: + if int_month == 24: + # 1年增幅 + print 'get nearly 2 year top 50 funds' + url = 'http://fund.eastmoney.com/data/rankhandler.aspx?op=ph&dt=kf&ft=all&rs=1nzf,100&gs=0&sc=2nzf&st=desc&sd=' + \ + strsdate + '&ed=' + strs20date + '&qdii=&tabSubtype=,,,,,&pi=1&pn=200&dx=1' + elif int_month == 12: + # 1年增幅 + print 'get nearly 1 year top 50 funds' + url = 'http://fund.eastmoney.com/data/rankhandler.aspx?op=ph&dt=kf&ft=all&rs=1nzf,100&gs=0&sc=1nzf&st=desc&sd=' + \ + strsdate + '&ed=' + strs20date + '&qdii=&tabSubtype=,,,,,&pi=1&pn=200&dx=1' + elif int_month == 36: + # 1年增幅 + print 'get nearly 3 year top 50 funds' + url = 'http://fund.eastmoney.com/data/rankhandler.aspx?op=ph&dt=kf&ft=all&rs=1nzf,100&gs=0&sc=3nzf&st=desc&sd=' + \ + strsdate + '&ed=' + strs20date + '&qdii=&tabSubtype=,,,,,&pi=1&pn=200&dx=1' + elif int_month == 60: + # 1年增幅 + print 'get nearly 1 year top 50 funds' + url = 'http://fund.eastmoney.com/data/rankhandler.aspx?op=ph&dt=kf&ft=all&rs=1nzf,100&gs=0&sc=5nzf&st=desc&sd=' + \ + strsdate + '&ed=' + strs20date + '&qdii=&tabSubtype=,,,,,&pi=1&pn=200&dx=1' + elif int_month == 0.25: + # 1年增幅 + print 'get nearly 1 week top 50 funds' + url = 'http://fund.eastmoney.com/data/rankhandler.aspx?op=ph&dt=kf&ft=all&rs=zzf,100&gs=0&sc=zzf&st=dasc&sd=' + \ + strsdate + '&ed=' + strs20date + '&qdii=&tabSubtype=,,,,,&pi=1&pn=200&dx=1' + else: + # 前 n 月增幅 + print 'get nearly ' + str(int_month) + ' months top 200 funds' + url = 'http://fund.eastmoney.com/data/rankhandler.aspx?op=ph&dt=kf&ft=all&rs=' + str(int_month) + \ + 'yzf,200&gs=0&sc=' + str(int_month) + 'yzf&st=desc&sd=' + strsdate + '&ed=' + strs20date + \ + '&qdii=&tabSubtype=,,,,,&pi=1&pn=200&dx=1' + print url + '\n' + + # if int_month == 24: + # 1年增幅 + # 过去20天日期 + s20datetime = tdatetime - datetime.timedelta(days=10) + strs20date = datetime.datetime.strftime(s20datetime, '%Y-%m-%d') + + # 去年今日 + sdatetime = s20datetime - datetime.timedelta(days=int_month*30) + strsdate = datetime.datetime.strftime(sdatetime, '%Y-%m-%d') + # print strsdate + # print 'get nearly ' + str(int_month) + ' months top 200 funds' + # url = 'http://fund.eastmoney.com/data/rankhandler.aspx?op=ph&dt=kf&ft=all,50&gs=0&st=desc&sd=' + \ + # strsdate + '&ed=' + strs20date + '&qdii=&tabSubtype=,,,,,&pi=1&pn=200&dx=1' + # print url + '\n' + response = urllib2.urlopen(url) + except urllib2.HTTPError, e: + print e + urllib_error_tag = True + except StandardError, e: + print e + urllib_error_tag = True + else: + urllib_error_tag = False + + if urllib_error_tag == True: + print 'error to get date,check network!\n' + sys.exit(1) + + # print response + all_rank_txt = response.read().decode('utf-8') + all_rank_txt = all_rank_txt[all_rank_txt.find('["'):all_rank_txt.rfind('"]') + 2] + # print all_rank_txt + # 编码问题 NND utf-8 不行啊 + all_rank_list = json.loads(all_rank_txt) + # print 'rank sum:' + str(len(all_rank_list)) + '\n\n' + + fund_rank = 1 + for rank_txt in all_rank_list: + # print rank_txt + '\n' + # 0 1 2 3 4 5 5 6 7 8 8 10 11 12 13 + # 单位 累计 日增 近1 近2 近3 今年 + # 基金代码 基金简称 日期 净值 净值 长率 周 近1月 近3月 近6月 近1年 年 年 来 成立来 手续费 + # 002425,金鹰保本混合C,JYBBHHC,2017-03-28,1.1120,1.6120,0,0.09,-0.4477,0.6335,0.5082,61.5167,,,0.09,61.5167,2016-03-07,1,61.5167,1.00%,0.10%,1,0.10%,1, + # 002441,德邦新添利债券C,DBXTLZQC,2017-03-28,1.1365,1.5165,0.0264,0.1409,0.4241,1.2923,1.1904,50.4788,,,1.1571,50.8371,2016-02-17,1,50.4788,,0.00%,,,, + # 共25项 + rank_list = rank_txt.split(',') + # print str(len(rank_list)) + '\n' + # 如果是第1个月 直接append + if 1 == month_num: + fund_list = [] + + fund_type = get_type(rank_list[0], all_fund) + + fund_list.append(rank_list[0]) + fund_list.append(rank_list[1] + '\t' + fund_type) + fund_list.append(str(fund_rank)) + + all_fund_list.append(fund_list) + else: + # 查找是否已在list中 + fund_num = len(all_fund_list) + fund_index = get_index(rank_list[0], all_fund_list) + if fund_index < fund_num: + # list中已存在 只append rank 和 rate + # print fund_code + '\t' + str(fund_index) + '\t' + str(all_fund_list[fund_index]) + all_fund_list[fund_index].append(str(fund_rank)) + else: + # 如果不存在 不仅需要将其加入list中 同样需要将其他几个 rank 和 rate 补上 + # 如果本fundcode在前几个文件中不存在 就是倒数第一 第100名吧 rank 默认100 rate 默认0 + # print fund_code + '\tnot found!' + fund_list = [] + # code name type + fund_type = get_type(rank_list[0], all_fund) + + fund_list.append(rank_list[0]) + fund_list.append(rank_list[1] + '\t' + fund_type) + # 补上 前几个文件的 rank 和 rate + for i in range(month_num - 1): + fund_list.append('100') + # 加上当前的rank 和 rate + fund_list.append(str(fund_rank)) + + # 将其加入列表 + all_fund_list.append(fund_list) + + # 处理下一个 + fund_rank += 1 + + # 还有 从第2个月开始 如果有fund 不在本文件中出现 就是倒数第一 第100名吧 还要将rank 和 rate 补上 擦 挺复杂 + if month_num > 1: + # 最长的len 为 2 + month_num + fund_len = 2 + month_num + fund_num = len(all_fund_list) + fund_index = 0 + while fund_index < fund_num: + if len(all_fund_list[fund_index]) < fund_len: + all_fund_list[fund_index].append('100') + + fund_index += 1 + + # 处理下一个月 + month_num += 1 + + print month_num + s1 = [] + for j in range(0, 3): + s='' + for i in range(0, len(all_fund_list[j])): + s += str(all_fund_list[j][i]) + ', ' + s1.append(s) + for j in range(0, 3): + print s1[j] + # print all_fund_list[0] + # print all_fund_list[1] + + # 2、计算平均排名 + fund_num = len(all_fund_list) + print fund_num + print '\n\n' + fund_index = 0 + while fund_index < fund_num: + sum_rank = 0 + # 有几个文件 就有几个排名 rank的index 2 3 4 5 + for i in range(month_num - 1): + sum_rank += int(all_fund_list[fund_index][2 + i]) + + # 计算平均排名 + avg_rank = float('%.2f' % (float(sum_rank) / (month_num - 1))) + + # 加入avg_rank + all_fund_list[fund_index].append(avg_rank) + + # 处理下一个 + fund_index += 1 + + # 3、排序 写文件 打印 + # avg_rank的index 1 + month_num + all_fund_list.sort(key=lambda fund: fund[1 + month_num]) + + s2=[] + for j in range(0,3): + s='' + for i in range(0,len(all_fund_list[j])): + s+= str(all_fund_list[j][i])+', ' + s2.append(s) + for j in range(0, 3): + print s2[j] + print '--------------------------------------' + file_object = open(u'基金综合排名结果.txt', 'w') + int_rank = 1 + try: + for fund_list in all_fund_list: + print str(int_rank) + '\t' + '\t'.join('{0}'.format(n) for n in fund_list) + file_object.write(str(int_rank) + '\t' + '\t'.join('{0}'.format(n) for n in fund_list) + '\n') + int_rank += 1 + finally: + file_object.close() + return all_fund_list + # sys.exit(0) + +def test(): + month_num = 1 + + print month_num + +if __name__ == "__main__": + reload(sys) + sys.setdefaultencoding('utf-8') + # sys.setdefaultencoding('utf-8') + # test() + main_zf() diff --git a/trade_process/fund_zf.pyc b/trade_process/fund_zf.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7163da6a101150cb7626726070228402f8669ead GIT binary patch literal 6073 zcmcgw-ESMm5ud#yDUl-eMM;z#Tc+fgQ4>p+WV=pN(PUl4dTo_$wyH~ z>TXq2?hz>9B5_fqNL!#lfueosLmrC0^sVVbf&K&e1N!O&El?Ci(dYCxbENfQyC`fY zByYJpJ3C)HGdH{TzjK-TAHI97PQ8zX|8L<5KSrbRQ`987_Mormn(D(Xx@PtJHeIv( z{RCZ0keejern`z1{u(LLmJGB_KLou2(h2Ddl1@q|O*$o=47o$32WZ2h;J1$>vsn{J(+iDZnPuc}Z<^ge&M>eC7J`sW-1)XY3VeuZN~p-?(l9 zN4vFl(5ky(C=<0iYfJ4N;l1vfnowib;V_d_S(Q>FYE&iEu=TKg&H#mNVi6>Ol`h;U zvVqtlHnBBwJxk00<*lt8;a7#>de$(kw%_tykL?iaz@Q4-roy|iYZJ56b_JhxdTMnC zL7UZOsx#<^Su_M)bI>@W2CX`ekKsw-Vd=sz2E-Q{L=DAG!5w(07~rl&-3POxKdiz) z#kRQg228^%66_T4=ewk)VUQjX;D~22KGyCt9PO_;nzS&0f2B#Q-Q}B(itAl zVTBo@Mpm$Lq=y*Fybz{Y`Vou(;4tYC(xbGVpl*g(up#QaoQN{;i{(T&OFJK`D9ace zsZFKFAio}GJqkJxjyC=$sL;)k{|{o!5yAY0(vyri^+?RW2xdVr|E%;hW6nGh^Ou5o zNHG82qxsw;F7!(Z86V~-=pq$>JGU1!PlY`Q$DrrK`bIF{ z^SpH5_8o)UYII29YKL=)mzkMR~WLJjypPPT2Bs{VOOFl>xAG8FvNQr!_!(FjyE zrqwhD}F^c5J z{Ub&|hdVi{J3-L|H43C(6pTs6xJM$%NP?Yj zip(@cfFlf|l!QTnqA6;?J7OqHxC_W4T3*8L6sWK}!8?~{1_D9|VDXd;{7=aoqDUg4 zJ52_j)Z+yZLJo-dP0LH-Y65r|&S3dIivEu!PM%WK&T%q_S$UXX8iHQ9k*6+X6J7NQ z5qIn3L^THN6997Ussv3z;VkUDb=`pLyBXS=PF4YkIi5v2+4_cJ{&9LcOq~WR2zE#_u& z=|$?!Qm5RT>oGnej0J06tS~Dkhy5`V9g5IH99O7n2oJ;FInvr4=@{H zWd8q*v$zlnschReGN|p(qZH zxi8PA)<89y+iTOmrXFY0xxP)`9H{D3oIJ3_r%9jby|g&!=jqOE>aaER_+A+?_!0|V3IgrZ@mYlHNd9~Fpw{MlSDQ~Qm)=U}IW+@2EEB>9e z6D!NhrS-79Tng*uRRBt%DQh>ZmqJ|*xkf9w=qzw&OM70qWSpBZ`(@3++!PTdM=n(;$k@crfP2uU0*tZ>u4NPiR#T(*gMMOwn0F_8u$3M(g+de zjMZ#8Iz%}D-*)9bL>#~bW&oh=pxN|puJ-%FgJpQ*>eaU{awrO|tHE}BjdI1{t>*+f zo?_~+J59(SBzHnVb~~OC#$mhZnTlw{+?_TQ&=vHk!YgBW9Up)haN>+Nq$X*wW}J1ywF}F{HHWb1UuOwGuCrJpE>#34CfrBnsYf7+aJ>H&HhqQt zMP%?~wa~(4n#6XvA~OwX!`SZIo4c%>@2$rJ$rY=Dz}hm`IJQ{1$~c-QOpq++rsMgz zVB@V1EhcEqs!5f!r_>}r=<)4ZUfF8Y9DA|Kq1vO^n z?VLSqXRS={)^AEpSY!6EmBhW+6rLi!W9a3QOr4=4pjl8wd)5YCV#Ydv2OMBPmz*l8 zRW)u6sXB}xZ!osTYk1@pi>!_NGh}rfqNta^A9{)LUc_62&Xewn_zYrV5d7u!ic3FB zcE47W-Ks6H>sGkzt{mZpH?OkD%?oHGBLyyJCtQ1ghHJFD=4>~O>myBh{<>rd$sd)s zc~zBHafsGxzO(7pYP&i}?+M+DDW2PG>FuU_-bO#<_h}Y87k@J EzboSo-~a#s literal 0 HcmV?d00001 diff --git a/trade_process/fundlist-2017-03-27.txt b/trade_process/fundlist-2017-03-27.txt new file mode 100644 index 0000000..7532cf6 --- /dev/null +++ b/trade_process/fundlist-2017-03-27.txt @@ -0,0 +1 @@ +var r = [["000001","HXCZ","华夏成长","混合型","HUAXIACHENGZHANG"],["000002","HXCZ","华夏成长(后端)","混合型","HUAXIACHENGZHANG"],["000003","ZHKZZA","中海可转债A","债券型","ZHONGHAIKEZHUANZHAIA"],["000004","ZHKZZC","中海可转债C","债券型","ZHONGHAIKEZHUANZHAIC"],["000005","JSZQXYDQZQ","嘉实增强信用定期债券","定开债券","JIASHIZENGQIANGXINYONGDINGQIZHAIQUAN"],["000007","PHGQZZQ","鹏华国企债债券","债券型","PENGHUAGUOQIZHAIZHAIQUAN"],["000008","JSZZ500ETFLJ","嘉实中证500ETF联接","联接基金","JIASHIZHONGZHENG500ETFLIANJIE"],["000009","YFDTTLCHBA","易方达天天理财货币A","货币型","YIFANGDATIANTIANLICAIHUOBIA"],["000010","YFDTTLCHBB","易方达天天理财货币B","货币型","YIFANGDATIANTIANLICAIHUOBIB"],["000011","HXDPJX","华夏大盘精选","混合型","HUAXIADAPANJINGXUAN"],["000012","HXDPJX","华夏大盘精选(后端)","混合型","HUAXIADAPANJINGXUAN"],["000013","YFDTTLCHBR","易方达天天理财货币R","货币型","YIFANGDATIANTIANLICAIHUOBIR"],["000014","HXJLZQ","华夏聚利债券","债券型","HUAXIAJULIZHAIQUAN"],["000015","HXCZZQA","华夏纯债债券A","债券型","HUAXIACHUNZHAIZHAIQUANA"],["000016","HXCZZQC","华夏纯债债券C","债券型","HUAXIACHUNZHAIZHAIQUANC"],["000017","CTKCXHH","财通可持续混合","混合型","CAITONGKECHIXUHUNHE"],["000020","JSCCPZTZHH","景顺长城品质投资混合","混合型","JINGSHUNCHANGCHENGPINZHITOUZIHUNHE"],["000021","HXYSZZHH","华夏优势增长混合","混合型","HUAXIAYOUSHIZENGZHANGHUNHE"],["000022","NFZPA","南方中票A","债券指数","NANFANGZHONGPIAOA"],["000023","NFZPC","南方中票C","债券指数","NANFANGZHONGPIAOC"],["000024","DMSLZQZQA","大摩双利增强债券A","债券型","DAMOSHUANGLIZENGQIANGZHAIQUANA"],["000025","DMSLZQZQC","大摩双利增强债券C","债券型","DAMOSHUANGLIZENGQIANGZHAIQUANC"],["000026","TDXYHLZQA","泰达信用合利债券A","定开债券","TAIDAXINYONGHELIZHAIQUANA"],["000027","TDXYHLZQB","泰达信用合利债券B","定开债券","TAIDAXINYONGHELIZHAIQUANB"],["000028","HFBBHH","华富保本混合","保本型","HUAFUBAOBENHUNHE"],["000029","FGHGCL","富国宏观策略","混合型","FUGUOHONGGUANCELUE"],["000030","CCJLBBHH","长城久利保本混合","保本型","CHANGCHENGJIULIBAOBENHUNHE"],["000031","HXFXHH","华夏复兴混合","混合型","HUAXIAFUXINGHUNHE"],["000032","YFDXYZZQA","易方达信用债债券A","债券型","YIFANGDAXINYONGZHAIZHAIQUANA"],["000033","YFDXYZZQC","易方达信用债债券C","债券型","YIFANGDAXINYONGZHAIZHAIQUANC"],["000037","GFLC7TZQA","广发理财7天债券A","理财型","GUANGFALICAI7TIANZHAIQUANA"],["000038","GFLC7TZQB","广发理财7天债券B","理财型","GUANGFALICAI7TIANZHAIQUANB"],["000039","NYGZZHH","农银高增长混合","混合型","NONGYINGAOZENGZHANGHUNHE"],["000041","HXQQJX","华夏全球精选","QDII","HUAXIAQUANQIUJINGXUAN"],["000042","CTKCXFZ100","财通可持续发展100","股票指数","CAITONGKECHIXUFAZHAN100"],["000043","JSMGCZGP","嘉实美国成长股票","QDII","JIASHIMEIGUOCHENGZHANGGUPIAO"],["000044","JSMGCZGPXH","嘉实美国成长股票现汇","QDII","JIASHIMEIGUOCHENGZHANGGUPIAOXIANHUI"],["000045","GYCYZA","工银产业债A","债券型","GONGYINCHANYEZHAIA"],["000046","GYCYZB","工银产业债B","债券型","GONGYINCHANYEZHAIB"],["000047","HXSZZQZQA","华夏双债增强债券A","债券型","HUAXIASHUANGZHAIZENGQIANGZHAIQUANA"],["000048","HXSZZQZQC","华夏双债增强债券C","债券型","HUAXIASHUANGZHAIZENGQIANGZHAIQUANC"],["000049","ZYBPQQZYDQZZS","中银标普全球资源等权重指数","QDII-指数","ZHONGYINBIAOPUQUANQIUZIYUANDENGQUANZHONGZHISHU"],["000050","CSCZZQA","长盛纯债债券A","债券型","CHANGSHENGCHUNZHAIZHAIQUANA"],["000051","HXHS300ETFLJ","华夏沪深300ETF联接","联接基金","HUAXIAHUSHEN300ETFLIANJIE"],["000052","CSCZZQC","长盛纯债债券C","债券型","CHANGSHENGCHUNZHAIZHAIQUANC"],["000053","PHSYZCZZQ","鹏华实业债纯债债券","债券型","PENGHUASHIYEZHAICHUNZHAIZHAIQUAN"],["000054","PHSZZLZQ","鹏华双债增利债券","债券型","PENGHUASHUANGZHAIZENGLIZHAIQUAN"],["000055","GFNSDK100ZSMYXH","广发纳斯达克100指数美元现汇","QDII-指数","GUANGFANASIDAKE100ZHISHUMEIYUANXIANHUI"],["000056","JXXFSJHH","建信消费升级混合","混合型","JIANXINXIAOFEISHENGJIHUNHE"],["000057","ZYXFZTHH","中银消费主题混合","混合型","ZHONGYINXIAOFEIZHUTIHUNHE"],["000058","GLABBHH","国联安保本混合","保本型","GUOLIANANBAOBENHUNHE"],["000059","GLAZZYY100","国联安中证医药100","股票指数","GUOLIANANZHONGZHENGYIYAO100"],["000060","GLAGZDT","国联安股债动态","混合型","GUOLIANANGUZHAIDONGTAI"],["000061","HXSSHH","华夏盛世混合","混合型","HUAXIASHENGSHIHUNHE"],["000062","YHLHZHDLHH","银华量化智慧动力混合","混合型","YINHUALIANGHUAZHIHUIDONGLIHUNHE"],["000063","CSDZXXZTLHPZHH","长盛电子信息主题灵活配置混合","混合型","CHANGSHENGDIANZIXINXIZHUTILINGHUOPEIZHIHUNHE"],["000064","DM18GYDQKFZQ","大摩18个月定期开放债券","定开债券","DAMO18GEYUEDINGQIKAIFANGZHAIQUAN"],["000065","GFJDQDHH","国富焦点驱动混合","混合型","GUOFUJIAODIANQUDONGHUNHE"],["000066","NAHXBBHH","诺安鸿鑫保本混合","保本型","NUOANHONGXINBAOBENHUNHE"],["000067","MSJYZZYXA","民生加银转债优选A","债券型","MINSHENGJIAYINZHUANZHAIYOUXUANA"],["000068","MSJYZZYXC","民生加银转债优选C","债券型","MINSHENGJIAYINZHUANZHAIYOUXUANC"],["000069","GTRYZGDJZQA","国投瑞银中高等级债券A","债券型","GUOTOURUIYINZHONGGAODENGJIZHAIQUANA"],["000070","GTRYZGDJZQC","国投瑞银中高等级债券C","债券型","GUOTOURUIYINZHONGGAODENGJIZHAIQUANC"],["000071","HXHSETFLJ","华夏恒生ETF联接","QDII-指数","HUAXIAHENGSHENGETFLIANJIE"],["000072","HABBHH","华安保本混合","保本型","HUAANBAOBENHUNHE"],["000073","STCZDL","上投成长动力","混合型","SHANGTOUCHENGZHANGDONGLI"],["000074","GYXYCZYNDKZQA","工银信用纯债一年定开债券A","定开债券","GONGYINXINYONGCHUNZHAIYINIANDINGKAIZHAIA"],["000075","HXHSLJXH","华夏恒生联接现汇","QDII-指数","HUAXIAHENGSHENGLIANJIEXIANHUI"],["000076","HXHSLJXC","华夏恒生联接现钞","QDII-指数","HUAXIAHENGSHENGLIANJIEXIANCHAO"],["000077","GYXYCZYNDKZQC","工银信用纯债一年定开债券C","定开债券","GONGYINXINYONGCHUNZHAIYINIANDINGKAIZHAIC"],["000078","GYXYCZLNDKZQA","工银信用纯债两年定开债券A","定开债券","GONGYINXINYONGCHUNZHAILIANGNIANDINGKAIZHAIA"],["000079","GYXYCZLNDKZQC","工银信用纯债两年定开债券C","定开债券","GONGYINXINYONGCHUNZHAILIANGNIANDINGKAIZHAIC"],["000080","TZKZZA","天治可转债A","债券型","TIANZHIKEZHUANZHAIA"],["000081","TZKZZC","天治可转债C","债券型","TIANZHIKEZHUANZHAIC"],["000082","JSYJAEFGP","嘉实研究阿尔法股票","股票型","JIASHIYANJIUAERFAGUPIAO"],["000083","HTFXFHYHH","汇添富消费行业混合","混合型","HUITIANFUXIAOFEIHANGYEHUNHE"],["000084","BSAYZQA","博时安盈债券A","债券型","BOSHIANYINGZHAIQUANA"],["000085","BSAYZQC","博时安盈债券C","债券型","BOSHIANYINGZHAIQUANC"],["000086","NFWL1NDQKFZQA","南方稳利1年定期开放债券A","定开债券","NANFANGWENLI1NIANDINGQIKAIFANGZHAIQUANA"],["000087","JSZZJBGZETFLJA","嘉实中证金边国债ETF联接A","联接基金","JIASHIZHONGZHENGJINBIANGUOZHAIETFLIANJIEA"],["000088","JSZZJBGZETFLJC","嘉实中证金边国债ETF联接C","联接基金","JIASHIZHONGZHENGJINBIANGUOZHAIETFLIANJIEC"],["000089","MSJYJYLCYDA","民生加银家盈理财月度A","理财型","MINSHENGJIAYINJIAYINGLICAIYUEDUA"],["000090","MSJYJYLCYDB","民生加银家盈理财月度B","理财型","MINSHENGJIAYINJIAYINGLICAIYUEDUB"],["000091","XCXSYFJZQ","信诚新双盈分级债券","债券型","XINCHENGXINSHUANGYINGFENJIZHAIQUAN"],["000092","XCXSYFJZQA","信诚新双盈分级债券A","固定收益","XINCHENGXINSHUANGYINGFENJIZHAIQUANA"],["000093","XCXSYFJZQB","信诚新双盈分级债券B","分级杠杆","XINCHENGXINSHUANGYINGFENJIZHAIQUANB"],["000103","GTZGQYJWGSYZQ","国泰中国企业境外高收益债券","QDII","GUOTAIZHONGGUOQIYEJINGWAIGAOSHOUYIZHAIQUAN"],["000104","HCXYZLZQ","华宸信用增利债券","债券型","HUACHENXINYONGZENGLIZHAIQUAN"],["000105","JXAXHBZQA","建信安心回报债券A","定开债券","JIANXINANXINHUIBAOZHAIQUANA"],["000106","JXAXHBZQC","建信安心回报债券C","定开债券","JIANXINANXINHUIBAOZHAIQUANC"],["000107","FGWJZQZQAB","富国稳健增强债券A/B","债券型","FUGUOWENJIANZENGQIANGZHAIQUANAB"],["000108","FGWJZQZQAB","富国稳健增强债券A/B(后端)","债券型","FUGUOWENJIANZENGQIANGZHAIQUANAB"],["000109","FGWJZQZQC","富国稳健增强债券C","债券型","FUGUOWENJIANZENGQIANGZHAIQUANC"],["000110","JYYABBHHA","金鹰元安保本混合A","保本型","JINYINGYUANANBAOBENHUNHEA"],["000111","YFDCZ1NDKZQA","易方达纯债1年定开债券A","定开债券","YIFANGDACHUNZHAI1NIANDINGKAIZHAIQUANA"],["000112","YFDCZ1NDKZQC","易方达纯债1年定开债券C","定开债券","YIFANGDACHUNZHAI1NIANDINGKAIZHAIQUANC"],["000113","JSRYBDQZQA","嘉实如意宝定期债券A","定开债券","JIASHIRUYIBAODINGQIZHAIQUANA"],["000114","JSRYBDQZQA","嘉实如意宝定期债券A(后端)","定开债券","JIASHIRUYIBAODINGQIZHAIQUANA"],["000115","JSRYBDQZQC","嘉实如意宝定期债券C","定开债券","JIASHIRUYIBAODINGQIZHAIQUANC"],["000116","JSFYCZDQZQ","嘉实丰益纯债定期债券","定开债券","JIASHIFENGYICHUNZHAIDINGQIZHAIQUAN"],["000117","GFLDPZHH","广发轮动配置混合","混合型","GUANGFALUNDONGPEIZHIHUNHE"],["000118","GFJXZQA","广发聚鑫债券A","债券型","GUANGFAJUXINZHAIQUANA"],["000119","GFJXZQC","广发聚鑫债券C","债券型","GUANGFAJUXINZHAIQUANC"],["000120","ZYMLZGHH","中银美丽中国混合","混合型","ZHONGYINMEILIZHONGGUOHUNHE"],["000121","HXYFYLLCHHA","华夏永福养老理财混合A","混合型","HUAXIAYONGFUYANGLAOLICAIHUNHEA"],["000122","HTFSYZZQA","汇添富实业债债券A","债券型","HUITIANFUSHIYEZHAIZHAIQUANA"],["000123","HTFSYZZQC","汇添富实业债债券C","债券型","HUITIANFUSHIYEZHAIZHAIQUANC"],["000124","HBFWYXHH","华宝服务优选混合","混合型","HUABAOFUWUYOUXUANHUNHE"],["000125","STMGTYNFHHA","上投摩根天颐年丰混合A","混合型","SHANGTOUMOGENTIANYINIANFENGHUNHEA"],["000126","ZSARBBHH","招商安润保本混合","保本型","ZHAOSHANGANRUNBAOBENHUNHE"],["000127","NYHYLXHH","农银行业领先混合","混合型","NONGYINHANGYELINGXIANHUNHE"],["000128","DCJADRZQA","大成景安短融债券A","债券型","DACHENGJINGANDUANRONGZHAIQUANA"],["000129","DCJADRZQB","大成景安短融债券B","债券型","DACHENGJINGANDUANRONGZHAIQUANB"],["000130","DCJXXYZZQA","大成景兴信用债债券A","债券型","DACHENGJINGXINGXINYONGZHAIZHAIQUANA"],["000131","DCJXXYZZQC","大成景兴信用债债券C","债券型","DACHENGJINGXINGXINYONGZHAIZHAIQUANC"],["000136","MSJYCLJXHH","民生加银策略精选混合","混合型","MINSHENGJIAYINCELUEJINGXUANHUNHE"],["000137","MSJYSSZLA","民生加银岁岁增利A","定开债券","MINSHENGJIAYINSUISUIZENGLIA"],["000138","MSJYSSZLC","民生加银岁岁增利C","定开债券","MINSHENGJIAYINSUISUIZENGLIC"],["000139","FGGYQYZZQA","富国国有企业债债券A","债券型","FUGUOGUOYOUQIYEZHAIZHAIQUANA"],["000140","FGGYQYZZQA","富国国有企业债债券A(后端)","债券型","FUGUOGUOYOUQIYEZHAIZHAIQUANA"],["000141","FGGYQYZCJ","富国国有企业债C级","债券型","FUGUOGUOYOUQIYEZHAICJI"],["000142","RTTTBBHHA","融通通泰保本混合A","保本型","RONGTONGTONGTAIBAOBENHUNHEA"],["000143","PHSZJLZQ","鹏华双债加利债券","债券型","PENGHUASHUANGZHAIJIALIZHAIQUAN"],["000147","YFDGDJXYZA","易方达高等级信用债A","债券型","YIFANGDAGAODENGJIXINYONGZHAIA"],["000148","YFDGDJXYZC","易方达高等级信用债C","债券型","YIFANGDAGAODENGJIXINYONGZHAIC"],["000149","HASZTLZQA","华安双债添利债券A","债券型","HUAANSHUANGZHAITIANLIZHAIQUANA"],["000150","HASZTLZQC","华安双债添利债券C","债券型","HUAANSHUANGZHAITIANLIZHAIQUANC"],["000151","NAXYYNDKZQ","诺安信用一年定开债券","定开债券","NUOANXINYONGYINIANDINGKAIZHAIQUAN"],["000152","DCJXCZA","大成景旭纯债A","债券型","DACHENGJINGXUCHUNZHAIA"],["000153","DCJXCZC","大成景旭纯债C","债券型","DACHENGJINGXUCHUNZHAIC"],["000154","FGLHHS300","富国量化沪深300(后端)","股票指数","FUGUOLIANGHUAHUSHEN300"],["000155","FGTZTSZTLDHH","富国通胀通缩主题轮动混合(后端)","混合型","FUGUOTONGZHANGTONGSUOZHUTILUNDONGHUNHE"],["000157","FGQQDJXFPHH","富国全球顶级消费品混合(后端)","QDII","FUGUOQUANQIUDINGJIXIAOFEIPINHUNHE"],["000158","FGDTHBHH","富国低碳环保混合(后端)","混合型","FUGUODITANHUANBAOHUNHE"],["000159","FGGXJSCYHH","富国高新技术产业混合(后端)","混合型","FUGUOGAOXINJISHUCHANYEHUNHE"],["000160","FGQHBABJ","富国强回报A/B级(后端)","定开债券","FUGUOQIANGHUIBAOA/BJI"],["000161","FGHGCL","富国宏观策略(后端)","混合型","FUGUOHONGGUANCELUE"],["000162","FGZGZXPHH","富国中国中小盘混合(后端)","QDII","FUGUOZHONGGUOZHONGXIAOPANHUNHE"],["000163","FGQQZQ","富国全球债券(后端)","QDII","FUGUOQUANQIUZHAIQUAN"],["000164","FGSZZZLJ","富国上证综指联接(后端)","联接基金","FUGUOSHANGZHENGZENGZHILIANJIE"],["000165","GTRYCLJXHH","国投瑞银策略精选混合","混合型","GUOTOURUIYINCELUEJINGXUANHUNHE"],["000166","ZHAXBB","中海安鑫保本","保本型","ZHONGHAIANXINBAOBEN"],["000167","GFJYLHPZHHA","广发聚优灵活配置混合A","混合型","GUANGFAJUYOULINGHUOPEIZHIHUNHEA"],["000169","TDSYZQZQA","泰达收益增强债券A","债券型","TAIDASHOUYIZENGQIANGZHAIQUANA"],["000170","TDSYZQZQB","泰达收益增强债券B","债券型","TAIDASHOUYIZENGQIANGZHAIQUANB"],["000171","YFDYFHBZQ","易方达裕丰回报债券","债券型","YIFANGDAYUFENGHUIBAOZHAIQUAN"],["000172","HTBRLHZQHHA","华泰柏瑞量化增强混合A","混合型","HUATAIBAIRUILIANGHUAZENGQIANGHUNHEA"],["000173","HTFML30HH","汇添富美丽30混合","混合型","HUITIANFUMEILI30HUNHE"],["000174","HTFGXZZQA","汇添富高息债债券A","债券型","HUITIANFUGAOXIZHAIZHAIQUANA"],["000175","HTFGXZZQC","汇添富高息债债券C","债券型","HUITIANFUGAOXIZHAIZHAIQUANC"],["000176","JSHS300ZSYJZQ","嘉实沪深300指数研究增强","股票指数","JIASHIHUSHEN300ZHISHUYANJIUZENGQIANG"],["000177","JSFYXYDQZQA","嘉实丰益信用定期债券A","定开债券","JIASHIFENGYIXINYONGDINGQIZHAIQUANA"],["000178","BSLHPZHHA","博时灵活配置混合A","混合型","BOSHILINGHUOPEIZHIHUNHEA"],["000179","GFMGFDCZS","广发美国房地产指数","QDII-指数","GUANGFAMEIGUOFANGDECHANZHISHU"],["000180","GFMGFDCZSXH","广发美国房地产指数现汇","QDII-指数","GUANGFAMEIGUOFANGDECHANZHISHUXIANHUI"],["000181","JSCCSJJLZQA","景顺长城四季金利债券A","债券型","JINGSHUNCHANGCHENGSIJIJINLIZHAIQUANA"],["000182","JSCCSJJLZQC","景顺长城四季金利债券C","债券型","JINGSHUNCHANGCHENGSIJIJINLIZHAIQUANC"],["000183","JSFYCLDQZQ","嘉实丰益策略定期债券","定开债券","JIASHIFENGYICELUEDINGQIZHAIQUAN"],["000184","GYTFZQA","工银添福债券A","债券型","GONGYINTIANFUZHAIQUANA"],["000185","GYTFZQB","工银添福债券B","债券型","GONGYINTIANFUZHAIQUANB"],["000186","HTBRJJHZQ","华泰柏瑞季季红债券","债券型","HUATAIBAIRUIJIJIHONGZHAIQUAN"],["000187","HTBRFSCZZQA","华泰柏瑞丰盛纯债债券A","债券型","HUATAIBAIRUIFENGSHENGCHUNZHAIZHAIQUANA"],["000188","HTBRFSCZZQC","华泰柏瑞丰盛纯债债券C","债券型","HUATAIBAIRUIFENGSHENGCHUNZHAIZHAIQUANC"],["000189","YFDBBYHHH","易方达保本一号混合","保本型","YIFANGDABAOBENYIHAOHUNHE"],["000190","ZYXHBLHPZHH","中银新回报灵活配置混合","混合型","ZHONGYINXINHUIBAOLINGHUOPEIZHIHUNHE"],["000191","FGXYZZQA","富国信用债债券A","债券型","FUGUOXINYONGZHAIZHAIQUANA"],["000192","FGXYZZQC","富国信用债债券C","债券型","FUGUOXINYONGZHAIZHAIQUANC"],["000193","GTMGFDCKFGP","国泰美国房地产开发股票","QDII","GUOTAIMEIGUOFANGDECHANKAIFAGUPIAO"],["000194","YHXYSJHZQ","银华信用四季红债券","债券型","YINHUAXINYONGSIJIHONGZHAIQUAN"],["000195","GYBB3HHHA","工银保本3号混合A","保本型","GONGYINBAOBEN3HAOHUNHEA"],["000196","GYBB3HHHB","工银保本3号混合B","保本型","GONGYINBAOBEN3HAOHUNHEB"],["000197","FGMBSYYNQCZZQ","富国目标收益一年期纯债债券","定开债券","FUGUOMUBIAOSHOUYIYINIANQICHUNZHAIZHAIQUAN"],["000198","THYEBHB","天弘余额宝货币","货币型","TIANHONGYUEBAOHUOBI"],["000199","GTCLSYLHPZHH","国泰策略收益灵活配置混合","混合型","GUOTAICELUESHOUYILINGHUOPEIZHIHUNHE"],["000200","BSSSZLYNDKZQ","博时岁岁增利一年定开债券","定开债券","BOSHISUISUIZENGLIYINIANDINGKAIZHAIQUAN"],["000201","NATXYNDQKFZQA","诺安泰鑫一年定期开放债券A","定开债券","NUOANTAIXINYINIANDINGQIKAIFANGZHAIQUANA"],["000202","FGMBSYLNQCZZQ","富国目标收益两年期纯债债券","定开债券","FUGUOMUBIAOSHOUYILIANGNIANQICHUNZHAIZHAIQUAN"],["000203","GFRRSYHBA","国富日日收益货币A","货币型","GUOFURIRISHOUYIHUOBIA"],["000204","GFRRSYHBB","国富日日收益货币B","货币型","GUOFURIRISHOUYIHUOBIB"],["000205","YFDTZJXYZZQA","易方达投资级信用债债券A","债券型","YIFANGDATOUZIJIXINYONGZHAIZHAIQUANA"],["000206","YFDTZJXYZZQC","易方达投资级信用债债券C","债券型","YIFANGDATOUZIJIXINYONGZHAIZHAIQUANC"],["000207","JXSZZQZQA","建信双债增强债券A","债券型","JIANXINSHUANGZHAIZENGQIANGZHAIQUANA"],["000208","JXSZZQZQC","建信双债增强债券C","债券型","JIANXINSHUANGZHAIZENGQIANGZHAIQUANC"],["000209","XCXXCYHH","信诚新兴产业混合","混合型","XINCHENGXINXINGCHANYEHUNHE"],["000210","GDBDXXJBHBA","光大保德信现金宝货币A","货币型","GUANGDAXIANJINBAOHUOBIA"],["000211","GDBDXXJBHBB","光大保德信现金宝货币B","货币型","GUANGDAXIANJINBAOHUOBIB"],["000212","TXXYDQKFZQA","泰信鑫益定期开放债券A","定开债券","TAIXINXINYIDINGQIKAIFANGZHAIQUANA"],["000213","TXXYDQKFZQC","泰信鑫益定期开放债券C","定开债券","TAIXINXINYIDINGQIKAIFANGZHAIQUANC"],["000214","GFCZYXHH","广发成长优选混合","混合型","GUANGFACHENGZHANGYOUXUANHUNHE"],["000215","GFQSYXLHPZ","广发趋势优选灵活配置","混合型","GUANGFAQUSHIYOUXUANLINGHUOPEIZHI"],["000216","HAHJYETFLJA","华安黄金易ETF联接A","联接基金","HUAANHUANGJINYIETFLIANJIEA"],["000217","HAHJYETFLJC","华安黄金易ETF联接C","联接基金","HUAANHUANGJINYIETFLIANJIEC"],["000218","GTHJETFLJ","国泰黄金ETF联接","联接基金","GUOTAIHUANGJINETFLIANJIE"],["000219","BSYYLHPZ","博时裕益灵活配置","混合型","BOSHIYUYILINGHUOPEIZHI"],["000220","FGYLBJHYHH","富国医疗保健行业混合","混合型","FUGUOYILIAOBAOJIANHANGYEHUNHE"],["000221","HTFNNLDQKFZQA","汇添富年年利定期开放债券A","定开债券","HUITIANFUNIANNIANLIDINGQIKAIFANGZHAIQUANA"],["000222","HTFNNLDQKFZQC","汇添富年年利定期开放债券C","定开债券","HUITIANFUNIANNIANLIDINGQIKAIFANGZHAIQUANC"],["000225","CSNNSYDQKFZQA","长盛年年收益定期开放债券A","定开债券","CHANGSHENGNIANNIANSHOUYIDINGQIKAIFANGZHAIQUANA"],["000226","CSNNSYDQKFZQC","长盛年年收益定期开放债券C","定开债券","CHANGSHENGNIANNIANSHOUYIDINGQIKAIFANGZHAIQUANC"],["000227","HANNHZQA","华安年年红债券A","定开债券","HUAANNIANNIANHONGZHAIQUANA"],["000235","NAWGSYYNDKZQ","诺安稳固收益一年定开债券","定开债券","NUOANWENGUSHOUYIYINIANDINGKAIZHAIQUAN"],["000236","GYYYXDQZFZQA","工银月月薪定期支付债券A","债券型","GONGYINYUEYUEXINDINGQIZHIFUZHAIQUANA"],["000237","GTRYYNDQKFZA","国投瑞银一年定期开放债A","定开债券","GUOTOURUIYINYINIANDINGQIKAIFANGZHAIA"],["000238","GTRYYNDQKFZC","国投瑞银一年定期开放债C","定开债券","GUOTOURUIYINYINIANDINGQIKAIFANGZHAIC"],["000239","HANNYDKZA","华安年年盈定开债A","定开债券","HUAANNIANNIANYINGDINGKAIZHAIA"],["000240","HANNYDKZC","华安年年盈定开债C","定开债券","HUAANNIANNIANYINGDINGKAIZHAIC"],["000241","BYHXYSHHC","宝盈核心优势混合C","混合型","BAOYINGHEXINYOUSHIHUNHEC"],["000242","JSCCCLJX","景顺长城策略精选","混合型","JINGSHUNCHANGCHENGCELUEJINGXUAN"],["000244","THWLDQKFZQA","天弘稳利定期开放债券A","定开债券","TIANHONGWENLIDINGQIKAIFANGZHAIQUANA"],["000245","THWLDQKFZQB","天弘稳利定期开放债券B","定开债券","TIANHONGWENLIDINGQIKAIFANGZHAIQUANB"],["000246","BSYYXDQZFZQ","博时月月薪定期支付债券","定开债券","BOSHIYUEYUEXINDINGQIZHIFUZHAIQUAN"],["000247","FZFBHLZQ","方正富邦互利债券","定开债券","FANGZHENGFUBANGHULIZHAIQUAN"],["000248","HTFZZZYXFETFLJ","汇添富中证主要消费ETF联接","联接基金","HUITIANFUZHONGZHENGZHUYAOXIAOFEIETFLIANJIE"],["000251","GYJRDCHH","工银金融地产混合","混合型","GONGYINJINRONGDICHANHUNHE"],["000252","JSCCJXXYCZA","景顺长城景兴信用纯债A","债券型","JINGSHUNCHANGCHENGJINGXINGXINYONGCHUNZHAIA"],["000253","JSCCJXXYCZC","景顺长城景兴信用纯债C","债券型","JINGSHUNCHANGCHENGJINGXINGXINYONGCHUNZHAIC"],["000254","CCZQSYDKZQA","长城增强收益定开债券A","定开债券","CHANGCHENGZENGQIANGSHOUYIDINGKAIZHAIQUANA"],["000255","CCZQSYDKZQC","长城增强收益定开债券C","定开债券","CHANGCHENGZENGQIANGSHOUYIDINGKAIZHAIQUANC"],["000256","STMGHLHBHHA","上投摩根红利回报混合A","混合型","SHANGTOUMOGENHONGLIHUIBAOHUNHEA"],["000257","STSSYDKZQA","上投岁岁盈定开债券A","定开债券","SHANGTOUSUISUIYINGDINGKAIZHAIQUANA"],["000258","STSSYDKZQC","上投岁岁盈定开债券C","定开债券","SHANGTOUSUISUIYINGDINGKAIZHAIQUANC"],["000259","NYQJSYHH","农银区间收益混合","混合型","NONGYINQUJIANSHOUYIHUNHE"],["000260","XCJJDQZFZQ","信诚季季定期支付债券","债券型","XINCHENGJIJIDINGQIZHIFUZHAIQUAN"],["000263","GYXXCYHH","工银信息产业混合","混合型","GONGYINXINXICHANYEHUNHE"],["000264","BSNXZZHH","博时内需增长混合","混合型","BOSHINEIXUZENGZHANGHUNHE"],["000265","YFDHJTL1NDKZQA","易方达恒久添利1年定开债券A","定开债券","YIFANGDAHENGJIUTIANLI1NIANDINGKAIZHAIQUANA"],["000266","YFDHJTL1NDKZQC","易方达恒久添利1年定开债券C","定开债券","YIFANGDAHENGJIUTIANLI1NIANDINGKAIZHAIQUANC"],["000267","GFJLYNDQKFZQA","广发集利一年定期开放债券A","定开债券","GUANGFAJILIYINIANDINGQIKAIFANGZHAIQUANA"],["000268","GFJLYNDQKFZQC","广发集利一年定期开放债券C","定开债券","GUANGFAJILIYINIANDINGQIKAIFANGZHAIQUANC"],["000270","JXAXBBHH","建信安心保本混合","保本型","JIANXINANXINBAOBENHUNHE"],["000271","ZYDQKFZQA","中邮定期开放债券A","定开债券","ZHONGYOUDINGQIKAIFANGZHAIQUANA"],["000272","ZYDQKFZQC","中邮定期开放债券C","定开债券","ZHONGYOUDINGQIKAIFANGZHAIQUANC"],["000273","HRYDAXLHPZHH","华润元大安鑫灵活配置混合","混合型","HUARUNYUANDAANXINLINGHUOPEIZHIHUNHE"],["000274","GFYTZGSYZQ","广发亚太中高收益债券","QDII","GUANGFAYATAIZHONGGAOSHOUYIZHAIQUAN"],["000275","GFYTZGSYZQXH","广发亚太中高收益债券现汇","QDII","GUANGFAYATAIZHONGGAOSHOUYIZHAIQUANXIANHUI"],["000277","BSSYXDQZFZQ","博时双月薪定期支付债券","定开债券","BOSHISHUANGYUEXINDINGQIZHIFUZHAIQUAN"],["000278","RTTZLHPZHH","融通通泽灵活配置混合","混合型","RONGTONGTONGZELINGHUOPEIZHIHUNHE"],["000279","HSHLYXLHPZ","华商红利优选灵活配置","混合型","HUASHANGHONGLIYOUXUANLINGHUOPEIZHI"],["000280","BSSZZQZQA","博时双债增强债券A","债券型","BOSHISHUANGZHAIZENGQIANGZHAIQUANA"],["000281","BSSZZQZQC","博时双债增强债券C","债券型","BOSHISHUANGZHAIZENGQIANGZHAIQUANC"],["000286","YHXYJJHZQ","银华信用季季红债券","债券型","YINHUAXINYONGJIJIHONGZHAIQUAN"],["000287","YHYLZQA","银华永利债券A","债券型","YINHUAYONGLIZHAIQUANA"],["000288","YHYLZQC","银华永利债券C","债券型","YINHUAYONGLIZHAIQUANC"],["000289","PHFTDQKFZQA","鹏华丰泰定期开放债券A","定开债券","PENGHUAFENGTAIDINGQIKAIFANGZHAIQUANA"],["000290","PHQQGSYZ","鹏华全球高收益债","QDII","PENGHUAQUANQIUGAOSHOUYIZHAI"],["000291","PHFXFJZQ","鹏华丰信分级债券","债券型","PENGHUAFENGXINFENJIZHAIQUAN"],["000292","PHFXFJZQA","鹏华丰信分级债券A","固定收益","PENGHUAFENGXINFENJIZHAIQUANA"],["000293","PHFXFJZQB","鹏华丰信分级债券B","分级杠杆","PENGHUAFENGXINFENJIZHAIQUANB"],["000294","HASTYXHH","华安生态优先混合","混合型","HUAANSHENGTAIYOUXIANHUNHE"],["000295","PHFSDQKFZQA","鹏华丰实定期开放债券A","定开债券","PENGHUAFENGSHIDINGQIKAIFANGZHAIQUANA"],["000296","PHFSDQKFZQB","鹏华丰实定期开放债券B","定开债券","PENGHUAFENGSHIDINGQIKAIFANGZHAIQUANB"],["000297","PHKZZZQ","鹏华可转债债券","债券型","PENGHUAKEZHUANZHAIZHAIQUAN"],["000298","ZHCZZQA","中海纯债债券A","债券型","ZHONGHAICHUNZHAIZHAIQUANA"],["000299","ZHCZZQC","中海纯债债券C","债券型","ZHONGHAICHUNZHAIZHAIQUANC"],["000300","DBDLHBA","德邦德利货币A","货币型","DEBANGDELIHUOBIA"],["000301","DBDLHBB","德邦德利货币B","货币型","DEBANGDELIHUOBIB"],["000302","GTTJHLWZQ","国泰淘金互联网债券","债券型","GUOTAITAOJINHULIANWANGZHAIQUAN"],["000303","CSSYHDQZQA","长盛双月红定期债券A","定开债券","CHANGSHENGSHUANGYUEHONGDINGQIZHAIQUANA"],["000304","CSSYHDQZQC","长盛双月红定期债券C","定开债券","CHANGSHENGSHUANGYUEHONGDINGQIZHAIQUANC"],["000305","ZYZGDJZQ","中银中高等级债券","债券型","ZHONGYINZHONGGAODENGJIZHAIQUAN"],["000306","THHLZQ","天弘弘利债券","债券型","TIANHONGHONGLIZHAIQUAN"],["000307","YFDHJETFLJA","易方达黄金ETF联接A","联接基金","YIFANGDAHUANGJINETFLIANJIEA"],["000308","JXCXZGHH","建信创新中国混合","混合型","JIANXINCHUANGXINZHONGGUOHUNHE"],["000309","DMPZSHGP","大摩品质生活股票","股票型","DAMOPINZHISHENGHUOGUPIAO"],["000310","AXYLXYA","安信永利信用A","定开债券","ANXINYONGLIXINYONGA"],["000311","JSCCHS300ZQ","景顺长城沪深300增强","股票指数","JINGSHUNCHANGCHENGHUSHEN300ZENGQIANG"],["000312","HAHS300ZQA","华安沪深300增强A","股票指数","HUAANHUSHEN300ZENGQIANGA"],["000313","HAHS300ZQC","华安沪深300增强C","股票指数","HUAANHUSHEN300ZENGQIANGC"],["000314","ZSRFLHPZHHFQSA","招商瑞丰灵活配置混合发起式A","混合型","ZHAOSHANGRUIFENGLINGHUOPEIZHIHUNHEFAQISHIA"],["000316","ZHHLCZFJZQ","中海惠利纯债分级债券","债券型","ZHONGHAIHUILICHUNZHAIFENJIZHAIQUAN"],["000317","ZHHLCZFJZQA","中海惠利纯债分级债券A","固定收益","ZHONGHAIHUILICHUNZHAIFENJIZHAIQUANA"],["000318","ZHHLCZFJZQB","中海惠利纯债分级债券B","分级杠杆","ZHONGHAIHUILICHUNZHAIFENJIZHAIQUANB"],["000319","TDTLZQA","泰达淘利债券A","债券型","TAIDATAOLIZHAIQUANA"],["000320","TDTLZQB","泰达淘利债券B","债券型","TAIDATAOLIZHAIQUANB"],["000322","NY14TLCA","农银14天理财A","理财型","NONGYIN14TIANLICAIA"],["000323","NY14TLCB","农银14天理财B","理财型","NONGYIN14TIANLICAIB"],["000324","HRYDXJSYHBA","华润元大现金收益货币A","货币型","HUARUNYUANDAXIANJINSHOUYIHUOBIA"],["000325","HRYDXJSYHBB","华润元大现金收益货币B","货币型","HUARUNYUANDAXIANJINSHOUYIHUOBIB"],["000326","NFSD","南方顺达","保本型","NANFANGSHUNDA"],["000327","NFFH","南方丰合","保本型","NANFANGFENGHE"],["000328","STMGZXDL","上投摩根转型动力","混合型","SHANGTOUMOGENZHUANXINGDONGLI"],["000329","PHFRDKZ","鹏华丰饶定开债","定开债券","PENGHUAFENGRAODINGKAIZHAI"],["000330","HTFXJBHB","汇添富现金宝货币","货币型","HUITIANFUXIANJINBAOHUOBI"],["000331","ZJHBA","中加货币A","货币型","ZHONGJIAHUOBIA"],["000332","ZJHBC","中加货币C","货币型","ZHONGJIAHUOBIC"],["000333","CCWGSYZQA","长城稳固收益债券A","债券型","CHANGCHENGWENGUSHOUYIZHAIQUANA"],["000334","CCWGSYZQC","长城稳固收益债券C","债券型","CHANGCHENGWENGUSHOUYIZHAIQUANC"],["000335","AXYLXYC","安信永利信用C","定开债券","ANXINYONGLIXINYONGC"],["000336","NYYJJX","农银研究精选","混合型","NONGYINYANJIUJINGXUAN"],["000338","PHSZBLZQ","鹏华双债保利债券","债券型","PENGHUASHUANGZHAIBAOLIZHAIQUAN"],["000339","CCYLBJHH","长城医疗保健混合","混合型","CHANGCHENGYILIAOBAOJIANHUNHE"],["000341","JSXXSCC2QDII","嘉实新兴市场C2(QDII)","QDII","JIASHIXINXINGSHICHANGC2QDII"],["000342","JSXXSCA1QDII","嘉实新兴市场A1(QDII)","QDII","JIASHIXINXINGSHICHANGA1QDII"],["000343","HXCFBHBA","华夏财富宝货币A","货币型","HUAXIACAIFUBAOHUOBIA"],["000345","PHFRDQKFZQ","鹏华丰融定期开放债券","定开债券","PENGHUAFENGRONGDINGQIKAIFANGZHAIQUAN"],["000346","JXAXHBLNDKZQA","建信安心回报两年定开债券A","定开债券","JIANXINANXINHUIBAOLIANGNIANDINGKAIZHAIQUANA"],["000347","JXAXHBLNDKZQC","建信安心回报两年定开债券C","定开债券","JIANXINANXINHUIBAOLIANGNIANDINGKAIZHAIQUANC"],["000351","GFHFDQZQA","国富恒丰定期债券A","定开债券","GUOFUHENGFENGDINGQIZHAIQUANA"],["000352","GFHFDQZQC","国富恒丰定期债券C","定开债券","GUOFUHENGFENGDINGQIZHAIQUANC"],["000354","CSCZHZTHH","长盛城镇化主题混合","混合型","CHANGSHENGCHENGZHENHUAZHUTIHUNHE"],["000355","NFFYA","南方丰元A","债券型","NANFANGFENGYUANA"],["000356","NFFYC","南方丰元C","债券型","NANFANGFENGYUANC"],["000359","YFDYLCHB","易方达易理财货币","货币型","YIFANGDAYILICAIHUOBI"],["000360","XCNNYYA","信诚年年有余A","定开债券","XINCHENGNIANNIANYOUYUA"],["000361","XCNNYYB","信诚年年有余B","定开债券","XINCHENGNIANNIANYOUYUB"],["000362","GTJXJZYSLHPZA","国泰聚信价值优势灵活配置A","混合型","GUOTAIJUXINJIAZHIYOUSHILINGHUOPEIZHIA"],["000363","GTJXJZYSLHPZC","国泰聚信价值优势灵活配置C","混合型","GUOTAIJUXINJIAZHIYOUSHILINGHUOPEIZHIC"],["000366","HTFTFTHBA","汇添富添富通货币A","货币型","HUITIANFUTIANFUTONGHUOBIA"],["000367","GTAKYLDQZFHHA","国泰安康养老定期支付混合A","混合型","GUOTAIANKANGYANGLAODINGQIZHIFUHUNHEA"],["000368","HTFHS300AZZS","汇添富沪深300安中指数","股票指数","HUITIANFUHUSHEN300ANZHONGZHISHU"],["000369","GFQQYLBJXC","广发全球医疗保健现钞","QDII-指数","GUANGFAQUANQIUYILIAOBAOJIANXIANCHAO"],["000370","GFQQYLBJXH","广发全球医疗保健现汇","QDII-指数","GUANGFAQUANQIUYILIAOBAOJIANXIANHUI"],["000371","MSJYXJBHB","民生加银现金宝货币","货币型","MINSHENGJIAYINXIANJINBAOHUOBI"],["000372","ZYHLBNDQKFZQ","中银惠利半年定期开放债券","定开债券","ZHONGYINHUILIBANNIANDINGQIKAIFANGZHAIQUAN"],["000373","HAZZXFYYETFLJA","华安中证细分医药ETF联接A","联接基金","HUAANZHONGZHENGXIFENYIYAOETFLIANJIEA"],["000376","HAZZXFYYETFLJC","华安中证细分医药ETF联接C","联接基金","HUAANZHONGZHENGXIFENYIYAOETFLIANJIEC"],["000377","STSZZLA","上投双债增利A","债券型","SHANGTOUSHUANGZHAIZENGLIA"],["000378","STSZZLC","上投双债增利C","债券型","SHANGTOUSHUANGZHAIZENGLIC"],["000379","PADHRZLHB","平安大华日增利货币","货币型","PINGANDAHUARIZENGLIHUOBI"],["000380","JSCCJYHBA","景顺长城景益货币A","货币型","JINGSHUNCHANGCHENGJINGYIHUOBIA"],["000381","JSCCJYHBB","景顺长城景益货币B","货币型","JINGSHUNCHANGCHENGJINGYIHUOBIB"],["000385","JSCCJYSLZQA","景顺长城景颐双利债券A","债券型","JINGSHUNCHANGCHENGJINGYISHUANGLIZHAIQUANA"],["000386","JSCCJYSLZQC","景顺长城景颐双利债券C","债券型","JINGSHUNCHANGCHENGJINGYISHUANGLIZHAIQUANC"],["000387","TDHLRLZQA","泰达宏利瑞利债券A","固定收益","TAIDAHONGLIRUILIZHAIQUANA"],["000388","TDHLRLZQB","泰达宏利瑞利债券B","分级杠杆","TAIDAHONGLIRUILIZHAIQUANB"],["000389","GFTTHHBA","广发天天红货币A","货币型","GUANGFATIANTIANHONGHUOBIA"],["000390","HSYSHY","华商优势行业","混合型","HUASHANGYOUSHIHANGYE"],["000394","RTTYDRZQA","融通通源短融债券A","债券型","RONGTONGTONGYUANDUANRONGZHAIQUANA"],["000395","HTFAXZGZQA","汇添富安心中国债券A","债券型","HUITIANFUANXINZHONGGUOZHAIQUANA"],["000396","HTFAXZGZQC","汇添富安心中国债券C","债券型","HUITIANFUANXINZHONGGUOZHAIQUANC"],["000397","HTFQEBHB","汇添富全额宝货币","货币型","HUITIANFUQUANEBAOHUOBI"],["000398","HFLHPZHH","华富灵活配置混合","混合型","HUAFULINGHUOPEIZHIHUNHE"],["000400","ZRZXDQKFZQA","中融增鑫定期开放债券A","定开债券","ZHONGRONGZENGXINDINGQIKAIFANGZHAIQUANA"],["000401","ZRZXDQKFZQC","中融增鑫定期开放债券C","定开债券","ZHONGRONGZENGXINDINGQIKAIFANGZHAIQUANC"],["000402","GYCZZQA","工银纯债债券A","债券型","GONGYINCHUNZHAIZHAIQUANA"],["000403","GYCZZQB","工银纯债债券B","债券型","GONGYINCHUNZHAIZHAIQUANB"],["000404","YFDXXCZLHPZ","易方达新兴成长灵活配置","混合型","YIFANGDAXINXINGCHENGZHANGLINGHUOPEIZHI"],["000405","XCYYZF","信诚月月支付","债券型","XINCHENGYUEYUEZHIFU"],["000406","HTFSLZQZQA","汇添富双利增强债券A","债券型","HUITIANFUSHUANGLIZENGQIANGZHAIQUANA"],["000407","HTFSLZQZQC","汇添富双利增强债券C","债券型","HUITIANFUSHUANGLIZENGQIANGZHAIQUANC"],["000408","MSJYCZHHH","民生加银城镇化混合","混合型","MINSHENGJIAYINCHENGZHENHUAHUNHE"],["000409","PHHBCYGP","鹏华环保产业股票","股票型","PENGHUAHUANBAOCHANYEGUPIAO"],["000410","YMFWLXHH","益民服务领先混合","混合型","YIMINFUWULINGXIANHUNHE"],["000411","JSCCYZCZ","景顺长城优质成长","股票型","JINGSHUNCHANGCHENGYOUZHICHENGZHANG"],["000412","GKSYLJDKXYZA","国开岁月鎏金定开信用债A","定开债券","GUOKAISUIYUELIUJINDINGKAIXINYONGZHAIA"],["000413","GKSYLJDKXYZC","国开岁月鎏金定开信用债C","定开债券","GUOKAISUIYUELIUJINDINGKAIXINYONGZHAIC"],["000414","JSJDSYCLDQHH","嘉实绝对收益策略定期混合","混合型","JIASHIJUEDUISHOUYICELUEDINGQIHUNHE"],["000415","DMTL18GYKFZQA","大摩添利18个月开放债券A","定开债券","DAMOTIANLI18GEYUEDINGKAIZHAIA"],["000416","DMTL18GYKFZQC","大摩添利18个月开放债券C","定开债券","DAMOTIANLI18GEYUEDINGKAIZHAIC"],["000417","GLAXJXLHPZ","国联安新精选灵活配置","混合型","GUOLIANANXINJINGXUANLINGHUOPEIZHI"],["000418","JSCCCZZX","景顺长城成长之星","股票型","JINGSHUNCHANGCHENGCHENGZHANGZHIXING"],["000419","DMYZXJCZA","大摩优质信价纯债A","债券型","DAMOYOUZHIXINJIACHUNZHAIA"],["000420","DMYZXJCZC","大摩优质信价纯债C","债券型","DAMOYOUZHIXINJIACHUNZHAIC"],["000421","HTBRFHZQA","华泰柏瑞丰汇债券A","债券型","HUATAIBAIRUIFENGHUIZHAIQUANA"],["000422","HTBRFHZQC","华泰柏瑞丰汇债券C","债券型","HUATAIBAIRUIFENGHUIZHAIQUANC"],["000423","QHKYSJQDHHA","前海开源事件驱动混合A","混合型","QIANHAIKAIYUANSHIJIANQUDONGHUNHEA"],["000424","CSTLBHBA","长盛添利宝货币A","货币型","CHANGSHENGTIANLIBAOHUOBIA"],["000425","CSTLBHBB","长盛添利宝货币B","货币型","CHANGSHENGTIANLIBAOHUOBIB"],["000426","DCXYZLYNDKZQA","大成信用增利一年定开债券A","定开债券","DACHENGXINYONGZENGLIYINIANDINGKAIZHAIQUANA"],["000427","DCXYZLYNDKZQC","大成信用增利一年定开债券C","定开债券","DACHENGXINYONGZENGLIYINIANDINGKAIZHAIQUANC"],["000428","YFDJYFJZQFQS","易方达聚盈分级债券发起式","债券型","YIFANGDAJUYINGFENJIZHAIQUANFAQISHI"],["000429","YFDJYFJZQFQSA","易方达聚盈分级债券发起式A","固定收益","YIFANGDAJUYINGFENJIZHAIQUANFAQISHIA"],["000430","YFDJYFJZQFQSB","易方达聚盈分级债券发起式B","分级杠杆","YIFANGDAJUYINGFENJIZHAIQUANFAQISHIB"],["000431","PHPPCCHH","鹏华品牌传承混合","混合型","PENGHUAPINPAICHUANCHENGHUNHE"],["000432","ZYYXQYHH","中银优秀企业混合","混合型","ZHONGYINYOUXIUQIYEHUNHE"],["000433","AXXFYXHH","安信鑫发优选混合","混合型","ANXINXINFAYOUXUANHUNHE"],["000434","XHYNBHBA","新华壹诺宝货币A","货币型","XINHUAYINUOBAOHUOBIA"],["000435","JXWDTLZQA","建信稳定添利债券A","债券型","JIANXINWENDINGTIANLIZHAIQUANA"],["000436","YFDYHDKHHFQS","易方达裕惠定开混合发起式","混合型","YIFANGDAYUHUIDINGKAIHUNHEFAQISHI"],["000437","RTYYTLDKZQA","融通月月添利定开债券A","定开债券","RONGTONGYUEYUETIANLIDINGKAIZHAIQUANA"],["000438","RTYYTLDKZQB","融通月月添利定开债券B","定开债券","RONGTONGYUEYUETIANLIDINGKAIZHAIQUANB"],["000439","GJXYHB","国金鑫盈货币","货币型","GUOJINXINYINGHUOBI"],["000452","NFYB","南方医保","混合型","NANFANGYIBAO"],["000457","STMGHXCZ","上投摩根核心成长","股票型","SHANGTOUMOGENHEXINCHENGZHANG"],["000458","YDLXHBFQS","英大领先回报发起式","混合型","YINGDALINGXIANHUIBAOFAQISHI"],["000459","YDLXHBFQS","英大领先回报发起式(后端)","混合型","YINGDALINGXIANHUIBAOFAQISHI"],["000462","NYZTLDHH","农银主题轮动混合","混合型","NONGYINZHUTILUNDONGHUNHE"],["000463","HSSZFLZQA","华商双债丰利债券A","债券型","HUASHANGSHUANGZHAIFENGLIZHAIQUANA"],["000464","JSHQBHB","嘉实活期宝货币","货币型","JIASHIHUOQIBAOHUOBI"],["000465","JSCCXYXDQZFZQ","景顺长城鑫月薪定期支付债券","定开债券","JINGSHUNCHANGCHENGXINYUEXINDINGQIZHIFUZHAIQUAN"],["000466","RTTRZQAB","融通通瑞债券A/B","债券型","RONGTONGTONGRUIZHAIQUANAB"],["000467","XCHBZQA","信诚惠报债券A","债券型","XINCHENGHUIBAOZHAIQUANA"],["000469","FGMBQLYNQCZZQ","富国目标齐利一年期纯债债券","定开债券","FUGUOMUBIAOQILIYINIANQICHUNZHAIZHAIQUAN"],["000470","FGMBQLYNQCZZQ","富国目标齐利一年期纯债债券(后端)","定开债券","FUGUOMUBIAOQILIYINIANQICHUNZHAIZHAIQUAN"],["000471","FGCZFZGP","富国城镇发展股票","股票型","FUGUOCHENGZHENFAZHANGUPIAO"],["000472","FGCZFZGP","富国城镇发展股票(后端)","股票型","FUGUOCHENGZHENFAZHANGUPIAO"],["000473","GFJXZQA","广发集鑫债券A","债券型","GUANGFAJIXINZHAIQUANA"],["000474","GFJXZQC","广发集鑫债券C","债券型","GUANGFAJIXINZHAIQUANC"],["000475","GFTTLHBA","广发天天利货币A","货币型","GUANGFATIANTIANLIHUOBIA"],["000476","GFTTLHBB","广发天天利货币B","货币型","GUANGFATIANTIANLIHUOBIB"],["000477","GFZTLXHH","广发主题领先混合","混合型","GUANGFAZHUTILINGXIANHUNHE"],["000478","JXZZ500ZSZQ","建信中证500指数增强","股票指数","JIANXINZHONGZHENG500ZHISHUZENGQIANG"],["000479","XCHBZQB","信诚惠报债券B","债券型","XINCHENGHUIBAOZHAIQUANB"],["000480","DFHXDLHH","东方红新动力混合","混合型","DONGFANGHONGXINDONGLIHUNHE"],["000481","HSSZFLZQC","华商双债丰利债券C","债券型","HUASHANGSHUANGZHAIFENGLIZHAIQUANC"],["000483","XYHBA","鑫元货币A","货币型","XINYUANHUOBIA"],["000484","XYHBB","鑫元货币B","货币型","XINYUANHUOBIB"],["000485","JS1GYLCZQA","嘉实1个月理财债券A","理财型","JIASHI1GEYUELICAIZHAIQUANA"],["000486","JS1GYLCZQE","嘉实1个月理财债券E","理财型","JIASHI1GEYUELICAIZHAIQUANE"],["000487","JS3GYLCZQA","嘉实3个月理财债券A","理财型","JIASHI3GEYUELICAIZHAIQUANA"],["000488","JS3GYLCZQE","嘉实3个月理财债券E","理财型","JIASHI3GEYUELICAIZHAIQUANE"],["000489","GDBDXSMHLCZA","光大保德信岁末红利纯债A","债券型","GUANGDASUIMOHONGLICHUNZHAIA"],["000490","GDBDXSMHLCZC","光大保德信岁末红利纯债C","债券型","GUANGDASUIMOHONGLICHUNZHAIC"],["000493","NFXJTHBA","南方现金通货币A","货币型","NANFANGXIANJINTONGHUOBIA"],["000494","NFXJTHBB","南方现金通货币B","货币型","NANFANGXIANJINTONGHUOBIB"],["000495","NFXJTHBC","南方现金通货币C","货币型","NANFANGXIANJINTONGHUOBIC"],["000496","CACYJXHHA","长安产业精选混合A","混合型","CHANGANCHANYEJINGXUANHUNHEA"],["000497","CTCZZQ","财通纯债债券","债券型","CAITONGCHUNZHAIZHAIQUAN"],["000500","HFHFFJZQ","华富恒富分级债券","债券型","HUAFUHENGFUFENJIZHAIQUAN"],["000501","HFHFFJZQA","华富恒富分级债券A","固定收益","HUAFUHENGFUFENJIZHAIQUANA"],["000502","HFHFFJZQB","华富恒富分级债券B","分级杠杆","HUAFUHENGFUFENJIZHAIQUANB"],["000503","ZXJTWXYNA","中信建投稳信一年A","定开债券","ZHONGXINJIANTOUWENXINYINIANA"],["000504","ZXJTWXYNC","中信建投稳信一年C","定开债券","ZHONGXINJIANTOUWENXINYINIANC"],["000505","GSABHBA","国寿安保货币A","货币型","GUOSHOUANBAOHUOBIA"],["000506","GSABHBB","国寿安保货币B","货币型","GUOSHOUANBAOHUOBIB"],["000507","TDHLYLHHA","泰达宏利养老混合A","混合型","TAIDAHONGLIYANGLAOHUNHEA"],["000508","TDHLYLHHB","泰达宏利养老混合B","混合型","TAIDAHONGLIYANGLAOHUNHEB"],["000509","GFQDZHB","广发钱袋子货币","货币型","GUANGFAQIANDAIZIHUOBI"],["000510","NAYXSYYNDKZQ","诺安永鑫收益一年定开债券","定开债券","NUOANYONGXINSHOUYIYINIANDINGKAIZHAIQUAN"],["000511","GTGCQDLHPZHHA","国泰国策驱动灵活配置混合A","混合型","GUOTAIGUOCEQUDONGLINGHUOPEIZHIHUNHEA"],["000512","GTJGZXLHPZHHA","国泰结构转型灵活配置混合A","混合型","GUOTAIJIEGOUZHUANXINGLINGHUOPEIZHIHUNHEA"],["000513","FGGDZZHYGP","富国高端制造行业股票","股票型","FUGUOGAODUANZHIZAOHANGYEGUPIAO"],["000514","FGGDZZHYGP","富国高端制造行业股票(后端)","股票型","FUGUOGAODUANZHIZAOHANGYEGUPIAO"],["000520","SYXXJZCZHH","上银新兴价值成长混合","混合型","SHANGYINXINXINGJIAZHICHENGZHANGHUNHE"],["000522","HRYDXXCMKJHH","华润元大信息传媒科技混合","混合型","HUARUNYUANDAXINXICHUANMEIKEJIHUNHE"],["000523","GTRYYLBJHH","国投瑞银医疗保健混合","混合型","GUOTOURUIYINYILIAOBAOJIANHUNHE"],["000524","STMGMSXQ","上投摩根民生需求","股票型","SHANGTOUMOGENMINSHENGXUQIU"],["000526","GTNYLHPZHHA","国泰浓益灵活配置混合A","混合型","GUOTAINONGYILINGHUOPEIZHIHUNHEA"],["000527","NFXYX","南方新优享","混合型","NANFANGXINYOUXIANG"],["000528","GYXJHBA","工银薪金货币A","货币型","GONGYINXINJINHUOBIA"],["000529","GFJZYSHH","广发竞争优势混合","混合型","GUANGFAJINGZHENGYOUSHIHUNHE"],["000530","ZSFSWDZZHHA","招商丰盛稳定增长混合A","混合型","ZHAOSHANGFENGSHENGWENDINGZENGZHANGHUNHEA"],["000531","DWAEFLHPZHH","东吴阿尔法灵活配置混合","混合型","DONGWUAERFALINGHUOPEIZHIHUNHE"],["000532","JSCCYSQYHH","景顺长城优势企业混合","混合型","JINGSHUNCHANGCHENGYOUSHIQIYEHUNHE"],["000533","YYHB","永赢货币","货币型","YONGYINGHUOBI"],["000534","CSGDZBZZLHPZ","长盛高端装备制造灵活配置","混合型","CHANGSHENGGAODUANZHUANGBEIZHIZAOLINGHUOPEIZHI"],["000535","CSHTHGZBLHPZ","长盛航天海工装备灵活配置","混合型","CHANGSHENGHANGTIANHAIGONGZHUANGBEILINGHUOPEIZHI"],["000536","QHKYKZZZQ","前海开源可转债债券","债券型","QIANHAIKAIYUANKEZHUANZHAIZHAIQUAN"],["000538","NAYSHYHHA","诺安优势行业混合A","混合型","NUOANYOUSHIHANGYEHUNHEA"],["000539","ZYHQBHB","中银活期宝货币","货币型","ZHONGYINHUOQIBAOHUOBI"],["000540","GJJTTHBA","国金金腾通货币A","货币型","GUOJINJINTENGTONGHUOBIA"],["000541","HSCXCZLHPZ","华商创新成长灵活配置","混合型","HUASHANGCHUANGXINCHENGZHANGLINGHUOPEIZHI"],["000542","SYHCBHBA","上银慧财宝货币A","货币型","SHANGYINHUICAIBAOHUOBIA"],["000543","SYHCBHBB","上银慧财宝货币B","货币型","SHANGYINHUICAIBAOHUOBIB"],["000545","ZYHXJZLHH","中邮核心竞争力混合","混合型","ZHONGYOUHEXINJINGZHENGLIHUNHE"],["000546","XYDKZQA","兴业定开债券A","定开债券","XINGYEDINGKAIZHAIA"],["000547","JXJKMSHH","建信健康民生混合","混合型","JIANXINJIANKANGMINSHENGHUNHE"],["000549","HADGXJJGP","华安大国新经济股票","股票型","HUAANDAGUOXINJINGJIGUPIAO"],["000550","GFXDLHH","广发新动力混合","混合型","GUANGFAXINDONGLIHUNHE"],["000551","XCXFXFHH","信诚幸福消费混合","混合型","XINCHENGXINGFUXIAOFEIHUNHE"],["000552","ZJCZYNA","中加纯债一年A","定开债券","ZHONGJIACHUNZHAIYINIANA"],["000553","ZJCZYNC","中加纯债一年C","定开债券","ZHONGJIACHUNZHAIYINIANC"],["000554","ZGMJJ","中国梦基金","混合型","ZHONGGUOMENGJIJIN"],["000556","GTXJYHHA","国投新机遇混合A","混合型","GUOTOUXINJIYUHUNHEA"],["000557","GTXJYHHC","国投新机遇混合C","混合型","GUOTOUXINJIYUHUNHEC"],["000559","NATTBA","诺安天天宝A","货币型","NUOANTIANTIANBAOA"],["000560","NATTBE","诺安天天宝E","货币型","NUOANTIANTIANBAOE"],["000561","NFQYA","南方启元A","债券型","NANFANGQIYUANA"],["000562","NFQYC","南方启元C","债券型","NANFANGQIYUANC"],["000563","NFTLA","南方通利A","债券型","NANFANGTONGLIA"],["000564","NFTLC","南方通利C","债券型","NANFANGTONGLIC"],["000566","HTBRCXSJHH","华泰柏瑞创新升级混合","混合型","HUATAIBAIRUICHUANGXINSHENGJIHUNHE"],["000567","GFJXLHHH","广发聚祥灵活混合","混合型","GUANGFAJUXIANGLINGHUOHUNHE"],["000569","PHZZHB","鹏华增值宝货币","货币型","PENGHUAZENGZHIBAOHUOBI"],["000571","ZYSDLHH","中邮双动力混合","混合型","ZHONGYOUSHUANGDONGLIHUNHE"],["000572","ZYDCLHH","中银多策略混合","混合型","ZHONGYINDUOCELUEHUNHE"],["000573","THTLHH","天弘通利混合","混合型","TIANHONGTONGLIHUNHE"],["000574","BYXJZHH","宝盈新价值混合","混合型","BAOYINGXINJIAZHIHUNHE"],["000575","XQTLBHB","兴全添利宝货币","货币型","XINGQUANTIANLIBAOHUOBI"],["000576","ZYHBA","中邮货币A","货币型","ZHONGYOUHUOBIA"],["000577","AXJZJXGP","安信价值精选股票","股票型","ANXINJIAZHIJINGXUANGUPIAO"],["000578","XYYNDQKFZQA","鑫元一年定期开放债券A","定开债券","XINYUANYINIANDINGQIKAIFANGZHAIQUANA"],["000579","XYYNDQKFZQC","鑫元一年定期开放债券C","定开债券","XINYUANYINIANDINGQIKAIFANGZHAIQUANC"],["000580","ZYHBB","中邮货币B","货币型","ZHONGYOUHUOBIB"],["000581","JSHQBHBA","嘉实活钱包货币A","货币型","JIASHIHUOQIANBAOHUOBIA"],["000583","JXJF","江信聚福","定开债券","JIANGXINJUFU"],["000584","XHXYLHPZHH","新华鑫益灵活配置混合","混合型","XINHUAXINYILINGHUOPEIZHIHUNHE"],["000585","JSDCTLDQHH","嘉实对冲套利定期混合","混合型","JIASHIDUICHONGTAOLIDINGQIHUNHE"],["000586","JSZXBCYBJXGP","景顺中小板创业板精选股票","股票型","JINGSHUNZHONGXIAOBANCHUANGYEBANJINGXUANGUPIAO"],["000587","DCLHPZHH","大成灵活配置混合","混合型","DACHENGLINGHUOPEIZHIHUNHE"],["000588","ZSZQBHBA","招商招钱宝货币A","货币型","ZHAOSHANGZHAOQIANBAOHUOBIA"],["000589","GDBDXYFSJHH","光大保德信银发商机混合","混合型","GUANGDAYINFASHANGJIHUNHE"],["000590","HAXHLHH","华安新活力混合","混合型","HUAANXINHUOLIHUNHE"],["000591","ZYJKSHHH","中银健康生活混合","混合型","ZHONGYINJIANKANGSHENGHUOHUNHE"],["000592","JXGGHLGP","建信改革红利股票","股票型","JIANXINGAIGEHONGLIGUPIAO"],["000593","YFDBPXFPZSXH","易方达标普消费品指数现汇","QDII-指数","YIFANGDABIAOPUXIAOFEIPINZHISHUXIANHUI"],["000594","DMJQYXGP","大摩进取优选股票","股票型","DAMOJINQUYOUXUANGUPIAO"],["000595","JSTHHH","嘉实泰和混合","混合型","JIASHITAIHEHUNHE"],["000596","QHKYZZJGZSA","前海开源中证军工指数A","股票指数","QIANHAIKAIYUANZHONGZHENGJUNGONGZHISHUA"],["000597","ZHJJSYHH","中海积极收益混合","混合型","ZHONGHAIJIJISHOUYIHUNHE"],["000598","CSSTHJZTHH","长盛生态环境主题混合","混合型","CHANGSHENGSHENGTAIHUANJINGZHUTIHUNHE"],["000599","XCXJBHB","信诚薪金宝货币","货币型","XINCHENGXINJINBAOHUOBI"],["000600","HTFHJBHB","汇添富和聚宝货币","货币型","HUITIANFUHEJUBAOHUOBI"],["000601","HBCXYXHH","华宝创新优选混合","混合型","HUABAOCHUANGXINYOUXUANHUNHE"],["000602","FGSYBHB","富国收益宝货币","货币型","FUGUOSHOUYIBAOHUOBI"],["000603","YFDCXQDLHPZHH","易方达创新驱动灵活配置混合","混合型","YIFANGDACHUANGXINQUDONGLINGHUOPEIZHIHUNHE"],["000604","YHDLBHBA","银华多利宝货币A","货币型","YINHUADUOLIBAOHUOBIA"],["000605","YHDLBHBB","银华多利宝货币B","货币型","YINHUADUOLIBAOHUOBIB"],["000607","ZSZQBHBB","招商招钱宝货币B","货币型","ZHAOSHANGZHAOQIANBAOHUOBIB"],["000609","HSXLHLHPZHH","华商新量化灵活配置混合","混合型","HUASHANGXINLIANGHUALINGHUOPEIZHIHUNHE"],["000610","XHALYHBBHH","新华阿里一号保本混合","保本型","XINHUAALIYIHAOBAOBENHUNHE"],["000612","HBSTZGHH","华宝生态中国混合","混合型","HUABAOSHENGTAIZHONGGUOHUNHE"],["000613","GSABHS300ZS","国寿安保沪深300指数","股票指数","GUOSHOUANBAOHUSHEN300ZHISHU"],["000614","HADG30DAXLJ","华安德国30(DAX)联接","QDII-指数","HUAANDEGUO30(DAX)LIANJIE"],["000615","CCGZBHB","长城工资宝货币","货币型","CHANGCHENGGONGZIBAOHUOBI"],["000616","STMGYXZLZQA","上投摩根优信增利债券A","债券型","SHANGTOUMOGENYOUXINZENGLIZHAIQUANA"],["000617","STMGYXZLZQC","上投摩根优信增利债券C","债券型","SHANGTOUMOGENYOUXINZENGLIZHAIQUANC"],["000618","JSXJBHB","嘉实薪金宝货币","货币型","JIASHIXINJINBAOHUOBI"],["000619","DFHCYSJHH","东方红产业升级混合","混合型","DONGFANGHONGCHANYESHENGJIHUNHE"],["000620","YFDXJZLHBA","易方达现金增利货币A","货币型","YIFANGDAXIANJINZENGLIHUOBIA"],["000621","YFDXJZLHBB","易方达现金增利货币B","货币型","YIFANGDAXIANJINZENGLIHUOBIB"],["000622","HFHCFJZQ","华富恒财分级债券","债券型","HUAFUHENGCAIFENJIZHAIQUAN"],["000623","HFHCFJZQA","华富恒财分级债券A","固定收益","HUAFUHENGCAIFENJIZHAIQUANA"],["000624","HFHCFJZQB","华富恒财分级债券B","分级杠杆","HUAFUHENGCAIFENJIZHAIQUANB"],["000625","NATTBB","诺安天天宝B","货币型","NUOANTIANTIANBAOB"],["000626","DCFCBHBA","大成丰财宝货币A","货币型","DACHENGFENGCAIBAOHUOBIA"],["000627","DCFCBHBB","大成丰财宝货币B","货币型","DACHENGFENGCAIBAOHUOBIB"],["000628","DCGXJSCYGP","大成高新技术产业股票","股票型","DACHENGGAOXINJISHUCHANYEGUPIAO"],["000629","YXYFCZA","圆信永丰纯债A","债券型","YUANXINYONGFENGCHUNZHAIA"],["000630","YXYFCZC","圆信永丰纯债C","债券型","YUANXINYONGFENGCHUNZHAIC"],["000631","ZYJLFJZQ","中银聚利分级债券","债券型","ZHONGYINJULIFENJIZHAIQUAN"],["000632","ZYJLFJZQA","中银聚利分级债券A","固定收益","ZHONGYINJULIFENJIZHAIQUANA"],["000633","ZYJLFJZQB","中银聚利分级债券B","分级杠杆","ZHONGYINJULIFENJIZHAIQUANB"],["000634","FGTSLHPZHH","富国天盛灵活配置混合","混合型","FUGUOTIANSHENGLINGHUOPEIZHIHUNHE"],["000635","FGTSLHPZHH","富国天盛灵活配置混合(后端)","混合型","FUGUOTIANSHENGLINGHUOPEIZHIHUNHE"],["000638","FGFQBHB","富国富钱包货币","货币型","FUGUOFUQIANBAOHUOBI"],["000639","BYXRYLHH","宝盈祥瑞养老混合","混合型","BAOYINGXIANGRUIYANGLAOHUNHE"],["000640","NALCBHBA","诺安理财宝货币A","货币型","NUOANLICAIBAOHUOBIA"],["000641","RALCBHBB","诺安理财宝货币B","货币型","NUOANLICAIBAOHUOBIB"],["000642","HTFHBC","汇添富货币C","货币型","HUITIANFUHUOBIC"],["000644","ZSZJBHBA","招商招金宝货币A","货币型","ZHAOSHANGZHAOJINBAOHUOBIA"],["000645","HXXJBHB","华夏薪金宝货币","货币型","HUAXIAXINJINBAOHUOBI"],["000646","HRYDYLBJLHHH","华润元大医疗保健量化混合","混合型","HUARUNYUANDAYILIAOBAOJIANLIANGHUAHUNHE"],["000647","YFDCFKXHBA","易方达财富快线货币A","货币型","YIFANGDACAIFUKUAIXIANHUOBIA"],["000648","YFDCFKXHBB","易方达财富快线货币B","货币型","YIFANGDACAIFUKUAIXIANHUOBIB"],["000649","CCJXBBHH","长城久鑫保本混合","保本型","CHANGCHENGJIUXINBAOBENHUNHE"],["000650","HTFHBD","汇添富货币D","货币型","HUITIANFUHUOBID"],["000651","ZSZJBHBB","招商招金宝货币B","货币型","ZHAOSHANGZHAOJINBAOHUOBIB"],["000652","BSYLHH","博时裕隆混合","混合型","BOSHIYULONGHUNHE"],["000654","HSXRCYHH","华商新锐产业混合","混合型","HUASHANGXINRUICHANYEHUNHE"],["000655","XYWLZQ","鑫元稳利债券","债券型","XINYUANWENLIZHAIQUAN"],["000656","QHKYHS300ZS","前海开源沪深300指数","股票指数","QIANHAIKAIYUANHUSHEN300ZHISHU"],["000657","YHHQBHBA","银华活钱宝货币A","货币型","YINHUAHUOQIANBAOHUOBIA"],["000658","YHHQBHBB","银华活钱宝货币B","货币型","YINHUAHUOQIANBAOHUOBIB"],["000659","YHHQBHBC","银华活钱宝货币C","货币型","YINHUAHUOQIANBAOHUOBIC"],["000660","YHHQBHBD","银华活钱宝货币D","货币型","YINHUAHUOQIANBAOHUOBID"],["000661","YHHQBHBE","银华活钱宝货币E","货币型","YINHUAHUOQIANBAOHUOBIE"],["000662","YHHQBHBF","银华活钱宝货币F","货币型","YINHUAHUOQIANBAOHUOBIF"],["000663","GTRYMLZGHH","国投瑞银美丽中国混合","混合型","GUOTOURUIYINMEILIZHONGGUOHUNHE"],["000664","GLATYHHA","国联安通盈混合A","混合型","GUOLIANANTONGYINGHUNHEA"],["000665","BSXJSYHBB","博时现金收益货币B","货币型","BOSHIXIANJINSHOUYIHUOBIB"],["000667","GYJDSYHHFQA","工银绝对收益混合发起A","混合型","GONGYINJUEDUISHOUYIHUNHEFAQIA"],["000668","GSABZXZQA","国寿安保尊享债券A","债券型","GUOSHOUANBAOZUNXIANGZHAIQUANA"],["000669","GSABZXZQC","国寿安保尊享债券C","债券型","GUOSHOUANBAOZUNXIANGZHAIQUANC"],["000672","GYJDSYHHFQB","工银绝对收益混合发起B","混合型","GONGYINJUEDUISHOUYIHUNHEFAQIB"],["000674","ZHHXFJZQ","中海惠祥分级债券","债券型","ZHONGHAIHUIXIANGFENJIZHAIQUAN"],["000675","ZHHXFJZQA","中海惠祥分级债券A","固定收益","ZHONGHAIHUIXIANGFENJIZHAIQUANA"],["000676","ZHHXFJZQB","中海惠祥分级债券B","分级杠杆","ZHONGHAIHUIXIANGFENJIZHAIQUANB"],["000677","GYXJHB","工银现金货币","货币型","GONGYINXIANJINHUOBI"],["000678","HBXYXJBHBE","华宝兴业现金宝货币E","货币型","HUABAOXINGYEXIANJINBAOHUOBIE"],["000679","ZSFLLHPZHHA","招商丰利灵活配置混合A","混合型","ZHAOSHANGFENGLILINGHUOPEIZHIHUNHEA"],["000681","XDAYHGJA","信达澳银慧管家A","货币型","XINDAAOYINHUIGUANJIAA"],["000682","XDAYHGJC","信达澳银慧管家C","货币型","XINDAAOYINHUIGUANJIAC"],["000683","XDAYHGJE","信达澳银慧管家E","货币型","XINDAAOYINHUIGUANJIAE"],["000684","CSYLJKCYLHPZ","长盛养老健康产业灵活配置","混合型","CHANGSHENGYANGLAOJIANKANGCHANYELINGHUOPEIZHI"],["000685","STMGXJGLHB","上投摩根现金管理货币","货币型","SHANGTOUMOGENXIANJINGUANLIHUOBI"],["000686","JXJXBHBA","建信嘉薪宝货币A","货币型","JIANXINJIAXINBAOHUOBIA"],["000687","NFXJB","南方薪金宝","货币型","NANFANGXINJINBAO"],["000688","JSCCYJJXGP","景顺长城研究精选股票","股票型","JINGSHUNCHANGCHENGYANJIUJINGXUANGUPIAO"],["000689","QHKYXJJHH","前海开源新经济混合","混合型","QIANHAIKAIYUANXINJINGJIHUNHE"],["000690","QHKYDHYHH","前海开源大海洋混合","混合型","QIANHAIKAIYUANDAHAIYANGHUNHE"],["000692","HTFSLZQC","汇添富双利债券C","债券型","HUITIANFUSHUANGLIZHAIQUANC"],["000693","JXXJTLHBA","建信现金添利货币A","货币型","JIANXINXIANJINTIANLIHUOBIA"],["000694","XYHLZQ","鑫元鸿利债券","债券型","XINYUANHONGLIZHAIQUAN"],["000695","DCJYPWSYHH","大成景益平稳收益混合","混合型","DACHENGJINGYIPINGWENSHOUYIHUNHE"],["000696","HTFHBHYGP","汇添富环保行业股票","股票型","HUITIANFUHUANBAOHANGYEGUPIAO"],["000697","HTFYDHLGP","汇添富移动互联股票","股票型","HUITIANFUYIDONGHULIANGUPIAO"],["000698","BYKJ30HH","宝盈科技30混合","混合型","BAOYINGKEJI30HUNHE"],["000699","ZYXQBHB","中银薪钱包货币","货币型","ZHONGYINXINQIANBAOHUOBI"],["000700","TDHLHBB","泰达宏利货币B","货币型","TAIDAHONGLIHUOBIB"],["000701","JSCCJFHBA","景顺长城景丰货币A","货币型","JINGSHUNCHANGCHENGJINGFENGHUOBIA"],["000704","YFDTTZLHBA","易方达天天增利货币A","货币型","YIFANGDATIANTIANZENGLIHUOBIA"],["000705","YFDTTZLHBB","易方达天天增利货币B","货币型","YIFANGDATIANTIANZENGLIHUOBIB"],["000706","ZYDCLHH","中邮多策略混合","混合型","ZHONGYOUDUOCELUEHUNHE"],["000707","JSCCJFHBB","景顺长城景丰货币B","货币型","JINGSHUNCHANGCHENGJINGFENGHUOBIB"],["000708","HAAXHH","华安安享混合","混合型","HUAANANXIANGHUNHE"],["000709","HAHCTHB","华安汇财通货币","货币型","HUAANHUICAITONGHUOBI"],["000710","JYXJBHBA","交银现金宝货币A","货币型","JIAOYINXIANJINBAOHUOBIA"],["000711","JSYLBJGP","嘉实医疗保健股票","股票型","JIASHIYILIAOBAOJIANGUPIAO"],["000712","STMGTTBHBA","上投摩根天添宝货币A","货币型","SHANGTOUMOGENTIANTIANBAOHUOBIA"],["000713","STMGTTBHBB","上投摩根天添宝货币B","货币型","SHANGTOUMOGENTIANTIANBAOHUOBIB"],["000714","RAWJHBLHPZHH","诺安稳健回报灵活配置混合","混合型","NUOANWENJIANHUIBAOLINGHUOPEIZHIHUNHE"],["000715","MSJYJYLCYDE","民生加银家盈理财月度E","理财型","MINSHENGJIAYINJIAYINGLICAIYUEDUE"],["000716","GYXXJHBB","工银薪金货币B","货币型","GONGYINXINJINHUOBIB"],["000717","RTZXSDLLHPZHH","融通转型三动力灵活配置混合","混合型","RONGTONGZHUANXINGSANDONGLILINGHUOPEIZHIHUNHE"],["000718","RTZXSDLLHPZHH","融通转型三动力灵活配置混合(后端)","混合型","RONGTONGZHUANXINGSANDONGLILINGHUOPEIZHIHUNHE"],["000719","NFXJTE","南方现金通E","货币型","NANFANGXIANJINTONGE"],["000720","NFWL1NDKZQC","南方稳利1年定开债券C","定开债券","NANFANGWENLI1NIANDINGKAIZHAIQUANC"],["000721","XYHBA","兴业货币A","货币型","XINGYEHUOBIA"],["000722","XYHBB","兴业货币B","货币型","XINGYEHUOBIB"],["000723","JXWDTLZQC","建信稳定添利债券C","债券型","JIANXINWENDINGTIANLIZHAIQUANC"],["000724","DCTLBHBA","大成添利宝货币A","货币型","DACHENGTIANLIBAOHUOBIA"],["000725","DCTLBHBB","大成添利宝货币B","货币型","DACHENGTIANLIBAOHUOBIB"],["000726","DCTLBHBE","大成添利宝货币E","货币型","DACHENGTIANLIBAOHUOBIE"],["000727","RTJKCYLHPZHH","融通健康产业灵活配置混合","混合型","RONGTONGJIANKANGCHANYELINGHUOPEIZHIHUNHE"],["000728","GYMBSYYNDKZQ","工银目标收益一年定开债券","定开债券","GONGYINMUBIAOSHOUYIYINIANDINGKAIZHAI"],["000729","JXZXPXFGP","建信中小盘先锋股票","股票型","JIANXINZHONGXIAOPANXIANFENGGUPIAO"],["000730","BSXJBHBA","博时现金宝货币A","货币型","BOSHIXIANJINBAOHUOBIA"],["000731","RTJKCYLHPZHH","融通健康产业灵活配置混合(后端)","混合型","RONGTONGJIANKANGCHANYELINGHUOPEIZHIHUNHE"],["000734","BSTTZLHBA","博时天天增利货币A","货币型","BOSHITIANTIANZENGLIHUOBIA"],["000735","BSTTZLHBB","博时天天增利货币B","货币型","BOSHITIANTIANZENGLIHUOBIB"],["000736","NAJLZQA","诺安聚利债券A","债券型","NUOANJULIZHAIQUANA"],["000737","NAJLZQC","诺安聚利债券C","债券型","NUOANJULIZHAIQUANC"],["000738","ZXJTHB","中信建投货币","货币型","ZHONGXINJIANTOUHUOBI"],["000739","PADHXXXFA","平安大华新鑫先锋A","混合型","PINGANDAHUAXINXINXIANFENGA"],["000740","HFHBB","华福货币B","货币型","HUAFUHUOBIB"],["000741","HFHBA","华福货币A","货币型","HUAFUHUOBIA"],["000742","GTXJJLHPZHH","国泰新经济灵活配置混合","混合型","GUOTAIXINJINGJILINGHUOPEIZHIHUNHE"],["000743","HTHTSSPYHHFQS","红塔红土盛世普益混合发起式","混合型","HONGTAHONGTUSHENGSHIPUYIHUNHEFAQISHI"],["000744","BXRFWDSYA","北信瑞丰稳定收益A","债券型","BEIXINRUIFENGWENDINGSHOUYIA"],["000745","BXRFWDSYC","北信瑞丰稳定收益C","债券型","BEIXINRUIFENGWENDINGSHOUYIC"],["000746","ZSHYJXGP","招商行业精选股票","股票型","QIAOSHANGHANGYEJINGXUANGUPIAO"],["000747","GFNXCLHH","广发逆向策略混合","混合型","GUANGFANIXIANGCELUEHUNHE"],["000748","GFHQBHBA","广发活期宝货币A","货币型","GUANGFAHUOQIBAOHUOBIA"],["000749","GJXABB","国金鑫安保本","保本型","GUOJINXINANBAOBEN"],["000750","AXXJZL","安信现金增利","货币型","ANXINXIANJINZENGLI"],["000751","JSXXCYGP","嘉实新兴产业股票","股票型","JIASHIXINXINGCHANYEGUPIAO"],["000752","BSYSSYXYZQ","博时优势收益信用债券","债券型","BOSHIYOUSHISHOUYIXINYONGZHAIQUAN"],["000753","HBXYLHDCHHA","华宝兴业量化对冲混合A","混合型","HUABAOXINGYELIANGHUADUICHONGHUNHEA"],["000754","HBXYLHDCHHC","华宝兴业量化对冲混合C","混合型","HUABAOXINGYELIANGHUADUICHONGHUNHEC"],["000755","FADXXCZHH","富安达新兴成长混合","混合型","FUANDAXINXINGCHENGZHANGHUNHE"],["000756","JXQLXLCGP","建信潜力新蓝筹股票","股票型","JIANXINQIANLIXINLANCHOUGUPIAO"],["000757","HFZHCSLHPZHH","华富智慧城市灵活配置混合","混合型","HUAFUZHIHUICHENGSHILINGHUOPEIZHIHUNHE"],["000758","ZSZQBHBC","招商招钱宝货币C","货币型","ZHAOSHANGZHAOQIANBAOHUOBIC"],["000759","PADHCFBHB","平安大华财富宝货币","货币型","PINGANDAHUACAIFUBAOHUOBI"],["000760","GYCFHBA","工银财富货币A","货币型","GONGYINCAIFUHUOBIA"],["000761","GFJKYZSHGP","国富健康优质生活股票","股票型","GUOFUJIANKANGYOUZHISHENGHUOGUPIAO"],["000762","HTFJDSYDKHH","汇添富绝对收益定开混合","混合型","HUITIANFUJUEDUISHOUYIDINGKAIHUNHE"],["000763","GYXCFLHPZHH","工银新财富灵活配置混合","混合型","GONGYINXINCAIFULINGHUOPEIZHIHUNHE"],["000764","WJHBE","万家货币E","货币型","WANJIAHUOBIE"],["000765","STSSYDKZQB","上投岁岁盈定开债券B","定开债券","SHANGTOUSUISUIYINGDINGKAIZHAIQUANB"],["000766","STSSYDKZQD","上投岁岁盈定开债券D","定开债券","SHANGTOUSUISUIYINGDINGKAIZHAIQUAND"],["000767","HFGTMALHPZHH","华富国泰民安灵活配置混合","混合型","HUAFUGUOTAIMINANLINGHUOPEIZHIHUNHE"],["000768","CCJYCZFJZQ","长城久盈纯债分级债券","债券型","CHANGCHENGJIUYINGCHUNZHAIFENJIZHAIQUAN"],["000769","CCJYCZFJZQA","长城久盈纯债分级债券A","固定收益","CHANGCHENGJIUYINGCHUNZHAIFENJIZHAIQUANA"],["000770","CCJYCZFJZQB","长城久盈纯债分级债券B","分级杠杆","CHANGCHENGJIUYINGCHUNZHAIFENJIZHAIQUANB"],["000771","NAJXBHBA","诺安聚鑫宝货币A","货币型","NUOANJUXINBAOHUOBIA"],["000772","JSCCZGHBLLPZ","景顺长城中国回报灵活配置","混合型","JINGSHUNCHANGCHENGZHONGGUOHUIBAOLINGHUOPEIZHI"],["000773","WJXJB","万家现金宝","货币型","WANJIAXIANJINBAO"],["000774","THRLFJZQ","天弘瑞利分级债券","债券型","TIANHONGRUILIFENJIZHAIQUAN"],["000775","THRLFJZQA","天弘瑞利分级债券A","固定收益","TIANHONGRUILIFENJIZHAIQUANA"],["000776","THRLFJZQB","天弘瑞利分级债券B","分级杠杆","TIANHONGRUILIFENJIZHAIQUANB"],["000778","PHXJZZGP","鹏华先进制造股票","股票型","PENGHUAXIANJINZHIZAOGUPIAO"],["000779","NAJXBHBB","诺安聚鑫宝货币B","货币型","NUOANJUXINBAOHUOBIB"],["000780","PHYLBJGP","鹏华医疗保健股票","股票型","PENGHUAYILIAOBAOJIANGUPIAO"],["000781","GTSZLYNDKZQA","国投岁增利一年定开债券A","定开债券","GUOTOUSUIZENGLIYINIANDINGKAIZHAIQUANA"],["000782","GTSZLYNDKZQC","国投岁增利一年定开债券C","定开债券","GUOTOUSUIZENGLIYINIANDINGKAIZHAIQUANC"],["000783","BSYYYDQLCZQA","博时月月盈短期理财债券A","理财型","BOSHIYUEYUEYINGDUANQILICAIZHAIQUANA"],["000784","BSYYYDQLCZQR","博时月月盈短期理财债券R","理财型","BOSHIYUEYUEYINGDUANQILICAIZHAIQUANR"],["000785","HRXJZLHBA","华融现金增利货币A","货币型","HUARONGXIANJINZENGLIHUOBIA"],["000786","HRXJZLHBB","华融现金增利货币B","货币型","HUARONGXIANJINZENGLIHUOBIB"],["000787","HRXJZLHBC","华融现金增利货币C","货币型","HUARONGXIANJINZENGLIHUOBIC"],["000788","QHKYZGCZHH","前海开源中国成长混合","混合型","QIANHAIKAIYUANZHONGGUOCHENGZHANGHUNHE"],["000789","YFDLBHBA","易方达龙宝货币A","货币型","YIFANGDALONGBAOHUOBIA"],["000790","YFDLBHBB","易方达龙宝货币B","货币型","YIFANGDALONGBAOHUOBIB"],["000791","YHSYDQLCZQ","银华双月定期理财债券","理财型","YINHUASHUANGYUEDINGQILICAIZHAIQUAN"],["000793","GYGDZZGP","工银高端制造股票","股票型","GONGYINGAODUANZHIZAOGUPIAO"],["000794","BYRFCXHHA","宝盈睿丰创新混合A","混合型","BAOYINGRUIFENGCHUANGXINHUNHEA"],["000795","BYRFCXHHA","宝盈睿丰创新混合A(后端)","混合型","BAOYINGRUIFENGCHUANGXINHUNHEA"],["000796","BYRFCXHHC","宝盈睿丰创新混合C","混合型","BAOYINGRUIFENGCHUANGXINHUNHEC"],["000797","FZFBZXBHB","方正富邦金小宝货币","货币型","FANGZHENGFUBANGJINXIAOBAOHUOBI"],["000800","HSWLZTHH","华商未来主题混合","混合型","HUASHANGWEILAIZHUTIHUNHE"],["000801","ZJCZA","中金纯债A","债券型","ZHONGJINCHUNZHAIA"],["000802","ZJCZC","中金纯债C","债券型","ZHONGJINCHUNZHAIC"],["000803","GYYJJXGP","工银研究精选股票","股票型","GONGYINYANJIUJINGXUANGUPIAO"],["000804","ZXJTWLBB","中信建投稳利保本","保本型","ZHONGXINJIANTOUWENLIBAOBEN"],["000805","ZYXJJLHPZHH","中银新经济灵活配置混合","混合型","ZHONGYINXINJINGJILINGHUOPEIZHIHUNHE"],["000808","ZSZL1GYQLCZQA","招商招利1个月期理财债券A","理财型","ZHAOSHANGZHAOLI1GEYUEQILICAIZHAIQUANA"],["000809","ZSZL1GYQLCZQB","招商招利1个月期理财债券B","理财型","ZHAOSHANGZHAOLI1GEYUEQILICAIZHAIQUANB"],["000810","FGSYZQZQA","富国收益增强债券A","债券型","FUGUOSHOUYIZENGQIANGZHAIQUANA"],["000812","FGSYZQZQC","富国收益增强债券C","债券型","FUGUOSHOUYIZENGQIANGZHAIQUANC"],["000813","XYHXFJZQ","鑫元合享分级债券","债券型","XINYUANHEXIANGFENJIZHAIQUAN"],["000814","XYHXFJZQA","鑫元合享分级债券A","固定收益","XINYUANHEXIANGFENJIZHAIQUANA"],["000815","XYHXFJZQB","鑫元合享分级债券B","分级杠杆","XINYUANHEXIANGFENJIZHAIQUANB"],["000816","NFLCJJYXHBA","南方理财金交易型货币A","货币型","NANFANGLICAIJINJIAOYIXINGHUOBIA"],["000817","ZYAXHB","中银安心回报","定开债券","ZHONGYINANXINHUIBAO"],["000818","NATTBC","诺安天天宝C","货币型","NUOANTIANTIANBAOC"],["000822","DHMLZGLHPZ","东海美丽中国灵活配置","混合型","DONGHAIMEILIZHONGGUOLINGHUOPEIZHI"],["000823","YHGDZZY","银华高端制造业","混合型","YINHUAGAODUANZHIZAOYE"],["000824","YXYFSHLA","圆信永丰双红利A","混合型","YUANXINYONGFENGSHUANGHONGLIA"],["000825","YXYFSHLC","圆信永丰双红利C","混合型","YUANXINYONGFENGSHUANGHONGLIC"],["000826","GFBF100ZSA","广发百发100指数A","股票指数","GUANGFABAIFA100ZHISHUA"],["000827","GFBF100ZSE","广发百发100指数E","股票指数","GUANGFABAIFA100ZHISHUE"],["000828","TDZXJY","泰达转型机遇","股票型","TAIDAZHUANXINGJIYU"],["000829","YFDTTFHBA","易方达天天发货币A","货币型","YIFANGDATIANTIANFAHUOBIA"],["000830","YFDTTFHBB","易方达天天发货币B","货币型","YIFANGDATIANTIANFAHUOBIB"],["000831","GYYLBJ","工银医疗保健","股票型","GONGYINYILIAOBAOJIAN"],["000832","THXJGJHBC","天弘现金管家货币C","货币型","TIANHONGXIANJINGUANJIAHUOBIC"],["000834","DCNSDK100ZS","大成纳斯达克100指数","QDII-指数","DACHENGNASIDAKE100ZHISHU"],["000835","HRYDFSZGA50ZS","华润元大富时中国A50指数","股票指数","HUARUNYUANDAFUSHIZHONGGUOA50ZHISHU"],["000836","GTRYQDBHBA","国投瑞银钱多宝货币A","货币型","GUOTOURUIYINQIANDUOBAOHUOBIA"],["000837","GTRYQDBHBI","国投瑞银钱多宝货币I","货币型","GUOTOURUIYINQIANDUOBAOHUOBII"],["000839","STMGCZFLZQA","上投摩根纯债丰利债券A","债券型","SHANGTOUMOGENCHUNZHAIFENGLIZHAIQUANA"],["000840","STMGCZFLZQC","上投摩根纯债丰利债券C","债券型","SHANGTOUMOGENCHUNZHAIFENGLIZHAIQUANC"],["000841","FGXHBLHPZA","富国新回报灵活配置A","混合型","FUGUOXINHUIBAOLINGHUOPEIZHIA"],["000842","FGXHBLHPZA","富国新回报灵活配置A(后端)","混合型","FUGUOXINHUIBAOLINGHUOPEIZHIA"],["000843","FGXHBLHPZC","富国新回报灵活配置C","混合型","FUGUOXINHUIBAOLINGHUOPEIZHIC"],["000844","NFJDSY","南方绝对收益","混合型","NANFANGJUEDUISHOUYI"],["000845","GTRYXXXFHH","国投瑞银信息消费混合","混合型","GUOTOURUIYINXINXIXIAOFEIHUNHE"],["000846","ZRHBC","中融货币C","货币型","ZHONGRONGHUOBIC"],["000847","ZRHBA","中融货币A","货币型","ZHONGRONGHUOBIA"],["000848","GYTYKXHB","工银添益快线货币","货币型","GONGYINTIANYIKUAIXIANHUOBI"],["000849","HFJXSHCLA","汇丰晋信双核策略A","混合型","HUIFENGJINXINSHUANGHECELUEA"],["000850","HFJXSHCLC","汇丰晋信双核策略C","混合型","HUIFENGJINXINSHUANGHECELUEC"],["000854","PHYLCY","鹏华养老产业","股票型","PENGHUAYANGLAOCHANYE"],["000855","STMGTTYHBA","上投摩根天添盈货币A","货币型","SHANGTOUMOGENTIANTIANYINGHUOBIA"],["000856","STMGTTYHBB","上投摩根天添盈货币B","货币型","SHANGTOUMOGENTIANTIANYINGHUOBIB"],["000857","STMGTTYHBE","上投摩根天添盈货币E","货币型","SHANGTOUMOGENTIANTIANYINGHUOBIE"],["000858","RTTRZQAB","融通通瑞债券A/B(后端)","债券型","RONGTONGTONGRUIZHAIQUANAB"],["000859","RTTRZQC","融通通瑞债券C","债券型","RONGTONGTONGRUIZHAIQUANC"],["000860","YHHZLHB","银华惠增利货币","货币型","YINHUAHUIZENGLIHUOBI"],["000861","CCHBE","长城货币E","货币型","CHANGCHENGHUOBIE"],["000862","FGTSHBC","富国天时货币C","货币型","FUGUOTIANSHIHUOBIC"],["000863","FGTSHBD","富国天时货币D","货币型","FUGUOTIANSHIHUOBID"],["000865","DCJLHH","大成景利混合","混合型","DACHENGJINGLIHUNHE"],["000866","HBXYZZ","华宝兴业制造","股票型","HUABAOXINGYEZHIZAO"],["000867","HBPZSHGP","华宝品质生活股票","股票型","HUABAOPINZHISHENGHUOGUPIAO"],["000868","GTRYZLBHBA","国投瑞银增利宝货币A","货币型","GUOTOURUIYINZENGLIBAOHUOBIA"],["000869","GTRYZLBHBB","国投瑞银增利宝货币B","货币型","GUOTOURUIYINZENGLIBAOHUOBIB"],["000870","JSXSYHH","嘉实新收益混合","混合型","JIASHIXINSHOUYIHUNHE"],["000871","BXRFYTBA","北信瑞丰宜投宝A","货币型","BEIXINRUIFENGYITOUBAOA"],["000872","BXRFYTBB","北信瑞丰宜投宝B","货币型","BEIXINRUIFENGYITOUBAOB"],["000873","HAXJBHBA","华安现金宝货币A","货币型","HUAANXIANJINBAOHUOBIA"],["000874","HAXJBHBB","华安现金宝货币B","货币型","HUAANXIANJINBAOHUOBIB"],["000875","JXWDDLZQA","建信稳定得利债券A","债券型","JIANXINWENDINGDELIZHAIQUANA"],["000876","JXWDDLZQC","建信稳定得利债券C","债券型","JIANXINWENDINGDELIZHAIQUANC"],["000877","HTBRLHYXHH","华泰柏瑞量化优选混合","混合型","HUATAIBAIRUILIANGHUAYOUXUANHUNHE"],["000878","ZHYYJKCYHHA","中海医药健康产业混合A","混合型","ZHONGHAIYIYAOJIANKANGCHANYEHUNHEA"],["000879","ZHYYJKCYHHC","中海医药健康产业混合C","混合型","ZHONGHAIYIYAOJIANKANGCHANYEHUNHEC"],["000880","FGYJJXLHPZ","富国研究精选灵活配置","混合型","FUGUOYANJIUJINGXUANLINGHUOPEIZHI"],["000882","ZJXJGJA","中金现金管家A","货币型","ZHONGJINXIANJINGUANJIAA"],["000883","ZJXJGJB","中金现金管家B","货币型","ZHONGJINXIANJINGUANJIAB"],["000884","MSJYYX","民生加银优选","股票型","MINSHENGJIAYINYOUXUAN"],["000885","GFQQNYZSMYXH","广发全球农业指数美元现汇","QDII-指数","GUANGFAQUANQIUNONGYEZHISHUMEIYUANXIANHUI"],["000886","BXRFWXHLZTLHPZ","北信瑞丰无限互联主题灵活配置","混合型","BEIXINRUIFENGWUXIANHULIANZHUTILINGHUOPEIZHI"],["000887","STMGWJHBHH","上投摩根稳进回报混合","混合型","SHANGTOUMOGENWENJINHUIBAOHUNHE"],["000889","STMGCZTLZQA","上投摩根纯债添利债券A","债券型","SHANGTOUMOGENCHUNZHAITIANLIZHAIQUANA"],["000890","STMGCZTLZQC","上投摩根纯债添利债券C ","债券型","SHANGTOUMOGENCHUNZHAITIANLIZHAIQUANC"],["000891","BSXJBHBB","博时现金宝货币B","货币型","BOSHIXIANJINBAOHUOBIB"],["000892","JTTBLHPZHHA","九泰天宝灵活配置混合A","混合型","JIUTAITIANBAOLINGHUOPEIZHIHUNHEA"],["000893","GYCXDL","工银创新动力","股票型","GONGYINCHUANGXINDONGLI"],["000894","ZORDDQKF","中欧睿达定期开放","混合型","ZHONGOURUIDADINGQIKAIFANG"],["000895","GSABXJBHB","国寿安保薪金宝货币","货币型","GUOSHOUANBAOXINJINBAOHUOBI"],["000896","XYBNDQKFZQA","鑫元半年定期开放债券A","定开债券","XINYUANBANNIANDINGQIKAIFANGZHAIQUANA"],["000897","XYBNDQKFZQC","鑫元半年定期开放债券C","定开债券","XINYUANBANNIANDINGQIKAIFANGZHAIQUANC"],["000898","HFHWCZZQA","华富恒稳纯债债券A","债券型","HUAFUHENGWENCHUNZHAIZHAIQUANA"],["000899","HFHWCZZQC","华富恒稳纯债债券C ","债券型","HUAFUHENGWENCHUNZHAIZHAIQUANC"],["000900","XHAXYHBBHH","新华阿鑫一号保本","保本型","XINHUAAXINYIHAOBAOBEN"],["000901","GKHBA","国开货币A","货币型","GUOKAIHUOBIA"],["000902","GKHBB","国开货币B","货币型","GUOKAIHUOBIB"],["000903","XHHQTLHBA","新华活期添利货币A","货币型","XINHUAHUOQITIANLIHUOBIA"],["000904","YHHBLHPZDQKFHH","银华回报灵活配置定期开放混合","混合型","YINHUAHUIBAOLINGHUOPEIZHIDINGQIKAIFANGHUNHE"],["000905","PHAYBHB","鹏华安盈宝货币","货币型","PENGHUAANYINGBAOHUOBI"],["000906","GFQQJXGPMYXH","广发全球精选股票美元现汇","QDII","GUANGFAQUANQIUJINGXUANGUPIAOMEIYUANXIANHUI"],["000907","NYHLHLRJHBA","农银汇理红利日结货币A","货币型","NONGYINHUILIHONGLIRIJIEHUOBIA"],["000908","NYHLHLRJBBB","农银汇理红利日结货币B","货币型","NONGYINHUILIHONGLIRIJIEHUOBIB"],["000910","XYHFCZC","鑫元合丰纯债C","债券型","XINYUANHEFENGCHUNZHAIC"],["000911","XYHFCZA","鑫元合丰纯债A","债券型","XINYUANHEFENGCHUNZHAIA"],["000912","YDXJBHB","英大现金宝货币","货币型","YINGDAXIANJINBAOHUOBI"],["000913","NYYLBJGP","农银医疗保健股票","股票型","NONGYINYILIAOBAOJIANGUPIAO"],["000914","ZJCZZQ","中加纯债债券","固定收益","ZHONGJIACHUNZHAIZHAIQUAN"],["000916","QHKYGXL100QGP","前海开源股息率100强股票","股票型","QIANHAIKAIYUANGUXILV100QIANGGUPIAO"],["000917","JSKXHBA","嘉实快线货币A","货币型","JIASHIKUAIXIANHUOBIA"],["000918","JSKXHBB","嘉实快线货币B","货币型","JIASHIKUAIXIANHUOBIB"],["000919","JSKXHBC","嘉实快线货币C","货币型","JIASHIKUAIXIANHUOBIC"],["000920","YFDCFKXHBY","易方达财富快线货币Y ","货币型","YIFANGDACAIFUKUAIXIANHUOBIY"],["000921","ZYXJYZA","中邮现金驿站A","货币型","ZHONGYOUXIANJINYIZHANA"],["000922","ZYXJYZB","中邮现金驿站B","货币型","ZHONGYOUXIANJINYIZHANB"],["000923","ZYXJYZC","中邮现金驿站C","货币型","ZHONGYOUXIANJINYIZHANC"],["000924","BYXJZZHH","宝盈先进制造混合","混合型","BAOYINGXIANJINZHIZAOHUNHE"],["000925","HTFWYZZZT","汇添富外延增长主题","股票型","HUITIANFUWAIYANZENGZHANGZHUTI"],["000926","ZXJTRX","中信建投睿信","混合型","ZHONGXINJIANTOURUIXIN"],["000927","BSDZHYTJXMYXH","博时大中华亚太精选美元现汇","QDII","BOSHIDAZHONGHUAYATAIJINGXUANMEIYUANXIANHUI"],["000928","ZRGQGGHH","中融国企改革混合","混合型","ZHONGRONGGUOQIGAIGEHUNHE"],["000929","BSHJETFD","博时黄金ETFD","混合型","BOSHIHUANGJINETFD"],["000930","BSHJETFI","博时黄金ETFI","混合型","BOSHIHUANGJINETFI"],["000931","GSABZYXYCZYN","国寿安保尊益信用纯债一年","定开债券","GUOSHOUANBAOZUNYIXINYONGCHUNZHAIYINIAN"],["000932","QHKYRYWJZLHHA","前海开源睿远稳健增利混合A","混合型","QIANHAIKAIYUANRUIYUANWENJIANZENGLIHUNHEA"],["000933","QHKYRYWJZLHHC","前海开源睿远稳健增利混合C","混合型","QIANHAIKAIYUANRUIYUANWENJIANZENGLIHUNHEC"],["000934","GFDZHJXHH","国富大中华精选混合","QDII","GUOFUDAZHONGHUAJINGXUANHUNHE"],["000935","HJZXCZ","汇金转型成长","混合型","HUIJINZHUANXINGCHENGZHANG"],["000936","BSCYXDLHH","博时产业新动力混合","混合型","BOSHICHANYEXINDONGLIHUNHE"],["000937","HSWGTLZQA","华商稳固添利债券A","债券型","HUASHANGWENGUTIANLIZHAIQUANA"],["000938","HSWGTLZQC","华商稳固添利债券C","债券型","HUASHANGWENGUTIANLIZHAIQUANC"],["000939","ZYYJJXLHPZHH","中银研究精选灵活配置混合","混合型","ZHONGYINYANJIUJINGXUANLINGHUOPEIZHIHUNHE"],["000940","FGZXPJXHH","富国中小盘精选混合","混合型","FUGUOZHONGXIAOPANJINGXUANHUNHE"],["000942","GFXXJSLJA","广发信息技术联接A","联接基金","GUANGFAXINXIJISHULIANJIEA"],["000943","GYZGDJXYZZQA","工银中高等级信用债债券A","债券型","GONGYINZHONGGAODENGJIXINYONGZHAIZHAIQUANA"],["000944","GYZGDJXYZZQB","工银中高等级信用债债券B","债券型","GONGYINZHONGGAODENGJIXINYONGZHAIZHAIQUANB"],["000945","HXYLJKHHA","华夏医疗健康混合A","混合型","HUAXIAYILIAOJIANKANGHUNHEA"],["000946","HXYLJKHHC","华夏医疗健康混合C","混合型","HUAXIAYILIAOJIANKANGHUNHEC"],["000947","DBCZZQA","德邦纯债债券A","债券型","DEBANGCHUNZHAIZHAIQUANA"],["000948","HXHGTHSETFLJ","华夏沪港通恒生ETF联接","QDII-指数","HUAXIAHUGANGTONGHENGSHENGETFLIANJIE"],["000950","YFDHS300FYETFLJ","易方达沪深300非银ETF联接","联接基金","YIFANGDAHUSHEN300FEIYINETFLIANJIE"],["000951","ZYLC90TZQA","中银理财90天债券A","理财型","ZHONGYINLICAI90TIANZHAIQUANA"],["000952","ZYLC90TZQB","中银理财90天债券B","理财型","ZHONGYINLICAI90TIANZHAIQUANB"],["000953","GTRJLHPZHHA","国泰睿吉灵活配置混合A","混合型","GUOTAIRUIJILINGHUOPEIZHIHUNHEA"],["000954","GTRJLHPZHHC","国泰睿吉灵活配置混合C","混合型","GUOTAIRUIJILINGHUOPEIZHIHUNHEC"],["000955","NFCYHL","南方产业活力","股票型","NANFANGCHANYEHUOLI"],["000958","DWDYA","东吴鼎元A","债券型","DONGWUDINGYUANA"],["000959","DWDYC","东吴鼎元C","债券型","DONGWUDINGYUANC"],["000960","ZSYYJKCYGP","招商医药健康产业股票","股票型","ZHAOSHANGYIYAOJIANKANGCHANYEGUPIAO"],["000961","THHS300ZS","天弘沪深300指数","股票指数","TIANHONGHUSHEN300ZHISHU"],["000962","THZZ500ZS","天弘中证500指数","股票指数","TIANHONGZHONGZHENG500ZHISHU"],["000963","XYDCLHH","兴业多策略混合","混合型","XINGYEDUOCELUEHUNHE"],["000965","HFJXXDLHH","汇丰晋信新动力混合","混合型","HUIFENGJINXINXINDONGLIHUNHE"],["000966","ZYHXKJCXLHPZHH","中邮核心科技创新灵活配置混合","混合型","ZHONGYOUHEXINKEJICHUANGXINLINGHUOPEIZHIHUNHE"],["000967","HTBRCXDLHH","华泰柏瑞创新动力混合","混合型","HUATAIBAIRUICHUANGXINDONGLIHUNHE"],["000968","GFYLZSA","广发养老指数A","股票指数","GUANGFAYANGLAOZHISHUA"],["000969","QHKYDAQHH","前海开源大安全混合","混合型","QIANHAIKAIYUANDAANQUANHUNHE"],["000970","DFHRYHH","东方红睿元混合","混合型","DONGFANGHONGRUIYUANHUNHE"],["000971","NAXJJGP","诺安新经济股票","股票型","NUOANXINJINGJIGUPIAO"],["000972","XHWYCLLHPZHH","新华万银策略灵活配置混合","混合型","XINHUAWANYINCELUELINGHUOPEIZHIHUNHE"],["000973","XHZYHBZQ","新华增盈回报债券","债券型","XINHUAZENGYINGHUIBAOZHAIQUAN"],["000974","AXXFYYGP","安信消费医药股票","股票型","ANXINXIAOFEIYIYAOGUPIAO"],["000975","MSCIZGAGETFLJ","MSCI中国A股ETF联接","联接基金","MSCIZHONGGUOAGUETFLIANJIE"],["000976","CCXXCYHH","长城新兴产业混合","混合型","CHANGCHENGXINXINGCHANYEHUNHE"],["000977","CCHBZTHH","长城环保主题混合","混合型","CHANGCHENGHUANBAOZHUTIHUNHE"],["000978","JSCCLHJXGP","景顺长城量化精选股票","股票型","JINGSHUNCHANGCHENGLIANGHUAJINGXUANGUPIAO"],["000979","JSCCHGSJXGP","景顺长城沪港深精选股票","股票型","JINGSHUNCHANGCHENGHUGANGSHENJINGXUANGUPIAO"],["000980","HTFTFTHBB","汇添富添富通货币B","货币型","HUITIANFUTIANFUTONGHUOBIB"],["000981","BXRFXJTLA","北信瑞丰现金添利A","货币型","BEIXINRUIFENGXIANJINTIANLIA"],["000982","BXRFXJTLB","北信瑞丰现金添利B","货币型","BEIXINRUIFENGXIANJINTIANLIB"],["000984","MSJYXSYZQA","民生加银新收益债券A","债券型","MINSHENGJIAYINXINSHOUYIZHAIQUANA"],["000985","JSNXCLGP","嘉实逆向策略股票","股票型","JIASHINIXIANGCELUEGUPIAO"],["000986","TPLHPZ","太平灵活配置","混合型","TAIPINGLINGHUOPEIZHI"],["000987","MSJYXSYZQC","民生加银新收益债券C","债券型","MINSHENGJIAYINXINSHOUYIZHAIQUANC"],["000988","JSQQHLWGPRMB","嘉实全球互联网股票人民币","QDII","JIASHIQUANQIUHULIANWANGGUPIAORENMINBI"],["000989","JSQQHLWGPMYXH","嘉实全球互联网股票美元现汇","QDII","JIASHIQUANQIUHULIANWANGGUPIAOMEIYUANXIANHUI"],["000990","JSQQHLWGPMYXC","嘉实全球互联网股票美元现钞","QDII","JIASHIQUANQIUHULIANWANGGUPIAOMEIYUANXIANCHAO"],["000991","GYZLZXGP","工银战略转型股票","股票型","GONGYINZHANLUEZHUANXINGGUPIAO"],["000992","GFDCTLDQKFHH","广发对冲套利定期开放混合","混合型","GUANGFADUICHONGTAOLIDINGQIKAIFANGHUNHE"],["000993","HBWJHBHH","华宝稳健回报混合","混合型","HUABAOWENJIANHUIBAOHUNHE"],["000994","JXRYLHPZHHA","建信睿盈灵活配置混合A","混合型","JIANXINRUIYINGLINGHUOPEIZHIHUNHEA"],["000995","JXRYLHPZHHC","建信睿盈灵活配置混合C","混合型","JIANXINRUIYINGLINGHUOPEIZHIHUNHEC"],["000996","ZYXDLGP","中银新动力股票","股票型","ZHONGYINXINDONGLIGUPIAO"],["000997","NFSYA","南方双元A","债券型","NANFANGSHUANGYUANA"],["000998","NFSYC","南方双元C","债券型","NANFANGSHUANGYUANC"],["001000","ZOMRXQDHH","中欧明睿新起点混合","混合型","ZHONGOUMINGRUIXINQIDIANHUNHE"],["001001","HXZQA/B","华夏债券A/B","债券型","HUAXIAZHAIQUANAB"],["001002","HXZQA/B","华夏债券A/B(后端)","债券型","HUAXIAZHAIQUANAB"],["001003","HXZQC","华夏债券C","债券型","HUAXIAZHAIQUANC"],["001004","XHWJHBHHFQS","新华稳健回报混合发起式","混合型","XINHUAWENJIANHUIBAOHUNHEFAQISHI"],["001005","ZHHXHH","中海合鑫混合","混合型","ZHONGHAIHEXINHUNHE"],["001006","ZXJTFHHB","中信建投凤凰货币","货币型","ZHONGXINJIANTOUFENGHUANGHUOBI"],["001007","GLAXALHPZHH","国联安鑫安灵活配置混合","混合型","GUOLIANANXINANLINGHUOPEIZHIHUNHE"],["001008","GYGQGGGP","工银国企改革股票","股票型","GONGYINGUOQIGAIGEGUPIAO"],["001009","STMGAQZLGP","上投摩根安全战略股票","股票型","SHANGTOUMOGENANQUANZHANLUEGUPIAO"],["001010","YFDZJBHB","易方达增金宝货币","货币型","YIFANGDAZENGJINBAOHUOBI"],["001011","HXXWZQA","华夏希望债券A","债券型","HUAXIAXIWANGZHAIQUANA"],["001013","HXXWZQC","华夏希望债券C","债券型","HUAXIAXIWANGZHAIQUANC"],["001014","ZRRAHH","中融融安混合","混合型","ZHONGRONGRONGANHUNHE"],["001015","HXHS300ZSZQA","华夏沪深300指数增强A","股票指数","HUAXIAHUSHEN300ZHISHUZENGQIANGA"],["001016","HXHS300ZSZQC","华夏沪深300指数增强C","股票指数","HUAXIAHUSHEN300ZHISHUZENGQIANGC"],["001017","TDGGDLHHA","泰达改革动力混合A","混合型","TAIDAGAIGEDONGLIHUNHEA"],["001018","YFDXJJHH","易方达新经济混合","混合型","YIFANGDAXINJINGJIHUNHE"],["001019","XYNNLDKZ","兴业年年利定开债","定开债券","XINGYENIANNIANLIDINGKAIZHAI"],["001020","NAYXSYDKZ","诺安裕鑫收益定开债","定开债券","NUOANYUXINSHOUYIDINGKAIZHAI"],["001021","HXYZZGZSA","华夏亚债中国指数A","债券指数","HUAXIAYAZHAIZHONGGUOZHISHUA"],["001023","HXYZZGZSC","华夏亚债中国指数C","债券指数","HUAXIAYAZHAIZHONGGUOZHISHUC"],["001024","RTTZLHPZHH","融通通泽灵活配置混合(后端)","混合型","RONGTONGTONGZELINGHUOPEIZHIHUNHE"],["001026","NALCBHBC","诺安理财宝货币C","货币型","NUOANLICAIBAOHUOBIC"],["001027","QHKYZZDNYZSZQ","前海开源中证大农业指数增强","股票指数","QIANHAIKAIYUANZHONGZHENGDANONGYEZHISHUZENGQIANG"],["001028","HAWLWZTGP","华安物联网主题股票","股票型","HUAANWULIANWANGZHUTIGUPIAO"],["001029","GTRYXDLHH","国投瑞银新动力混合","混合型","GUOTOURUIYINXINDONGLIHUNHE"],["001030","THYDSHYX","天弘云端生活优选","混合型","TIANHONGYUNDUANSHENGHUOYOUXUAN"],["001031","HXAKYXZQA","华夏安康优选债券A","债券型","HUAXIAANKANGYOUXUANZHAIQUANA"],["001033","HXAKYXZQC","华夏安康优选债券C","债券型","HUAXIAANKANGYOUXUANZHAIQUANC"],["001034","HFWCBBHH","华富旺财保本混合","保本型","HUAFUWANGCAIBAOBENHUNHE"],["001035","ZYHLBNDKZ","中银恒利半年定开债","定开债券","ZHONGYINHENGLIBANNIANDINGKAIZHAI"],["001036","JSQYBGGP","嘉实企业变革股票","股票型","JIASHIQIYEBIANGEGUPIAO"],["001037","GTRYRYGGHH","国投瑞银锐意改革混合","混合型","GUOTOURUIYINRUIYIGAIGEHUNHE"],["001038","THZYBHB","天弘增益宝货币","货币型","TIANHONGZENGYIBAOHUOBI"],["001039","JSXJZZGP","嘉实先进制造股票","股票型","JIASHIXIANJINZHIZAOGUPIAO"],["001040","XHCLJXGP","新华策略精选股票","股票型","XINHUACELUEJINGXUANGUPIAO"],["001041","NFLC60TZQE","南方理财60天债券E","理财型","NANFANGLICAI60TIANZHAIQUANE"],["001042","HXLXGP","华夏领先股票","股票型","HUAXIALINGXIANGUPIAO"],["001043","GYMLCZGP","工银美丽城镇股票","股票型","GONGYINMEILICHENGZHENGUPIAO"],["001044","JSXXFGP","嘉实新消费股票","股票型","JIASHIXINXIAOFEIGUPIAO"],["001045","HXKZZZQZQA","华夏可转债增强债券A","债券型","HUAXIAKEZHUANZHAIZENGQIANGZHAIQUANA"],["001046","HXKZZZQZQI","华夏可转债增强债券I","债券型","HUAXIAKEZHUANZHAIZENGQIANGZHAIQUANI"],["001047","GDGQGGGP","光大国企改革股票","股票型","GUANGDAGUOQIGAIGEGUPIAO"],["001048","FGXXCYGP","富国新兴产业股票","股票型","FUGUOXINXINGCHANYEGUPIAO"],["001050","HTFCZDYZLHCLGP","汇添富成长多因子量化策略股票","股票型","HUITIANFUCHENGZHANGDUOYINZILIANGHUACELUEGUPIAO"],["001051","HXSZ50ETFLJ","华夏上证50ETF联接","联接基金","HUAXIASHANGZHENG50ETFLIANJIE"],["001052","HXZZ500ETFLJ","华夏中证500ETF联接","联接基金","HUAXIAZHONGZHENG500ETFLIANJIE"],["001053","NFCXJJ","南方创新经济","混合型","NANFANGCHUANGXINJINGJI"],["001054","GYXJRGP","工银新金融股票","股票型","GONGYINXINJINRONGGUPIAO"],["001055","BSCYZCZZQA","博时产业债纯债债券A","债券型","BOSHICHANYEZHAICHUNZHAIZHAIQUANA"],["001056","BXRFJKSHZTLHPZ","北信瑞丰健康生活主题灵活配置","混合型","BEIXINRUIFENGJIANKANGSHENGHUOZHUTILINGHUOPEIZHI"],["001057","HXLC30TZQA","华夏理财30天债券A","理财型","HUAXIALICAI30TIANZHAIQUANA"],["001058","HXLC30TZQB","华夏理财30天债券B","理财型","HUAXIALICAI30TIANZHAIQUANB"],["001059","ZJJDSY","中金绝对收益","混合型","ZHONGJINJUEDUISHOUYI"],["001060","QHKYGDZBZZHH","前海开源高端装备制造混合","混合型","QIANHAIKAIYUANGAODUANZHUANGBEIZHIZAOHUNHE"],["001061","HXHWSYZQA","华夏海外收益债券A","QDII","HUAXIAHAIWAISHOUYIZHAIQUANA"],["001063","HXHWSYZQC","华夏海外收益债券C","QDII","HUAXIAHAIWAISHOUYIZHAIQUANC"],["001064","GFHBZSA","广发环保指数A","股票指数","GUANGFAHUANBAOZHISHUA"],["001065","HXHWSYZQXH","华夏海外收益债券现汇","QDII","HUAXIAHAIWAISHOUYIZHAIQUANXIANHUI"],["001066","HXHWSYZQXC","华夏海外收益债券现钞","QDII","HUAXIAHAIWAISHOUYIZHAIQUANXIANCHAO"],["001067","PHHSHHA","鹏华弘盛混合A","混合型","PENGHUAHONGSHENGHUNHEA"],["001068","HRXRLHPZHH","华融新锐灵活配置混合","混合型","HUARONGXINRUILINGHUOPEIZHIHUNHE"],["001069","HTBRXFCZHH","华泰柏瑞消费成长混合","混合型","HUATAIBAIRUIXIAOFEICHENGZHANGHUNHE"],["001070","JXXXCYGP","建信信息产业股票","股票型","JIANXINXINXICHANYEGUPIAO"],["001071","HAMTHLWHH","华安媒体互联网混合","混合型","HUAANMEITIHULIANWANGHUNHE"],["001072","HAZNZBZTGP","华安智能装备主题股票","股票型","HUAANZHINENGZHUANGBEIZHUTIGUPIAO"],["001073","HTBRLHJDSYHH","华泰柏瑞量化绝对收益混合","混合型","HUATAIBAIRUILIANGHUAJUEDUISHOUYIHUNHE"],["001074","HTBRLHQDHH","华泰柏瑞量化驱动混合","混合型","HUATAIBAIRUILIANGHUAQUDONGHUNHE"],["001075","BYZXDLHH","宝盈转型动力混合","混合型","BAOYINGZHUANXINGDONGLIHUNHE"],["001076","YFDGGHLHH","易方达改革红利混合","混合型","YIFANGDAGAIGEHONGLIHUNHE"],["001077","HXXJBHBA","华夏现金宝货币A","货币型","HUAXIAXIANJINBAOHUOBIA"],["001078","HXXJBHBB","华夏现金宝货币B","货币型","HUAXIAXIANJINBAOHUOBIB"],["001086","HFHLZQA","华富恒利债券A","债券型","HUAFUHENGLIZHAIQUANA"],["001087","HFHLZQC","华富恒利债券C","债券型","HUAFUHENGLIZHAIQUANC"],["001088","HBGCDXHH","华宝国策导向混合","混合型","HUABAOGUOCEDAOXIANGHUNHE"],["001092","GFSWKJZSQDII","广发生物科技指数(QDII)","QDII-指数","GUANGFASHENGWUKEJIZHISHUQDII"],["001093","GFSWKJZSMY","广发生物科技指数美元","QDII-指数","GUANGFASHENGWUKEJIZHISHUMEIYUAN"],["001094","GTRYTLBHBA","国投瑞银添利宝货币A","货币型","GUOTOURUIYINTIANLIBAOHUOBIA"],["001095","GTRYTLBHBB","国投瑞银添利宝货币B","货币型","GUOTOURUIYINTIANLIBAOHUOBIB"],["001096","GSABJBPHB","国寿安保聚宝盆货币","货币型","GUOSHOUANBAOJUBAOPENHUOBI"],["001097","HTBRJJYXGP","华泰柏瑞积极优选股票","股票型","HUATAIBAIRUIJIJIYOUXUANGUPIAO"],["001101","YHHTYHB","银华惠添益货币","货币型","YINHUAHUITIANYIHUOBI"],["001102","QHKYGJBJYSHH","前海开源国家比较优势混合","混合型","QIANHAIKAIYUANGUOJIABIJIAOYOUSHIHUNHE"],["001103","QHKYGYGM40HH","前海开源工业革命4.0混合","混合型","QIANHAIKAIYUANGONGYEGEMING40HUNHE"],["001104","HAXSLZTGP","华安新丝路主题股票","股票型","HUAANXINSILUZHUTIGUPIAO"],["001105","XDAYZXCXGP","信达澳银转型创新股票","股票型","XINDAAOYINZHUANXINGCHUANGXINGUPIAO"],["001106","HSJKSHHH","华商健康生活混合","混合型","HUASHANGJIANKANGSHENGHUOHUNHE"],["001110","ZOJQLHPZHHA","中欧瑾泉灵活配置混合A","混合型","ZHONGOUJINQUANLINGHUOPEIZHIHUNHEA"],["001111","ZOJQLHPZHHC","中欧瑾泉灵活配置混合C","混合型","ZHONGOUJINQUANLINGHUOPEIZHIHUNHEC"],["001112","DFHZGYSHH","东方红中国优势混合","混合型","DONGFANGHONGZHONGGUOYOUSHIHUNHE"],["001113","NFDSJ100A","南方大数据100A","股票指数","NANFANGDASHUJU100A"],["001115","GFJAHHA","广发聚安混合A","混合型","GUANGFAJUANHUNHEA"],["001116","GFJAHHC","广发聚安混合C","混合型","GUANGFAJUANHUNHEC"],["001117","ZOJXDQKFHHA","中欧精选定期开放混合A","混合型","ZHONGOUJINGXUANDINGQIKAIFANGHUNHEA"],["001118","HBSJQDHH","华宝事件驱动混合","混合型","HUABAOSHIJIANQUDONGHUNHE"],["001119","GTRYXHBHH","国投瑞银新回报混合","混合型","GUOTOURUIYINXINHUIBAOHUNHE"],["001120","DFRXRDWJHHA","东方睿鑫热点挖掘混合A","混合型","DONGFANGRUIXINREDIANWAJUEHUNHEA"],["001121","DFRXRDWJHHC","东方睿鑫热点挖掘混合C","混合型","DONGFANGRUIXINREDIANWAJUEHUNHEC"],["001122","PHHLHHA","鹏华弘利混合A","混合型","PENGHUAHONGLIHUNHEA"],["001123","PHHLHHC","鹏华弘利混合C","混合型","PENGHUAHONGLIHUNHEC"],["001124","RTTTBBHHC","融通通泰保本混合C","保本型","RONGTONGTONGTAIBAOBENHUNHEC"],["001125","BSHLWZTLHPZHH","博时互联网主题灵活配置混合","混合型","BOSHIHULIANWANGZHUTILINGHUOPEIZHIHUNHE"],["001126","STMGZYZZGP","上投摩根卓越制造股票","股票型","SHANGTOUMOGENZHUOYUEZHIZAOGUPIAO"],["001127","ZYHGCLHH","中银宏观策略混合","混合型","ZHONGYINHONGGUANCELUEHUNHE"],["001128","BYXXCYHH","宝盈新兴产业混合","混合型","BAOYINGXINXINGCHANYEHUNHE"],["001133","GFZZQZKXXFLJA","广发中证全指可选消费联接A","联接基金","GUANGFAZHONGZHENGQUANZHIKEXUANXIAOFEILIANJIEA"],["001134","GFTTLHBE","广发天天利货币E","货币型","GUANGFATIANTIANLIHUOBIE"],["001135","YMPZSJHH","益民品质升级混合","混合型","YIMINPINZHISHENGJIHUNHE"],["001136","YFDYRHH","易方达裕如混合","混合型","YIFANGDAYURUHUNHE"],["001137","GTRYSFLYNZQA","国投瑞银岁丰利一年债券A","定开债券","GUOTOURUIYINSUIFENGLIYINIANZHAIQUANA"],["001138","GTRYSFLYNZQC","国投瑞银岁丰利一年债券C","定开债券","GUOTOURUIYINSUIFENGLIYINIANZHAIQUANC"],["001139","HAXDLLHPZHH","华安新动力灵活配置混合","混合型","HUAANXINDONGLILINGHUOPEIZHIHUNHE"],["001140","GYZHBLHPZHH","工银总回报灵活配置混合","混合型","GONGYINZONGHUIBAOLINGHUOPEIZHIHUNHE"],["001141","TDHLCYHHA","泰达宏利创盈混合A","混合型","TAIDAHONGLICHUANGYINGHUNHEA"],["001142","TDHLCYHHB","泰达宏利创盈混合B","混合型","TAIDAHONGLICHUANGYINGHUNHEB"],["001143","HSLHJQHH","华商量化进取混合","混合型","HUASHANGLIANGHUAJINQUHUNHE"],["001144","DCHLWSWHH","大成互联网思维混合","混合型","DACHENGHULIANWANGSIWEIHUNHE"],["001146","ZOJYLHPZHHA","中欧瑾源灵活配置混合A","混合型","ZHONGOUJINYUANLINGHUOPEIZHIHUNHEA"],["001147","ZOJYLHPZHHC","中欧瑾源灵活配置混合C","混合型","ZHONGOUJINYUANLINGHUOPEIZHIHUNHEC"],["001148","SWLXDCLLHPZHHA","申万菱信多策略灵活配置混合A","混合型","SHENWANLINGXINDUOCELUELINGHUOPEIZHIHUNHEA"],["001149","HFJXHSLTZSC","汇丰晋信恒生龙头指数C","股票指数","HUIFENGJINXINHENGSHENGLONGTOUZHISHUC"],["001150","RTHLWCMLHPZHH","融通互联网传媒灵活配置混合","混合型","RONGTONGHULIANWANGCHUANMEILINGHUOPEIZHIHUNHE"],["001151","RTHLWCMLHPZHH","融通互联网传媒灵活配置混合(后端)","混合型","RONGTONGHULIANWANGCHUANMEILINGHUOPEIZHIHUNHE"],["001152","RTXQYXJJLHPZHH","融通新区域新经济灵活配置混合","混合型","RONGTONGXINQUYUXINJINGJILINGHUOPEIZHIHUNHE"],["001153","RTXQYXJJLHPZHH","融通新区域新经济灵活配置混合(后端)","混合型","RONGTONGXINQUYUXINJINGJILINGHUOPEIZHIHUNHE"],["001154","BXRFPAZGZTLHPZ","北信瑞丰平安中国主题灵活配置","混合型","BEIXINRUIFENGPINGANZHONGGUOZHUTILINGHUOPEIZHI"],["001155","ZHAXB1HBBHH","中海安鑫宝1号保本混合","保本型","ZHONGHAIANXINBAO1HAOBAOBENHUNHE"],["001156","SWLXXNYQCHH","申万菱信新能源汽车混合","混合型","SHENWANLINGXINXINNENGYUANQICHEHUNHE"],["001157","GLARQLHPZHH","国联安睿祺灵活配置混合","混合型","GUOLIANANRUIQILINGHUOPEIZHIHUNHE"],["001158","GYXCLXNYGP","工银新材料新能源股票","股票型","GONGYINXINCAILIAOXINNENGYUANGUPIAO"],["001159","DCJXLHPZHHA","大成景秀灵活配置混合A","混合型","DACHENGJINGXIULINGHUOPEIZHIHUNHEA"],["001160","DFYR18GYDKZA","东方永润18个月定开债A","定开债券","DONGFANGYONGRUN18GEYUEDINGKAIZHAIA"],["001161","DFYR18GYDKZC","东方永润18个月定开债C","定开债券","DONGFANGYONGRUN18GEYUEDINGKAIZHAIC"],["001162","QHKYYSLCGPA","前海开源优势蓝筹股票A","股票型","QIANHAIKAIYUANYOUSHILANCHOUGUPIAOA"],["001163","YHZGM30GP","银华中国梦30股票","股票型","YINHUAZHONGGUOMENG30GUPIAO"],["001164","ZOQHLHPZHHA","中欧琪和灵活配置混合A","混合型","ZHONGOUQIHELINGHUOPEIZHIHUNHEA"],["001165","ZOQHLHPZHHC","中欧琪和灵活配置混合C","混合型","ZHONGOUQIHELINGHUOPEIZHIHUNHEC"],["001166","JXHBCYGP","建信环保产业股票","股票型","JIANXINHUANBAOCHANYEGUPIAO"],["001167","JYKJCXGP","金鹰科技创新股票","股票型","JINYINGKEJICHUANGXINGUPIAO"],["001168","GTRYYXSYHH","国投瑞银优选收益混合","混合型","GUOTOURUIYINYOUXUANSHOUYIHUNHE"],["001169","GTRYXJZHH","国投瑞银新价值混合","混合型","GUOTOURUIYINXINJIAZHIHUNHE"],["001170","TDHLFXHH","泰达宏利复兴混合","混合型","TAIDAHONGLIFUXINGHUNHE"],["001171","GYYLCYGP","工银养老产业股票","股票型","GONGYINYANGLAOCHANYEGUPIAO"],["001172","PHHZHHA","鹏华弘泽混合A","混合型","PENGHUAHONGZEHUNHEA"],["001173","ZOJHLHPZHHA","中欧瑾和灵活配置混合A","混合型","ZHONGOUJINHELINGHUOPEIZHIHUNHEA"],["001174","ZOJHLHPZHHC","中欧瑾和灵活配置混合C","混合型","ZHONGOUJINHELINGHUOPEIZHIHUNHEC"],["001175","SZRRTLHBA","山证日日添利货币A","货币型","SHANZHENGRIRITIANLIHUOBIA"],["001176","SZRRTLHBB","山证日日添利货币B","货币型","SHANZHENGRIRITIANLIHUOBIB"],["001177","SZRRTLHBC","山证日日添利货币C","货币型","SHANZHENGRIRITIANLIHUOBIC"],["001178","QHKYZRZGP","前海开源再融资股票","股票型","QIANHAIKAIYUANZAIRONGZIGUPIAO"],["001179","DBDJKLHPZHH","德邦大健康灵活配置混合","混合型","DEBANGDAJIANKANGLINGHUOPEIZHIHUNHE"],["001180","GFYYWSLJA","广发医药卫生联接A","联接基金","GUANGFAYIYAOWEISHENGLIANJIEA"],["001181","NFGGJY","南方改革机遇","混合型","NANFANGGAIGEJIYU"],["001182","YFDAXHKHH","易方达安心回馈混合","混合型","YIFANGDAANXINHUIKUIHUNHE"],["001183","NFLTA","南方利淘A","混合型","NANFANGLITAOA"],["001184","YFDXCTLHPZHH","易方达新常态灵活配置混合","混合型","YIFANGDAXINCHANGTAILINGHUOPEIZHIHUNHE"],["001185","AXDTCLHHA","安信动态策略混合A","混合型","ANXINDONGTAICELUEHUNHEA"],["001186","FGWTJKGP","富国文体健康股票","股票型","FUGUOWENTIJIANKANGGUPIAO"],["001188","PHGGHLGP","鹏华改革红利股票","股票型","PENGHUAGAIGEHONGLIGUPIAO"],["001189","GFJBHH","广发聚宝混合","混合型","GUANGFAJUBAOHUNHE"],["001190","PHHRHHA","鹏华弘润混合A","混合型","PENGHUAHONGRUNHUNHEA"],["001191","PHHRHHC","鹏华弘润混合C","混合型","PENGHUAHONGRUNHUNHEC"],["001192","STMGZHQDHH","上投摩根整合驱动混合","混合型","SHANGTOUMOGENZHENGHEQUDONGHUNHE"],["001193","ZJXFSJ","中金消费升级","股票型","ZHONGJINXIAOFEISHENGJI"],["001194","JSCCWJHBHHA","景顺长城稳健回报混合A","混合型","JINGSHUNCHANGCHENGWENJIANHUIBAOHUNHEA"],["001195","GYNYCYGP","工银农业产业股票","股票型","GONGYINNONGYECHANYEGUPIAO"],["001196","DFDXLHPZHHA","东方鼎新灵活配置混合A","混合型","DONGFANGDINGXINLINGHUOPEIZHIHUNHEA"],["001197","CSZXSJZTLHPZHH","长盛转型升级主题灵活配置混合","混合型","CHANGSHENGZHUANXINGSHENGJIZHUTILINGHUOPEIZHIHUNHE"],["001198","DFHXLHPZHHA","东方惠新灵活配置混合A","混合型","DONGFANGHUIXINLINGHUOPEIZHIHUNHEA"],["001199","CJHXJLZQA","创金合信聚利债券A","债券型","CHUANGJINHEXINJULIZHAIQUANA"],["001200","CJHXJLZQC","创金合信聚利债券C","债券型","CHUANGJINHEXINJULIZHAIQUANC"],["001201","SWLXAXHBHHA","申万菱信安鑫回报混合A","混合型","SHENWANLINGXINANXINHUIBAOHUNHEA"],["001202","DFHLXJXHH","东方红领先精选混合","混合型","DONGFANGHONGLINGXIANJINGXUANHUNHE"],["001203","DFHWJJXHHA","东方红稳健精选混合A","混合型","DONGFANGHONGWENJIANJINGXUANHUNHEA"],["001204","DFHWJJXHHC","东方红稳健精选混合C","混合型","DONGFANGHONGWENJIANJINGXUANHUNHEC"],["001205","JXWJHBLHPZHH","建信稳健回报灵活配置混合","混合型","JIANXINWENJIANHUIBAOLINGHUOPEIZHIHUNHE"],["001206","GFJHHHA","广发聚惠混合A","混合型","GUANGFAJUHUIHUNHEA"],["001207","GFJHHHC","广发聚惠混合C","混合型","GUANGFAJUHUIHUNHEC"],["001208","NADTJJGP","诺安低碳经济股票","股票型","NUOANDITANJINGJIGUPIAO"],["001209","QHKYYDYLHHA","前海开源一带一路混合A","混合型","QIANHAIKAIYUANYIDAIYILUHUNHEA"],["001210","THHLWHH","天弘互联网混合","混合型","TIANHONGHULIANWANGHUNHE"],["001211","ZOGQBHB","中欧滚钱宝货币","货币型","ZHONGOUGUNQIANBAOHUOBI"],["001212","HRYDWJZQA","华润元大稳健债券A","债券型","HUARUNYUANDAWENJIANZHAIQUANA"],["001213","HRYDWJZQC","华润元大稳健债券C","债券型","HUARUNYUANDAWENJIANZHAIQUANC"],["001214","HTBRZZ500ETFLJ","华泰柏瑞中证500ETF联接","联接基金","HUATAIBAIRUIZHONGZHENG500ETFLIANJIE"],["001215","BSHGSYZQYJJA","博时沪港深优质企业基金A","混合型","BOSHIHUGANGSHENYOUZHIQIYEJIJINA"],["001216","YFDXSYHHA","易方达新收益混合A","混合型","YIFANGDAXINSHOUYIHUNHEA"],["001217","YFDXSYHHC","易方达新收益混合C","混合型","YIFANGDAXINSHOUYIHUNHEC"],["001218","GTRYJXSYHH","国投瑞银精选收益混合","混合型","GUOTOURUIYINJINGXUANSHOUYIHUNHE"],["001219","STMGDTDYZHH","上投摩根动态多因子混合","混合型","SHANGTOUMOGENDONGTAIDUOYINZIHUNHE"],["001220","MSJYYJJXHH","民生加银研究精选混合","混合型","MINSHENGJIAYINYANJIUJINGXUANHUNHE"],["001221","GLAXFHHA","国联安鑫富混合A","混合型","GUOLIANANXINFUHUNHEA"],["001222","PHWYCZHH","鹏华外延成长混合","混合型","PENGHUAWAIYANCHENGZHANGHUNHE"],["001223","PHWHCMYLGP","鹏华文化传媒娱乐股票","股票型","PENGHUAWENHUACHUANMEIYULEGUPIAO"],["001224","ZYXSLLHPZHH","中邮新思路灵活配置混合","混合型","ZHONGYOUXINSILULINGHUOPEIZHIHUNHE"],["001225","ZYQSJXLHPZHH","中邮趋势精选灵活配置混合","混合型","ZHONGYOUQUSHIJINGXUANLINGHUOPEIZHIHUNHE"],["001226","ZYWJTLLHPZHH","中邮稳健添利灵活配置混合","混合型","ZHONGYOUWENJIANTIANLILINGHUOPEIZHIHUNHE"],["001227","ZYXXCYLHPZHH","中邮信息产业灵活配置混合","混合型","ZHONGYOUXINXICHANYELINGHUOPEIZHIHUNHE"],["001228","GLAXXLHPZHHA","国联安鑫享灵活配置混合A","混合型","GUOLIANANXINXIANGLINGHUOPEIZHIHUNHEA"],["001229","DBFXLHPZHHA","德邦福鑫灵活配置混合A","混合型","DEBANGFUXINLINGHUOPEIZHIHUNHEA"],["001230","PHYYKJ","鹏华医药科技","股票型","PENGHUAYIYAOKEJI"],["001231","YHTLLHPZHHA","银华泰利灵活配置混合A","混合型","YINHUATAILILINGHUOPEIZHIHUNHEA"],["001232","JHHBA","嘉合货币A","货币型","JIAHEHUOBIA"],["001233","JHHBB","嘉合货币B","货币型","JIAHEHUOBIB"],["001234","GJZYHB","国金众赢货币","货币型","GUOJINZHONGYINGHUOBI"],["001235","ZYGYQYZ","中银国有企业债","债券型","ZHONGYINGUOYOUQIYEZHAI"],["001236","BSSLZTGPA","博时丝路主题股票A","股票型","BOSHISILUZHUTIGUPIAOA"],["001237","BSSZ50ETFLJ","博时上证50ETF联接","联接基金","BOSHISHANGZHENG50ETFLIANJIE"],["001238","BSZCYHBB","博时招财一号保本","保本型","BOSHIZHAOCAIYIHAOBAOBEN"],["001239","CSGQGGHH","长盛国企改革混合","混合型","CHANGSHENGGUOQIGAIGEHUNHE"],["001240","MSJYXJZLHBD","民生加银现金增利货币D","货币型","MINSHENGJIAYINXIANJINZENGLIHUOBID"],["001241","GSABZZ500ETFLJ","国寿安保中证500ETF联接","联接基金","GUOSHOUANBAOZHONGZHENG500ETFLIANJIE"],["001242","BSZZTJDSJ100A","博时中证淘金大数据100A","股票指数","BOSHIZHONGZHENGTAOJINDASHUJU100A"],["001243","BSZZTJDSJ100I","博时中证淘金大数据100I","股票指数","BOSHIZHONGZHENGTAOJINDASHUJU100I"],["001244","HTBRLHZHHH","华泰柏瑞量化智慧混合","混合型","HUATAIBAIRUILIANGHUAZHIHUIHUNHE"],["001245","GYSTHJGP","工银生态环境股票","股票型","GONGYINSHENGTAIHUANJINGGUPIAO"],["001246","HFCLDKZ","华福长乐定开债","定开债券","HUAFUCHANGLEDINGKAIZHAI"],["001247","HTBRXLHHA","华泰柏瑞新利混合A","混合型","HUATAIBAIRUIXINLIHUNHEA"],["001249","YFDXLLHPZHH","易方达新利灵活配置混合","混合型","YIFANGDAXINLILINGHUOPEIZHIHUNHE"],["001250","THXHLHH","天弘新活力混合","混合型","TIANHONGXINHUOLIHUNHE"],["001251","THXJGJHBD","天弘现金管家货币D","货币型","TIANHONGXIANJINGUANJIAHUOBID"],["001252","ZHJQSYHH","中海进取收益混合","混合型","ZHONGHAIJINQUSHOUYIHUNHE"],["001253","JXHBLHPZHH","建信回报灵活配置混合","混合型","JIANXINHUIBAOLINGHUOPEIZHIHUNHE"],["001254","TDHLXQDHHA","泰达宏利新起点混合A","混合型","TAIDAHONGLIXINQIDIANHUNHEA"],["001255","CCGGHLHH","长城改革红利混合","混合型","CHANGCHENGGAIGEHONGLIHUNHE"],["001256","HDYXCZHH","泓德优选成长混合","混合型","HONGDEYOUXUANCHENGZHANGHUNHE"],["001257","XYSYZQZQA","兴业收益增强债券A","债券型","XINGYESHOUYIZENGQIANGZHAIQUANA"],["001258","XYSYZQZQC","兴业收益增强债券C","债券型","XINGYESHOUYIZENGQIANGZHAIQUANC"],["001259","DBXXWJLHPZHH","德邦鑫星稳健灵活配置混合","混合型","DEBANGXINXINGWENJIANLINGHUOPEIZHIHUNHE"],["001260","GFAXHH","广发安心混合","混合型","GUANGFAANXINHUNHE"],["001261","ZRXJYHH","中融新机遇混合","混合型","ZHONGRONGXINJIYUHUNHE"],["001262","DCJMLHPZHHA","大成景明灵活配置混合A","混合型","DACHENGJINGMINGLINGHUOPEIZHIHUNHEA"],["001263","DCJSLHPZHHA","大成景穗灵活配置混合A","混合型","DACHENGJINGSUILINGHUOPEIZHIHUNHEA"],["001264","YHHLLHPZHHA","银华恒利灵活配置混合A","混合型","YINHUAHENGLILINGHUOPEIZHIHUNHEA"],["001265","GTXYLHPZHHA","国泰兴益灵活配置混合A","混合型","GUOTAIXINGYILINGHUOPEIZHIHUNHEA"],["001266","GTRYZCBBHH","国投瑞银招财保本混合","保本型","GUOTOURUIYINZHAOCAIBAOBENHUNHE"],["001267","TDHLLCHH","泰达宏利蓝筹混合","混合型","TAIDAHONGLILANCHOUHUNHE"],["001268","FGGJAQZTHH","富国国家安全主题混合","混合型","FUGUOGUOJIAANQUANZHUTIHUNHE"],["001270","YDLHPZHHXFQSA","英大灵活配置混合型发起式A","混合型","YINGDALINGHUOPEIZHIHUNHEXINGFAQISHIA"],["001271","YDLHPZHHXFQSB","英大灵活配置混合型发起式B","混合型","YINGDALINGHUOPEIZHIHUNHEXINGFAQISHIB"],["001272","XYJLLHPZHH","兴业聚利灵活配置混合","混合型","XINGYEJULILINGHUOPEIZHIHUNHE"],["001273","MSJYXDLHHA","民生加银新动力混合A","混合型","MINSHENGJIAYINXINDONGLIHUNHEA"],["001274","MSJYXDLHHD","民生加银新动力混合D","混合型","MINSHENGJIAYINXINDONGLIHUNHED"],["001275","ZYCXYSLHPZHH","中邮创新优势灵活配置混合","混合型","ZHONGYOUCHUANGXINYOUSHILINGHUOPEIZHIHUNHE"],["001276","JXXJJLHPZHH","建信新经济灵活配置混合","混合型","JIANXINXINJINGJILINGHUOPEIZHIHUNHE"],["001277","BSGQGGGP","博时国企改革股票","股票型","BOSHIGUOQIGAIGEGUPIAO"],["001278","QHKYQJNYHHA","前海开源清洁能源混合A","混合型","QIANHAIKAIYUANQINGJIENENGYUANHUNHEA"],["001279","ZHJJZLHH","中海积极增利混合","混合型","ZHONGHAIJIJIZENGLIHUNHE"],["001280","YHJLLHPZHHA","银华聚利灵活配置混合A","混合型","YINHUAJULILINGHUOPEIZHIHUNHEA"],["001281","CAXLYXHHA","长安鑫利优选混合A","混合型","CHANGANXINLIYOUXUANHUNHEA"],["001282","HAXJYBBHH","华安新机遇保本混合","保本型","HUAANXINJIYUBAOBENHUNHE"],["001283","HTHTSJXDLHHA","红塔红土盛金新动力混合A","混合型","HONGTAHONGTUSHENGJINXINDONGLIHUNHEA"],["001284","HTHTSJXDLHHC","红塔红土盛金新动力混合C","混合型","HONGTAHONGTUSHENGJINXINDONGLIHUNHEC"],["001285","YFDXXHHI","易方达新鑫混合I","混合型","YIFANGDAXINXINHUNHEI"],["001286","YFDXXHHE","易方达新鑫混合E","混合型","YIFANGDAXINXINHUNHEE"],["001287","AXYSZZHHA","安信优势增长混合A","混合型","ANXINYOUSHIZENGZHANGHUNHEA"],["001289","YHHLLHPZHHA","银华汇利灵活配置混合A","混合型","YINHUAHUILILINGHUOPEIZHIHUNHEA"],["001290","GFATHH","广发安泰混合","混合型","GUANGFAANTAIHUNHE"],["001291","DMLHDCLGP","大摩量化多策略股票","股票型","DAMOLIANGHUADUOCELUEGUPIAO"],["001294","XHZLXXCYLHPZHH","新华战略新兴产业灵活配置混合","混合型","XINHUAZHANLUEXINXINGCHANYELINGHUOPEIZHIHUNHE"],["001295","DCJYLHPZHHA","大成景源灵活配置混合A","混合型","DACHENGJINGYUANLINGHUOPEIZHIHUNHEA"],["001296","CCZXCZLHPZHH","长城转型成长灵活配置混合","混合型","CHANGCHENGZHUANXINGCHENGZHANGLINGHUOPEIZHIHUNHE"],["001297","PADHZHZGHH","平安大华智慧中国混合","混合型","PINGANDAHUAZHIHUIZHONGGUOHUNHE"],["001298","JYMZXXHH","金鹰民族新兴混合","混合型","JINYINGMINZUXINXINGHUNHE"],["001299","XYTLZQ","兴业添利债券","债券型","XINGYETIANLIZHAIQUAN"],["001300","DCRJLHPZHHA","大成睿景灵活配置混合A","混合型","DACHENGRUIJINGLINGHUOPEIZHIHUNHEA"],["001301","DCRJLHPZHHC","大成睿景灵活配置混合C","混合型","DACHENGRUIJINGLINGHUOPEIZHIHUNHEC"],["001302","QHKYJYZBHHA","前海开源金银珠宝混合A","混合型","QIANHAIKAIYUANJINYINZHUBAOHUNHEA"],["001303","YHWLLHPZHHA","银华稳利灵活配置混合A","混合型","YINHUAWENLILINGHUOPEIZHIHUNHEA"],["001304","JXXAHBLHPZHH","建信鑫安回报灵活配置混合","混合型","JIANXINXINANHUIBAOLINGHUOPEIZHIHUNHE"],["001305","JTTFGGHH","九泰天富改革混合","混合型","JIUTAITIANFUGAIGEHUNHE"],["001306","ZOYYHHA","中欧永裕混合A","混合型","ZHONGOUYONGYUHUNHEA"],["001307","ZOYYHHC","中欧永裕混合C","混合型","ZHONGOUYONGYUHUNHEC"],["001308","BSWFHB","博时外服货币","货币型","BOSHIWAIFUHUOBI"],["001309","DFHRYDQKFHH","东方红睿逸定期开放混合","混合型","DONGFANGHONGRUIYIDINGQIKAIFANGHUNHE"],["001310","HTBRHYJZYSHH","华泰柏瑞行业竞争优势混合","混合型","HUATAIBAIRUIHANGYEJINGZHENGYOUSHIHUNHE"],["001311","HAXHBLHPZHH","华安新回报灵活配置混合","混合型","HUAANXINHUIBAOLINGHUOPEIZHIHUNHE"],["001312","HAXYXLHPZHHA","华安新优选灵活配置混合A","混合型","HUAANXINYOUXUANLINGHUOPEIZHIHUNHEA"],["001313","STMGZHHLGP","上投摩根智慧互联股票","股票型","SHANGTOUMOGENZHIHUIHULIANGUPIAO"],["001314","YFDXYHHI","易方达新益混合I","混合型","YIFANGDAXINYIHUNHEI"],["001315","YFDXYHHE","易方达新益混合E","混合型","YIFANGDAXINYIHUNHEE"],["001316","AXWJZZHHA","安信稳健增值混合A","混合型","ANXINWENJIANZENGZHIHUNHEA"],["001318","DFXCLLHPZHHA","东方新策略灵活配置混合A","混合型","DONGFANGXINCELUELINGHUOPEIZHIHUNHEA"],["001319","NYXXCMGP","农银信息传媒股票","股票型","NONGYINXINXICHUANMEIGUPIAO"],["001320","GYFYHBLHPZHH","工银丰盈回报灵活配置混合","混合型","GONGYINFENGYINGHUIBAOLINGHUOPEIZHIHUNHE"],["001321","XYJYLHPZHH","兴业聚优灵活配置混合","混合型","XINGYEJUYOULINGHUOPEIZHIHUNHE"],["001322","DWXQS","东吴新趋势","混合型","DONGWUXINQUSHI"],["001323","DWYDHLA","东吴移动互联A","混合型","DONGWUYIDONGHULIANA"],["001324","HBXJZHH","华宝新价值混合","混合型","HUABAOXINJIAZHIHUNHE"],["001325","PHHHHHA","鹏华弘和混合A","混合型","PENGHUAHONGHEHUNHEA"],["001326","PHHHHHC","鹏华弘和混合C","混合型","PENGHUAHONGHEHUNHEC"],["001327","PHHHHHA","鹏华弘华混合A","混合型","PENGHUAHONGHUAHUNHEA"],["001328","PHHHHHC","鹏华弘华混合C","混合型","PENGHUAHONGHUAHUNHEC"],["001329","PHHSHHA","鹏华弘实混合A","混合型","PENGHUAHONGSHIHUNHEA"],["001330","PHHSHHC","鹏华弘实混合C","混合型","PENGHUAHONGSHIHUNHEC"],["001331","PHHXHHA","鹏华弘信混合A","混合型","PENGHUAHONGXINHUNHEA"],["001332","PHHXHHC","鹏华弘信混合C","混合型","PENGHUAHONGXINHUNHEC"],["001333","DCJPLHPZHHA","大成景鹏灵活配置混合A","混合型","DACHENGJINGPENGLINGHUOPEIZHIHUNHEA"],["001334","NFLXA","南方利鑫A","混合型","NANFANGLIXINA"],["001335","NFLZA","南方利众A","混合型","NANFANGLIZHONGA"],["001336","PHHYHHA","鹏华弘益混合A","混合型","PENGHUAHONGYIHUNHEA"],["001337","PHHYHHC","鹏华弘益混合C","混合型","PENGHUAHONGYIHUNHEC"],["001338","AXWJZZHHC","安信稳健增值混合C","混合型","ANXINWENJIANZENGZHIHUNHEC"],["001339","HFDXLHPZHH","华福鼎新灵活配置混合","混合型","HUAFUDINGXINLINGHUOPEIZHIHUNHE"],["001340","HTBRHLLHHHA","华泰柏瑞惠利灵活混合A","混合型","HUATAIBAIRUIHUILILINGHUOHUNHEA"],["001341","HTBRHLLHHHC","华泰柏瑞惠利灵活混合C","混合型","HUATAIBAIRUIHUILILINGHUOHUNHEC"],["001342","YFDXXHHA","易方达新享混合A","混合型","YIFANGDAXINXIANGHUNHEA"],["001343","YFDXXHHC","易方达新享混合C","混合型","YIFANGDAXINXIANGHUNHEC"],["001345","FGXSYLHPZHHA","富国新收益灵活配置混合A","混合型","FUGUOXINSHOUYILINGHUOPEIZHIHUNHEA"],["001347","FGXSYLHPZHHC","富国新收益灵活配置混合C","混合型","FUGUOXINSHOUYILINGHUOPEIZHIHUNHEC"],["001348","DMXJYHH","大摩新机遇混合","混合型","DAMOXINJIYUHUNHE"],["001349","FGGGDLHH","富国改革动力混合","混合型","FUGUOGAIGEDONGLIHUNHE"],["001351","NAZZ500ETFLJ","诺安中证500ETF联接","联接基金","NUOANZHONGZHENG500ETFLIANJIE"],["001352","MSJYXZLHH","民生加银新战略混合","混合型","MINSHENGJIAYINXINZHANLUEHUNHE"],["001355","GFJTHHA","广发聚泰混合A","混合型","GUANGFAJUTAIHUNHEA"],["001356","GFJTHHC","广发聚泰混合C","混合型","GUANGFAJUTAIHUNHEC"],["001357","HDHFHHA","泓德泓富混合A","混合型","HONGDEHONGFUHUNHEA"],["001358","BYXTYLHH","宝盈祥泰养老混合","混合型","BAOYINGXIANGTAIYANGLAOHUNHE"],["001359","GLATXLHPZHHA","国联安添鑫灵活配置混合A","混合型","GUOLIANANTIANXINLINGHUOPEIZHIHUNHEA"],["001361","JSZZTMT150ETFLJ","景顺中证TMT150ETF联接","联接基金","JINGSHUNZHONGZHENGTMT150ETFLIANJIE"],["001362","JSCCLXHBHHA","景顺长城领先回报混合A","混合型","JINGSHUNCHANGCHENGLINGXIANHUIBAOHUNHEA"],["001363","CCJHBB","长城久惠保本","保本型","CHANGCHENGJIUHUIBAOBEN"],["001364","DCJRLHPZHH","大成景润灵活配置混合","混合型","DACHENGJINGRUNLINGHUOPEIZHIHUNHE"],["001365","DCZXHBLHPZHH","大成正向回报灵活配置混合","混合型","DACHENGZHENGXIANGHUIBAOLINGHUOPEIZHIHUNHE"],["001366","JYCYZHHH","金鹰产业整合混合","混合型","JINYINGCHANYEZHENGHEHUNHE"],["001367","DBXTLZQA","德邦新添利债券A","债券型","DEBANGXINTIANLIZHAIQUANA"],["001368","XYWGSYYNLCZQ","兴业稳固收益一年理财债券","定开债券","XINGYEWENGUSHOUYIYINIANLICAIZHAIQUAN"],["001369","XYWGSYLNLCZQ","兴业稳固收益两年理财债券","定开债券","XINGYEWENGUSHOUYILIANGNIANLICAIZHAIQUAN"],["001370","ZYXQSHH","中银新趋势混合","混合型","ZHONGYINXINQUSHIHUNHE"],["001371","FGHGSJZHH","富国沪港深价值混合","混合型","FUGUOHUGANGSHENJIAZHIHUNHE"],["001373","YFDXSLLHPZHH","易方达新丝路灵活配置混合","混合型","YIFANGDAXINSILULINGHUOPEIZHIHUNHE"],["001374","HXXJZLHBB","华夏现金增利货币B","货币型","HUAXIAXIANJINZENGLIHUOBIB"],["001375","JYSABBHHC","金元顺安保本混合C","保本型","JINYUANSHUNANBAOBENHUNHEC"],["001376","HDHFHHC","泓德泓富混合C","混合型","HONGDEHONGFUHUNHEC"],["001379","JSCCLXHBHHC","景顺长城领先回报混合C","混合型","JINGSHUNCHANGCHENGLINGXIANHUIBAOHUNHEC"],["001380","PHHSHHC","鹏华弘盛混合C","混合型","PENGHUAHONGSHENGHUNHEC"],["001381","PHHZHHC","鹏华弘泽混合C","混合型","PENGHUAHONGZEHUNHEC"],["001384","DFXSLHHA","东方新思路混合A","混合型","DONGFANGXINSILUHUNHEA"],["001385","DFXSLHHC","东方新思路混合C","混合型","DONGFANGXINSILUHUNHEC"],["001386","THHYBHBA","天弘弘运宝货币A","货币型","TIANHONGHONGYUNBAOHUOBIA"],["001387","ZRXJJHHA","中融新经济混合A","混合型","ZHONGRONGXINJINGJIHUNHEA"],["001388","ZRXJJHHC","中融新经济混合C","混合型","ZHONGRONGXINJINGJIHUNHEC"],["001389","ZRXYSHHA","中融新优势混合A","混合型","ZHONGRONGXINYOUSHIHUNHEA"],["001390","ZRXYSHHC","中融新优势混合C","混合型","ZHONGRONGXINYOUSHIHUNHEC"],["001391","THHYBHBB","天弘弘运宝货币B","货币型","TIANHONGHONGYUNBAOHUOBIB"],["001392","GFJRDCHHA","国富金融地产混合A","混合型","GUOFUJINRONGDICHANHUNHEA"],["001393","GFJRDCHHC","国富金融地产混合C","混合型","GUOFUJINRONGDICHANHUNHEC"],["001394","BSXQSHHA","博时新趋势混合A","混合型","BOSHIXINQUSHIHUNHEA"],["001395","BSXQSHHC","博时新趋势混合C","混合型","BOSHIXINQUSHIHUNHEC"],["001396","JXHLWCYSJGP","建信互联网+产业升级股票","股票型","JIANXINHULIANWANGCHANYESHENGJIGUPIAO"],["001397","JXJGZZZSZQ","建信精工制造指数增强","股票指数","JIANXINJINGGONGZHIZAOZHISHUZENGQIANG"],["001398","HTBRJKSHHH","华泰柏瑞健康生活混合","混合型","HUATAIBAIRUIJIANKANGSHENGHUOHUNHE"],["001399","AXXADLHHA","安信鑫安得利混合A","混合型","ANXINXINANDELIHUNHEA"],["001400","AXXADLHHC","安信鑫安得利混合C","混合型","ANXINXINANDELIHUNHEC"],["001401","DBRYHB","德邦如意货币","货币型","DEBANGRUYIHUOBI"],["001402","XCXXHHA","信诚新选混合A","混合型","XINCHENGXINXUANHUNHEA"],["001403","ZSGQGGZTHHJJ","招商国企改革主题混合基金","混合型","ZHAOSHANGGUOQIGAIGEZHUTIHUNHEJIJIN"],["001404","ZSYDHLWCYGPJJ","招商移动互联网产业股票基金","股票型","ZHAOSHANGYIDONGHULIANWANGCHANYEGUPIAOJIJIN"],["001405","DFHCLJXHHA","东方红策略精选混合A","混合型","DONGFANGHONGCELUEJINGXUANHUNHEA"],["001406","DFHCLJXHHC","东方红策略精选混合C","混合型","DONGFANGHONGCELUEJINGXUANHUNHEC"],["001407","JSCCWJHBHHC","景顺长城稳健回报混合C","混合型","JINGSHUNCHANGCHENGWENJIANHUIBAOHUNHEC"],["001408","JXXFHBLHPZHHA","建信鑫丰回报灵活配置混合A","混合型","JIANXINXINFENGHUIBAOLINGHUOPEIZHIHUNHEA"],["001409","GYHLWJGP","工银互联网加股票","股票型","GONGYINHULIANWANGJIAGUPIAO"],["001410","XDAYXNYCYGP","信达澳银新能源产业股票","股票型","XINDAAOYINXINNENGYUANCHANYEGUPIAO"],["001411","NACXQDHHA","诺安创新驱动混合A","混合型","NUOANCHUANGXINQUDONGHUNHEA"],["001412","DBXXJZLHPZHHA","德邦鑫星价值灵活配置混合A","混合型","DEBANGXINXINGJIAZHILINGHUOPEIZHIHUNHEA"],["001413","ZRXDLHHA","中融新动力混合A","混合型","ZHONGRONGXINDONGLIHUNHEA"],["001414","ZRXDLHHC","中融新动力混合C","混合型","ZHONGRONGXINDONGLIHUNHEC"],["001415","XCXRHHA","信诚新锐混合A","混合型","XINCHENGXINRUIHUNHEA"],["001416","JSSJQDGP","嘉实事件驱动股票","股票型","JIASHISHIJIANQUDONGGUPIAO"],["001417","HTFYLFWHH","汇添富医疗服务混合","混合型","HUITIANFUYILIAOFUWUHUNHE"],["001418","TDHLCYHHA","泰达宏利创益混合A","混合型","TAIDAHONGLICHUANGYIHUNHEA"],["001419","TDHLXSLHHA","泰达宏利新思路混合A","混合型","TAIDAHONGLIXINSILUHUNHEA"],["001420","NFDSJ300A","南方大数据300A","股票指数","NANFANGDASHUJU300A"],["001421","NFLH","南方量化","股票型","NANFANGLIANGHUA"],["001422","JSCCAXHBHHA","景顺长城安享回报混合A","混合型","JINGSHUNCHANGCHENGANXIANGHUIBAOHUNHEA"],["001423","JSCCAXHBHHC","景顺长城安享回报混合C","混合型","JINGSHUNCHANGCHENGANXIANGHUIBAOHUNHEC"],["001424","BSXQDHHA","博时新起点混合A","混合型","BOSHIXINQIDIANHUNHEA"],["001425","BSXQDHHC","博时新起点混合C","混合型","BOSHIXINQIDIANHUNHEC"],["001426","NFDSJ300C","南方大数据300C","股票指数","NANFANGDASHUJU300C"],["001427","ZSFZHHA","招商丰泽混合A","混合型","ZHAOSHANGFENGZEHUNHEA"],["001428","GYBBHHB","工银保本混合B","保本型","GONGYINBAOBENHUNHEB"],["001429","BSXCFHHA","博时新财富混合A","混合型","BOSHIXINCAIFUHUNHEA"],["001430","ZYLXSYLHPZHH","中邮乐享收益灵活配置混合","混合型","ZHONGYOULEXIANGSHOUYILINGHUOPEIZHIHUNHE"],["001431","FZFBYXLHPZHHA","方正富邦优选灵活配置混合A","混合型","FANGZHENGFUBANGYOUXUANLINGHUOPEIZHIHUNHEA"],["001433","YFDRJHH","易方达瑞景混合","混合型","YIFANGDARUIJINGHUNHE"],["001437","YFDRXHHI","易方达瑞享混合I","混合型","YIFANGDARUIXIANGHUNHEI"],["001438","YFDRXHHE","易方达瑞享混合E","混合型","YIFANGDARUIXIANGHUNHEE"],["001443","YFDRXLHPZHHI","易方达瑞选灵活配置混合I","混合型","YIFANGDARUIXUANLINGHUOPEIZHIHUNHEI"],["001444","YFDRXLHPZHHE","易方达瑞选灵活配置混合E","混合型","YIFANGDARUIXUANLINGHUOPEIZHIHUNHEE"],["001445","HAGQGGZTLHPZHH","华安国企改革主题灵活配置混合","混合型","HUAANGUOQIGAIGEZHUTILINGHUOPEIZHIHUNHE"],["001446","ZSFZHHC","招商丰泽混合C","混合型","ZHAOSHANGFENGZEHUNHEC"],["001447","THHLHH","天弘惠利混合","混合型","TIANHONGHUILIHUNHE"],["001448","HSSYPHHH","华商双翼平衡混合","混合型","HUASHANGSHUANGYIPINGHENGHUNHE"],["001449","HSSQYXHH","华商双驱优选混合","混合型","HUASHANGSHUANGQUYOUXUANHUNHE"],["001450","DFWDZLZQA","东方稳定增利债券A","债券型","DONGFANGWENDINGZENGLIZHAIQUANA"],["001451","DFWDZLZQC","东方稳定增利债券C","债券型","DONGFANGWENDINGZENGLIZHAIQUANC"],["001453","PHHXHHA","鹏华弘鑫混合A","混合型","PENGHUAHONGXINHUNHEA"],["001454","PHHXHHC","鹏华弘鑫混合C","混合型","PENGHUAHONGXINHUNHEC"],["001455","JSCCZZ500ETFLJ","景顺长城中证500ETF联接","联接基金","JINGSHUNCHANGCHENGZHONGZHENG500ETFLIANJIE"],["001456","HTBRZZ2025HHA","华泰柏瑞制造2025混合A","混合型","HUATAIBAIRUIZHIZAO2025HUNHEA"],["001457","HSXCTHH","华商新常态混合","混合型","HUASHANGXINCHANGTAIHUNHE"],["001458","GFZZQZZYXFLJA","广发中证全指主要消费联接A","联接基金","GUANGFAZHONGZHENGQUANZHIZHUYAOXIAOFEILIANJIEA"],["001459","GFZZQZYCLLJA","广发中证全指原材料联接A","联接基金","GUANGFAZHONGZHENGQUANZHIYUANCAILIAOLIANJIEA"],["001460","GFZZQZNYETFLJA","广发中证全指能源ETF联接A","联接基金","GUANGFAZHONGZHENGQUANZHINENGYUANETFLIANJIEA"],["001463","GDYDYLHH","光大一带一路混合","混合型","GUANGDAYIDAIYILUHUNHE"],["001464","GDDXHHA","光大鼎鑫混合A","混合型","GUANGDADINGXINHUNHEA"],["001466","HFYXLHPZHHA","华富永鑫灵活配置混合A","混合型","HUAFUYONGXINLINGHUOPEIZHIHUNHEA"],["001467","HFYXLHPZHHC","华富永鑫灵活配置混合C","混合型","HUAFUYONGXINLINGHUOPEIZHIHUNHEC"],["001468","GFGGHH","广发改革混合","混合型","GUANGFAGAIGEHUNHE"],["001469","GFZZQZJRDCLJA","广发中证全指金融地产联接A","联接基金","GUANGFAZHONGZHENGQUANZHIJINRONGDECHANLIANJIEA"],["001470","RTTXLHPZHH","融通通鑫灵活配置混合","混合型","RONGTONGTONGXINLINGHUOPEIZHIHUNHE"],["001471","RTXNYLHPZHH","融通新能源灵活配置混合","混合型","RONGTONGXINNENGYUANLINGHUOPEIZHIHUNHE"],["001472","RTXNYLHPZHH","融通新能源灵活配置混合(后端)","混合型","RONGTONGXINNENGYUANLINGHUOPEIZHIHUNHE"],["001473","JXDAQZLJXGP","建信大安全战略精选股票","股票型","JIANXINDAANQUANZHANLUEJINGXUANGUPIAO"],["001474","HFFYLHPZ","华福丰盈灵活配置","混合型","HUAFUFENGYINGLINGHUOPEIZHI"],["001475","YFDGFJGHH","易方达国防军工混合","混合型","YIFANGDAGUOFANGJUNGONGHUNHE"],["001476","ZYZNZZGP","中银智能制造股票","股票型","ZHONGYINZHINENGZHIZAOGUPIAO"],["001477","TKXYBHBA","泰康薪意保货币A","货币型","TAIKANGXINYIBAOHUOBIA"],["001478","TKXYBHBB","泰康薪意保货币B","货币型","TAIKANGXINYIBAOHUOBIB"],["001479","ZYFGLDLHPZHH","中邮风格轮动灵活配置混合","混合型","ZHONGYOUFENGGELUNDONGLINGHUOPEIZHIHUNHE"],["001480","CTCZYXHH","财通成长优选混合","混合型","CAITONGCHENGZHANGYOUXUANHUNHE"],["001481","HBXYBPYQSYGPMY","华宝兴业标普油气上游股票美元","QDII-指数","HUABAOXINGYEBIAOPUYOUQISHANGYOUGUPIAOMEIYUAN"],["001482","STMGXXFWGP","上投摩根新兴服务股票","股票型","SHANGTOUMOGENXINXINGFUWUGUPIAO"],["001483","THXLLHPZHH","天弘喜利灵活配置混合","混合型","TIANHONGXILILINGHUOPEIZHIHUNHE"],["001484","THXJZHH","天弘新价值混合","混合型","TIANHONGXINJIAZHIHUNHE"],["001485","HATYYLHH","华安添颐养老混合","混合型","HUAANTIANYIYANGLAOHUNHE"],["001486","THXABBB","天弘鑫安宝保本","保本型","TIANHONGXINANBAOBAOBEN"],["001487","BYYSCYHH","宝盈优势产业混合","混合型","BAOYINGYOUSHICHANYEHUNHE"],["001488","WJRFLHPZHHA","万家瑞丰灵活配置混合A","混合型","WANJIARUIFENGLINGHUOPEIZHIHUNHEA"],["001489","WJRFLHPZHHC","万家瑞丰灵活配置混合C","混合型","WANJIARUIFENGLINGHUOPEIZHIHUNHEC"],["001490","HTFGQCXGP","汇添富国企创新股票","股票型","HUITIANFUGUOQICHUANGXINGUPIAO"],["001491","GTSYLHPZHHA","国泰生益灵活配置混合A","混合型","GUOTAISHENGYILINGHUOPEIZHIHUNHEA"],["001492","PHHRHHA","鹏华弘锐混合A","混合型","PENGHUAHONGRUIHUNHEA"],["001493","PHHRHHC","鹏华弘锐混合C","混合型","PENGHUAHONGRUIHUNHEC"],["001494","XCXXHHA","信诚新鑫混合A","混合型","XINCHENGXINXINHUNHEA"],["001495","DFXJZHHA","东方新价值混合A","混合型","DONGFANGXINJIAZHIHUNHEA"],["001496","GYJJ30GP","工银聚焦30股票","股票型","GONGYINJUJIAO30GUPIAO"],["001497","DCYTLZQE","大成月添利债券E","理财型","DACHENGYUETIANLIZHAIQUANE"],["001498","JXXRHBLHPZHH","建信鑫荣回报灵活配置混合","混合型","JIANXINXINRONGHUIBAOLINGHUOPEIZHIHUNHE"],["001499","GTRYXZZHH","国投瑞银新增长混合","混合型","GUOTOURUIYINXINZENGZHANGHUNHE"],["001500","HDYJHBHH","泓德远见回报混合","混合型","HONGDEYUANJIANHUIBAOHUNHE"],["001501","ZSFYHHA","招商丰裕混合A","混合型","ZHAOSHANGFENGYUHUNHEA"],["001502","ZSFYHHC","招商丰裕混合C","混合型","ZHAOSHANGFENGYUHUNHEC"],["001503","NFLXC","南方利鑫C","混合型","NANFANGLIXINC"],["001504","NFLTC","南方利淘C","混合型","NANFANGLITAOC"],["001505","NFLZC","南方利众C","混合型","NANFANGLIZHONGC"],["001506","JSCCTHHBHHA","景顺长城泰和回报混合A","混合型","JINGSHUNCHANGCHENGTAIHEHUIBAOHUNHEA"],["001507","JSCCTHHBHHC","景顺长城泰和回报混合C","混合型","JINGSHUNCHANGCHENGTAIHEHUIBAOHUNHEC"],["001508","FGXDLLHPZHHA","富国新动力灵活配置混合A","混合型","FUGUOXINDONGLILINGHUOPEIZHIHUNHEA"],["001510","FGXDLLHPZHHC","富国新动力灵活配置混合C","混合型","FUGUOXINDONGLILINGHUOPEIZHIHUNHEC"],["001511","XQXSYDKHH","兴全新视野定开混合","混合型","XINGQUANXINSHIYEDINGKAIHUNHE"],["001512","YFDZZ35NQGZZS","易方达中债3-5年期国债指数","债券指数","YIFANGDAZHONGZHAI35NIANQIGUOZHAIZHISHU"],["001513","YFDXXCYHH","易方达信息产业混合","混合型","YIFANGDAXINXICHANYEHUNHE"],["001515","PADHXXXFC","平安大华新鑫先锋C","混合型","PINGANDAHUAXINXINXIANFENGC"],["001516","DCYYYDQLCZQE","大成月月盈短期理财债券E","理财型","DACHENGYUEYUEYINGDUANQILICAIZHAIQUANE"],["001517","DCJYLHPZHHA","大成景裕灵活配置混合A","混合型","DACHENGJINGYULINGHUOPEIZHIHUNHEA"],["001518","WJRX","万家瑞兴","混合型","WANJIARUIXING"],["001521","GSABCZYXGP","国寿安保成长优选股票","股票型","GUOSHOUANBAOCHENGZHANGYOUXUANGUPIAO"],["001522","BSXCLLHPZHHA","博时新策略灵活配置混合A","混合型","BOSHIXINCELUELINGHUOPEIZHIHUNHEA"],["001523","BSXCLLHPZHHC","博时新策略灵活配置混合C","混合型","BOSHIXINCELUELINGHUOPEIZHIHUNHEC"],["001524","HTBRJXHBHH","华泰柏瑞精选回报混合","混合型","HUATAIBAIRUIJINGXUANHUIBAOHUNHE"],["001526","XYAXBHBA","鑫元安鑫宝货币A","货币型","XINYUANANXINBAOHUOBIA"],["001527","XYAXBHBB","鑫元安鑫宝货币B","货币型","XINYUANANXINBAOHUOBIB"],["001528","NAXJZZGP","诺安先进制造股票","股票型","NUOANXIANJINZHIZAOGUPIAO"],["001529","THYSB","天弘云商宝","货币型","TIANHONGYUNSHANGBAO"],["001530","WJRFLHPZHH","万家瑞富灵活配置混合","混合型","WANJIARUIFULINGHUOPEIZHIHUNHE"],["001531","ZSAYBBHH","招商安益保本混合","保本型","ZHAOSHANGANYIBAOBENHUNHE"],["001533","HTBRALHH","华泰柏瑞爱利混合","混合型","HUATAIBAIRUIAILIHUNHE"],["001534","HBWWHLHH","华宝万物互联混合","混合型","HUABAOWANWUHULIANHUNHE"],["001535","JSCCGGJYLHPZHH","景顺长城改革机遇灵活配置混合","混合型","JINGSHUNCHANGCHENGGAIGEJIYULINGHUOPEIZHIHUNHE"],["001536","NFJX","南方君选","混合型","NANFANGJUNXUAN"],["001537","ZJGGHLHH","中加改革红利混合","混合型","ZHONGJIAGAIGEHONGLIHUNHE"],["001538","STMGKJQYLHPZHH","上投摩根科技前沿灵活配置混合","混合型","SHANGTOUMOGENKEJIQIANYANLINGHUOPEIZHIHUNHE"],["001539","JSZZJRDCETFLJ","嘉实中证金融地产ETF联接","联接基金","JIASHIZHONGZHENGJINRONGDICHANETFLIANJIE"],["001540","ZSHJZXQD","浙商汇金转型驱动","混合型","ZHESHANGHUIJINZHUANXINGQUDONG"],["001541","HTFMYXDLGP","汇添富民营新动力股票","股票型","HUITIANFUMINYINGXINDONGLIGUPIAO"],["001542","GTHLWGP","国泰互联网+股票","股票型","GUOTAIHULIANWANGGUPIAO"],["001543","BYXRHH","宝盈新锐混合","混合型","BAOYINGXINRUIHUNHE"],["001545","BSYJCZ","博时裕嘉纯债","债券型","BOSHIYUJIACHUNZHAI"],["001546","BSYYCZZQ","博时裕盈纯债债券","债券型","BOSHIYUYINGCHUNZHAIZHAIQUAN"],["001547","XYJHLHPZHHA","兴业聚惠灵活配置混合A","混合型","XINGYEJUHUILINGHUOPEIZHIHUNHEA"],["001548","THSZ50ZSA","天弘上证50指数A","股票指数","TIANHONGSHANGZHENG50ZHISHUA"],["001549","THSZ50ZSC","天弘上证50指数C","股票指数","TIANHONGSHANGZHENG50ZHISHUC"],["001550","THZZYY100A","天弘中证医药100A","股票指数","TIANHONGZHONGZHENGYIYAO100A"],["001551","THZZYY100C","天弘中证医药100C","股票指数","TIANHONGZHONGZHENGYIYAO100C"],["001552","THZZZQBXA","天弘中证证券保险A","股票指数","TIANHONGZHONGZHENGZHENGQUANBAOXIANA"],["001553","THZZZQBXC","天弘中证证券保险C","股票指数","TIANHONGZHONGZHENGZHENGQUANBAOXIANC"],["001554","THZZQZYSA","天弘中证全指运输A","股票指数","TIANHONGZHONGZHENGQUANZHIYUNSHUA"],["001555","THZZQZYSC","天弘中证全指运输C","股票指数","TIANHONGZHONGZHENGQUANZHIYUNSHUC"],["001556","THZZQZFDCA","天弘中证全指房地产A","股票指数","TIANHONGZHONGZHENGQUANZHIFANGDICHANA"],["001557","THZZQZFDCC","天弘中证全指房地产C","股票指数","TIANHONGZHONGZHENGQUANZHIFANGDICHANC"],["001558","THZZDZSPGPZSA","天弘中证大宗商品股票指数A","股票指数","TIANHONGZHONGZHENGDAZONGSHANGPINGUPIAOZHISHUA"],["001559","THZZDZSPGPZSC","天弘中证大宗商品股票指数C","股票指数","TIANHONGZHONGZHENGDAZONGSHANGPINGUPIAOZHISHUC"],["001560","THZZYDHLWA","天弘中证移动互联网A","股票指数","TIANHONGZHONGZHENGYIDONGHULIANWANGA"],["001561","THZZYDHLWC","天弘中证移动互联网C","股票指数","TIANHONGZHONGZHENGYIDONGHULIANWANGC"],["001563","HFJKWYLHPZHH","华富健康文娱灵活配置混合","混合型","HUAFUJIANKANGWENYULINGHUOPEIZHIHUNHE"],["001564","DFHJDDSJHH","东方红京东大数据混合","混合型","DONGFANGHONGJINGDONGDASHUJUHUNHE"],["001565","YYLHHHFQS","永赢量化混合发起式","混合型","YONGYINGLIANGHUAHUNHEFAQISHI"],["001566","NFLDA","南方利达A","混合型","NANFANGLIDAA"],["001567","NFLDC","南方利达C","混合型","NANFANGLIDAC"],["001568","TDHLZLHH","泰达宏利增利混合","混合型","TAIDAHONGLIZENGLIHUNHE"],["001569","TXGCQDLHPZHH","泰信国策驱动灵活配置混合","混合型","TAIXINGUOCEQUDONGLINGHUOPEIZHIHUNHE"],["001570","NFLAA","南方利安A","混合型","NANFANGLIANA"],["001571","JHPSA","嘉合磐石A","混合型","JIAHEPANSHIA"],["001572","JHPSC","嘉合磐石C","混合型","JIAHEPANSHIC"],["001574","ZHHGHLHH","中海混改红利混合","混合型","ZHONGHAIHUNGAIHONGLIHUNHE"],["001575","HFWJZQ","华福稳健债券","债券型","HUAFUWENJIANZHAIQUAN"],["001577","JSDJCLGP","嘉实低价策略股票","股票型","JIASHIDIJIACELUEGUPIAO"],["001578","BSYRCZZQ","博时裕瑞纯债债券","债券型","BOSHIYURUICHUNZHAIZHAIQUAN"],["001580","NFLAC","南方利安C","混合型","NANFANGLIANC"],["001581","HAHGSTJXLHPZHH","华安沪港深通精选灵活配置混合","混合型","HUAANHUGANGSHENTONGJINGXUANLINGHUOPEIZHIHUNHE"],["001582","DCJHLHPZHHA","大成景辉灵活配置混合A","混合型","DACHENGJINGHUILINGHUOPEIZHIHUNHEA"],["001583","AXXCTGP","安信新常态股票","股票型","ANXINXINCHANGTAIGUPIAO"],["001584","GTRYXHLLHPZHHA","国投瑞银新活力灵活配置混合A","混合型","GUOTOURUIYINXINHUOLILINGHUOPEIZHIHUNHEA"],["001585","GTRYXHLLHPZHHC","国投瑞银新活力灵活配置混合C","混合型","GUOTOURUIYINXINHUOLILINGHUOPEIZHIHUNHEC"],["001586","THZZ100ZSA","天弘中证100指数A","股票指数","TIANHONGZHONGZHENG100ZHISHUA"],["001587","THZZ100ZSC","天弘中证100指数C","股票指数","TIANHONGZHONGZHENG100ZHISHUC"],["001588","THZZ800ZSA","天弘中证800指数A","股票指数","TIANHONGZHONGZHENG800ZHISHUA"],["001589","THZZ800ZSC","天弘中证800指数C","股票指数","TIANHONGZHONGZHENG800ZHISHUC"],["001590","THZZHBCYA","天弘中证环保产业A","股票指数","TIANHONGZHONGZHENGHUANBAOCHANYEA"],["001591","THZZHBCYC","天弘中证环保产业C","股票指数","TIANHONGZHONGZHENGHUANBAOCHANYEC"],["001592","THCYBA","天弘创业板A","股票指数","TIANHONGCHUANGYEBANA"],["001593","THCYBC","天弘创业板C","股票指数","TIANHONGCHUANGYEBANC"],["001594","THZZYHZSA","天弘中证银行指数A","股票指数","TIANHONGZHONGZHENGYINHANGZHISHUA"],["001595","THZZYHZSC","天弘中证银行指数C","股票指数","TIANHONGZHONGZHENGYINHANGZHISHUC"],["001596","XCXZA","信诚新泽A","混合型","XINCHENGXINZEA"],["001597","ZSFRHHA","招商丰融混合A","混合型","ZHAOSHANGFENGRONGHUNHEA"],["001598","ZSFRHHC","招商丰融混合C","混合型","ZHAOSHANGFENGRONGHUNHEC"],["001599","THZZGDZBZZA","天弘中证高端装备制造A","股票指数","TIANHONGZHONGZHENGGAODUANZHUANGBEIZHIZAOA"],["001600","THZZGDZBZZC","天弘中证高端装备制造C","股票指数","TIANHONGZHONGZHENGGAODUANZHUANGBEIZHIZAOC"],["001601","XYXXSYLHPZHHA","鑫元鑫新收益灵活配置混合A","混合型","XINYUANXINXINSHOUYILINGHUOPEIZHIHUNHEA"],["001602","XYXXSYLHPZHHC","鑫元鑫新收益灵活配置混合C","混合型","XINYUANXINXINSHOUYILINGHUOPEIZHIHUNHEC"],["001603","YFDAYHBHH","易方达安盈回报混合","混合型","YIFANGDAANYINGHUIBAOHUNHE"],["001604","ZSHJZXSJLHPZHH","浙商汇金转型升级灵活配置混合","混合型","ZHESHANGHUIJINZHUANXINGSHENGJILINGHUOPEIZHIHUNHE"],["001605","GFHGSCZJXGP","国富沪港深成长精选股票","股票型","GUOFUHUGANGSHENCHENGZHANGJINGXUANGUPIAO"],["001606","NYGY40HH","农银工业4.0混合","混合型","NONGYINGONGYE40HUNHE"],["001607","YDCLYXA","英大策略优选A","混合型","YINGDACELUEYOUXUANA"],["001608","YDCLYXC","英大策略优选C","混合型","YINGDACELUEYOUXUANC"],["001609","PADHXXHHA","平安大华鑫享混合A","混合型","PINGANDAHUAXINXIANGHUNHEA"],["001610","PADHXXHHC","平安大华鑫享混合C","混合型","PINGANDAHUAXINXIANGHUNHEC"],["001611","THZZXXYLZSA","天弘中证休闲娱乐指数A","股票指数","TIANHONGZHONGZHENGXIUXIANYULEZHISHUA"],["001612","THZZXXYLZSC","天弘中证休闲娱乐指数C","股票指数","TIANHONGZHONGZHENGXIUXIANYULEZHISHUC"],["001613","CCJXBB","长城久祥保本","保本型","CHANGCHENGJIUXIANGBAOBEN"],["001614","DFQYFZHH","东方区域发展混合","混合型","DONGFANGQUYUFAZHANHUNHE"],["001615","ZORSDQKFHH","中欧睿尚定期开放混合","混合型","ZHONGOURUISHANGDINGQIKAIFANGHUNHE"],["001616","JSHBDTGP","嘉实环保低碳股票","股票型","JIASHIHUANBAODITANGUPIAO"],["001617","THZZDZZSA","天弘中证电子指数A","股票指数","TIANHONGZHONGZHENGDIANZIZHISHUA"],["001618","THZZDZZSC","天弘中证电子指数C","股票指数","TIANHONGZHONGZHENGDIANZIZHISHUC"],["001620","JSXJYHHFQS","嘉实新机遇混合发起式","混合型","JIASHIXINJIYUHUNHEFAQISHI"],["001621","GJJTTHBC","国金金腾通货币C","货币型","GUOJINJINTENGTONGHUOBIC"],["001622","XHXRHH","新华鑫锐混合","混合型","XINHUAXINRUIHUNHE"],["001623","XYGQGGHH","兴业国企改革混合","混合型","XINGYEGUOQIGAIGEHUNHE"],["001624","XYTTYHBA","兴业添天盈货币A","货币型","XINGYETIANTIANYINGHUOBIA"],["001625","XYTTYHBB","兴业添天盈货币B","货币型","XINGYETIANTIANYINGHUOBIB"],["001626","GTYQGGGP","国泰央企改革股票","股票型","GUOTAIYANGQIGAIGEGUPIAO"],["001627","RTXYXLHPZHH","融通新优选灵活配置混合","混合型","RONGTONGXINYOUXUANLINGHUOPEIZHIHUNHE"],["001628","ZSTYWHXXGP","招商体育文化休闲股票","股票型","ZHAOSHANGTIYUWENHUAXIUXIANGUPIAO"],["001629","THZZJSJZSA","天弘中证计算机指数A","股票指数","TIANHONGZHONGZHENGJISUANJIZHISHUA"],["001630","THZZJSJZSC","天弘中证计算机指数C","股票指数","TIANHONGZHONGZHENGJISUANJIZHISHUC"],["001631","THZZSPYLZSA","天弘中证食品饮料指数A","股票指数","TIANHONGZHONGZHENGSHIPINYINLIAOZHISHUA"],["001632","THZZSPYLZSC","天弘中证食品饮料指数C","股票指数","TIANHONGZHONGZHENGSHIPINYINLIAOZHISHUC"],["001633","WJRXHHA","万家瑞祥混合A","混合型","WANJIARUIXIANGHUNHEA"],["001634","WJRXHHC","万家瑞祥混合C","混合型","WANJIARUIXIANGHUNHEC"],["001635","WJRYLHPZHHA","万家瑞益灵活配置混合A","混合型","WANJIARUIYILINGHUOPEIZHIHUNHEA"],["001636","WJRYLHPZHHC","万家瑞益灵活配置混合C","混合型","WANJIARUIYILINGHUOPEIZHIHUNHEC"],["001637","JSTXZXGDSJCLGP","嘉实腾讯自选股大数据策略股票","股票型","JIASHITENGXUNZIXUANGUDASHUJUCELUEGUPIAO"],["001638","QHKYYSLCGPC","前海开源优势蓝筹股票C","股票型","QIANHAIKAIYUANYOUSHILANCHOUGUPIAOC"],["001639","JSXCTHHA","嘉实新常态混合A","混合型","JIASHIXINCHANGTAIHUNHEA"],["001640","JSXCTHHC","嘉实新常态混合C","混合型","JIASHIXINCHANGTAIHUNHEC"],["001641","FGJDSYDCLHH","富国绝对收益多策略混合","混合型","FUGUOJUEDUISHOUYIDUOCELUEHUNHE"],["001643","HFJXZZXFGPA","汇丰晋信智造先锋股票A","股票型","HUIFENGJINXINZHIZAOXIANFENGGUPIAOA"],["001644","HFJXZZXFGPC","汇丰晋信智造先锋股票C","股票型","HUIFENGJINXINZHIZAOXIANFENGGUPIAOC"],["001645","GTDJKGP","国泰大健康股票","股票型","GUOTAIDAJIANKANGGUPIAO"],["001647","THJLLHPZHH","天弘聚利灵活配置混合","混合型","TIANHONGJULILINGHUOPEIZHIHUNHE"],["001648","GYXJZLHPZHH","工银新价值灵活配置混合","混合型","GONGYINXINJIAZHILINGHUOPEIZHIHUNHE"],["001650","GYFSHBLHPZHHA","工银丰收回报灵活配置混合A","混合型","GONGYINFENGSHOUHUIBAOLINGHUOPEIZHIHUNHEA"],["001651","GYXLCGP","工银新蓝筹股票","股票型","GONGYINXINLANCHOUGUPIAO"],["001652","DBCZ18GYDKZA","德邦纯债18个月定开债A","定开债券","DEBANGCHUNZHAI18GEYUEDINGKAIZHAIA"],["001653","DBCZ18GYDKZC","德邦纯债18个月定开债C","定开债券","DEBANGCHUNZHAI18GEYUEDINGKAIZHAIC"],["001654","GLATXLHPZHHC","国联安添鑫灵活配置混合C","混合型","GUOLIANANTIANXINLINGHUOPEIZHIHUNHEC"],["001655","DMSY18GYKFZQ","大摩收益18个月开放债券","定开债券","DAMOSHOUYI18GEYUEKAIFANGZHAIQUAN"],["001657","CAXFLXHH","长安鑫富领先混合","混合型","CHANGANXINFULINGXIANHUNHE"],["001659","FADXDLHH","富安达新动力混合","混合型","FUANDAXINDONGLIHUNHE"],["001661","BSXYZCZZQC","博时信用债纯债债券C","债券型","BOSHIXINYONGZHAICHUNZHAIZHAIQUANC"],["001662","CJHGSJXHH","创金沪港深精选混合","混合型","CHUANGJINHUGANGSHENJINGXUANHUNHE"],["001663","ZYHLWGP","中银互联网+股票","股票型","ZHONGYINHULIANWANGGUPIAO"],["001664","PADHXAHHA","平安大华鑫安混合A","混合型","PINGANDAHUAXINANHUNHEA"],["001665","PADHXAHHC","平安大华鑫安混合C","混合型","PINGANDAHUAXINANHUNHEC"],["001666","PHTLBHB","鹏华添利宝货币","货币型","PENGHUATIANLIBAOHUOBI"],["001667","NFZXHH","南方转型混合","混合型","NANFANGZHUANXINGHUNHE"],["001668","HTFQQHLHH","汇添富全球互联混合","QDII","HUITIANFUQUANQIUHULIANHUNHE"],["001669","NAJXBHBC","诺安聚鑫宝货币C","货币型","NUOANJUXINBAOHUOBIC"],["001670","CCXCLHHA","长城新策略混合A","混合型","CHANGCHENGXINCELUEHUNHEA"],["001671","CCXCLHHC","长城新策略混合C","混合型","CHANGCHENGXINCELUEHUNHEC"],["001672","GSABZHSHGP","国寿安保智慧生活股票","股票型","GUOSHOUANBAOZHIHUISHENGHUOGUPIAO"],["001673","HTHTYZCZA","红塔红土优质成长A","混合型","HONGTAHONGTUYOUZHICHENGZHANGA"],["001674","HTHTYZCZC","红塔红土优质成长C","混合型","HONGTAHONGTUYOUZHICHENGZHANGC"],["001675","JXTFA","江信同福A","混合型","JIANGXINTONGFUA"],["001676","JXTFC","江信同福C","混合型","JIANGXINTONGFUC"],["001677","ZYZLXXCYGP","中银战略新兴产业股票","股票型","ZHONGYINZHANLUEXINXINGCHANYEGUPIAO"],["001679","QHKYZGXQZCHHA","前海开源中国稀缺资产混合A","混合型","QIANHAIKAIYUANZHONGGUOXIQUEZICHANHUNHEA"],["001680","JTJLLHPZHH","九泰久利灵活配置混合","混合型","JIUTAIJIULILINGHUOPEIZHIHUNHE"],["001681","XHJJJZLHPZHH","新华积极价值灵活配置混合","混合型","XINHUAJIJIJIAZHILINGHUOPEIZHIHUNHE"],["001682","XHXHBHH","新华鑫回报混合","混合型","XINHUAXINHUIBAOHUNHE"],["001683","HXXJJHH","华夏新经济混合","混合型","HUAXIAXINJINGJIHUNHE"],["001685","HTFHGSXJZGP","汇添富沪港深新价值股票","股票型","HUITIANFUHUGANGSHENXINJIAZHIGUPIAO"],["001686","AXXDLHHA","安信新动力混合A","混合型","ANXINXINDONGLIHUNHEA"],["001687","AXXDLHHC","安信新动力混合C","混合型","ANXINXINDONGLIHUNHEC"],["001688","JSXQDHHA","嘉实新起点混合A","混合型","JIASHIXINQIDIANHUNHEA"],["001691","NFXGCZQDII","南方香港成长(QDII)","QDII","NANFANGXIANGGANGCHENGZHANGQDII"],["001692","NFGCDL","南方国策动力","股票型","NANFANGGUOCEDONGLI"],["001693","ZSZL1GYQLCZQC","招商招利1个月期理财债券C","理财型","ZHAOSHANGZHAOLI1GEYUEQILICAIZHAIQUANC"],["001694","HAHGSWYZZHH","华安沪港深外延增长混合","混合型","HUAANHUGANGSHENWAIYANZENGZHANGHUNHE"],["001695","HDHYHH","泓德泓业混合","混合型","HONGDEHONGYEHUNHE"],["001697","DCHFBHBA","大成恒丰宝货币A","货币型","DACHENGHENGFENGBAOHUOBIA"],["001698","DCHFBHBB","大成恒丰宝货币B","货币型","DACHENGHENGFENGBAOHUOBIB"],["001699","DCHFBHBE","大成恒丰宝货币E","货币型","DACHENGHENGFENGBAOHUOBIE"],["001700","JXXSHBLHPZHH","建信鑫盛回报灵活配置混合","混合型","JIANXINXINSHENGHUIBAOLINGHUOPEIZHIHUNHE"],["001701","ZRCYSJHH","中融产业升级混合","混合型","ZHONGRONGCHANYESHENGJIHUNHE"],["001702","DFCXKJHH","东方创新科技混合","混合型","DONGFANGCHUANGXINKEJIHUNHE"],["001703","YHHGSZZGP","银华沪港深增长股票","股票型","YINHUAHUGANGSHENZENGZHANGGUPIAO"],["001704","GTRYJBBBHH","国投瑞银进宝保本混合","保本型","GUOTOURUIYINJINBAOBAOBENHUNHE"],["001705","HDZLZXGP","泓德战略转型股票","股票型","HONGDEZHANLUEZHUANXINGGUPIAO"],["001706","NAJJHBHH","诺安积极回报混合","混合型","NUOANJIJIHUIBAOHUNHE"],["001708","DXGGJXHH","东兴改革精选混合","混合型","DONGXINGGAIGEJINGXUANHUNHE"],["001709","HFWLSJLHPZHH","华富物联世界灵活配置混合","混合型","HUAFUWULIANSHIJIELINGHUOPEIZHIHUNHE"],["001710","AXXQSHHA","安信新趋势混合A","混合型","ANXINXINQUSHIHUNHEA"],["001711","AXXQSHHC","安信新趋势混合C","混合型","ANXINXINQUSHIHUNHEC"],["001712","DFHYSJXHH","东方红优势精选混合","混合型","DONGFANGHONGYOUSHIJINGXUANHUNHE"],["001713","HRYDZC100ETFLJ","华润元大中创100ETF联接","联接基金","HUARUNYUANDAZHONGCHUANG100ETFLIANJIE"],["001714","GYWTCYGP","工银文体产业股票","股票型","GONGYINWENTICHANYEGUPIAO"],["001715","GYXJDHHA","工银新焦点混合A","混合型","GONGYINXINJIAODIANHUNHEA"],["001716","GYXQSLHPZHHA","工银新趋势灵活配置混合A","混合型","GONGYINXINQUSHILINGHUOPEIZHIHUNHEA"],["001717","GYQYYLGP","工银前沿医疗股票","股票型","GONGYINQIANYANYILIAOGUPIAO"],["001718","GYWLCYGP","工银物流产业股票","股票型","GONGYINWULIUCHANYEGUPIAO"],["001719","GYGJZLGP","工银国家战略股票","股票型","GONGYINGUOJIAZHANLUEGUPIAO"],["001720","GYXZLHH","工银新增利混合","混合型","GONGYINXINZENGLIHUNHE"],["001721","GYXZYHH","工银新增益混合","混合型","GONGYINXINZENGYIHUNHE"],["001722","GYYHLHH","工银银和利混合","混合型","GONGYINYINHELIHUNHE"],["001723","HSXDLLHPZHH","华商新动力灵活配置混合","混合型","HUASHANGXINDONGLILINGHUOPEIZHIHUNHE"],["001724","SWLXDCLLHPZHHC","申万菱信多策略灵活配置混合C","混合型","SHENWANLINGXINDUOCELUELINGHUOPEIZHIHUNHEC"],["001725","HTFGDZZGP","汇添富高端制造股票","股票型","HUITIANFUGAODUANZHIZAOGUPIAO"],["001726","HTFXXXFGP","汇添富新兴消费股票","股票型","HUITIANFUXINXINGXIAOFEIGUPIAO"],["001727","SWLXAXHBHHC","申万菱信安鑫回报混合C","混合型","SHENWANLINGXINANXINHUIBAOHUNHEC"],["001728","YHZLXXDKHH","银华战略新兴定开混合","混合型","YINHUAZHANLUEXINXINGDINGKAIHUNHE"],["001729","YHNXTZDKHH","银华逆向投资定开混合","混合型","YINHUANIXIANGTOUZIDINGKAIHUNHE"],["001730","HFDJK","华福大健康","混合型","HUAFUDAJIANKANG"],["001733","TDHLLHGP","泰达宏利量化股票","股票型","TAIDAHONGLILIANGHUAGUPIAO"],["001734","GFBFDSJCZHHA","广发百发大数据成长混合A","混合型","GUANGFABAIFADASHUJUCHENGZHANGHUNHEA"],["001735","GFBFDSJCZHHE","广发百发大数据成长混合E","混合型","GUANGFABAIFADASHUJUCHENGZHANGHUNHEE"],["001736","YXYFYJSH","圆信永丰优加生活","股票型","YUANXINYONGFENGYOUJIASHENGHUO"],["001737","DMHGSXJZHH","大摩沪港深新价值混合","混合型","DAMOHUGANGSHENXINJIAZHIHUNHE"],["001739","ZRRAEHBB","中融融安二号保本","保本型","ZHONGRONGRONGANERHAOBAOBEN"],["001740","GDZGZZ2025HH","光大中国制造2025混合","混合型","GUANGDAZHONGGUOZHIZAO2025HUNHE"],["001741","GFBFDSJJXHHA","广发百发大数据精选混合A","混合型","GUANGFABAIFADASHUJUJINGXUANHUNHEA"],["001742","GFBFDSJJXHHE","广发百发大数据精选混合E","混合型","GUANGFABAIFADASHUJUJINGXUANHUNHEE"],["001743","NAYXHBHH","诺安优选回报混合","混合型","NUOANYOUXUANHUIBAOHUNHE"],["001744","NAJQHBHH","诺安进取回报混合","混合型","NUOANJINQUHUIBAOHUNHE"],["001750","JSCCJRSYDKZ","景顺长城景瑞收益定开债","定开债券","JINGSHUNCHANGCHENGJINGRUISHOUYIDINGKAIZHAI"],["001751","HSXYZQZQA","华商信用增强债券A","债券型","HUASHANGXINYONGZENGQIANGZHAIQUANA"],["001752","HSXYZQZQC","华商信用增强债券C","债券型","HUASHANGXINYONGZENGQIANGZHAIQUANC"],["001753","HTCXXXCYHH","红土创新新兴产业混合","混合型","HONGTUCHUANGXINXINXINGCHANYEHUNHE"],["001754","YYLHLHPZHHFQS","永赢量化灵活配置混合发起式","混合型","YONGYINGLIANGHUALINGHUOPEIZHIHUNHEFAQISHI"],["001755","JSXSLHH","嘉实新思路混合","混合型","JIASHIXINSILUHUNHE"],["001756","JSCLYXHH","嘉实策略优选混合","混合型","JIASHICELUEYOUXUANHUNHE"],["001757","JSZTZQHH","嘉实主题增强混合","混合型","JIASHIZHUTIZENGQIANGHUNHE"],["001758","JSYJZQHH","嘉实研究增强混合","混合型","JIASHIYANJIUZENGQIANGHUNHE"],["001759","JSCZZQHH","嘉实成长增强混合","混合型","JIASHICHENGZHANGZENGQIANGHUNHE"],["001760","JSCXCZHH","嘉实创新成长混合","混合型","JIASHICHUANGXINCHENGZHANGHUNHE"],["001761","GFAHHBHHA","广发安宏回报混合A","混合型","GUANGFAANHONGHUIBAOHUNHEA"],["001762","GFAHHBHHC","广发安宏回报混合C","混合型","GUANGFAANHONGHUIBAOHUNHEC"],["001763","GFDCLHH","广发多策略混合","混合型","GUANGFADUOCELUEHUNHE"],["001764","GFHGSXJYGP","广发沪港深新机遇股票","股票型","GUANGFAHUGANGSHENXINJIYUGUPIAO"],["001765","QHKYJXHHA","前海开源嘉鑫混合A","混合型","QIANHAIKAIYUANJIAXINHUNHEA"],["001766","STMGYLJKGP","上投摩根医疗健康股票","股票型","SHANGTOUMOGENYILIAOJIANKANGGUPIAO"],["001767","HBZGHLGPRMB","华宝中国互联股票人民币","QDII","HUABAOZHONGGUOHULIANGUPIAORENMINBI"],["001768","HBZGHLGPMY","华宝中国互联股票美元","QDII","HUABAOZHONGGUOHULIANGUPIAOMEIYUAN"],["001769","YFDRHHHFQS","易方达瑞惠混合发起式","混合型","YIFANGDARUIHUIHUNHEFAQISHI"],["001770","QHKYJXHHC","前海开源嘉鑫混合C","混合型","QIANHAIKAIYUANJIAXINHUNHEC"],["001772","NFXFHL","南方消费活力","混合型","NANFANGXIAOFEIHUOLI"],["001773","ZSFQHHA","招商丰庆混合A","混合型","ZHAOSHANGFENGQINGHUNHEA"],["001774","ZSFQHHC","招商丰庆混合C","混合型","ZHAOSHANGFENGQINGHUNHEC"],["001775","PHHTC","鹏华弘泰C","混合型","PENGHUAHONGTAIC"],["001776","ZOXLZQ","中欧兴利债券","债券型","ZHONGOUXINGLIZHAIQUAN"],["001777","DBDYHBLHPZHHA","德邦多元回报灵活配置混合A","混合型","DEBANGDUOYUANHUIBAOLINGHUOPEIZHIHUNHEA"],["001778","DBDYHBLHPZHHC","德邦多元回报灵活配置混合C","混合型","DEBANGDUOYUANHUIBAOLINGHUOPEIZHIHUNHEC"],["001779","ZRWJTLZQ","中融稳健添利债券","债券型","ZHONGRONGWENJIANTIANLIZHAIQUAN"],["001781","JXXDFWYGP","建信现代服务业股票","股票型","JIANXINXIANDAIFUWUYEGUPIAO"],["001782","JTJYHHA","九泰久益混合A","混合型","JIUTAIJIUYIHUNHEA"],["001785","MSJYSSZLZQD","民生加银岁岁增利债券D","定开债券","MINSHENGJIAYINSUISUIZENGLIZHAIQUAND"],["001786","GTXYLHPZHH","国泰信益灵活配置混合","混合型","GUOTAIXINYILINGHUOPEIZHIHUNHE"],["001787","ZOJYHBA","中欧骏盈货币A","货币型","ZHONGOUJUNYINGHUOBIA"],["001788","ZOJYHBB","中欧骏盈货币B","货币型","ZHONGOUJUNYINGHUOBIB"],["001789","GTLHSYLHPZHH","国泰量化收益灵活配置混合","混合型","GUOTAILIANGHUASHOUYILINGHUOPEIZHIHUNHE"],["001791","DCJDSYCLHHA","大成绝对收益策略混合A","混合型","DACHENGJUEDUISHOUYICELUEHUNHEA"],["001792","DCJDSYCLHHC","大成绝对收益策略混合C","混合型","DACHENGJUEDUISHOUYICELUEHUNHEC"],["001794","HFCYZQ","华福朝阳债券","债券型","HUAFUCHAOYANGZHAIQUAN"],["001795","STMGWTXXLHPZHH","上投摩根文体休闲灵活配置混合","混合型","SHANGTOUMOGENWENTIXIUXIANLINGHUOPEIZHIHUNHE"],["001796","HTFAXZXHHA","汇添富安鑫智选混合A","混合型","HUITIANFUANXINZHIXUANHUNHEA"],["001797","HRXLLHPZHH","华融新利灵活配置混合","混合型","HUARONGXINLILINGHUOPEIZHIHUNHE"],["001798","TKXHBLHPZHHA","泰康新回报灵活配置混合A","混合型","TAIKANGXINHUIBAOLINGHUOPEIZHIHUNHEA"],["001799","TKXHBLHPZHHC","泰康新回报灵活配置混合C","混合型","TAIKANGXINHUIBAOLINGHUOPEIZHIHUNHEC"],["001800","HAXLXBBHH","华安新乐享保本混合","保本型","HUAANXINLEXIANGBAOBENHUNHE"],["001801","HTFDXHHA","汇添富达欣混合A","混合型","HUITIANFUDAXINHUNHEA"],["001802","YFDRCHHI","易方达瑞财混合I","混合型","YIFANGDARUICAIHUNHEI"],["001803","YFDRCHHE","易方达瑞财混合E","混合型","YIFANGDARUICAIHUNHEE"],["001808","YHHLWZTLHPZHH","银华互联网主题灵活配置混合","混合型","YINHUAHULIANWANGZHUTILINGHUOPEIZHIHUNHE"],["001809","ZXJTZXWLW","中信建投智信物联网","混合型","ZHONGXINJIANTOUZHIXINWULIANWANG"],["001810","ZOQLJZLHPZHH","中欧潜力价值灵活配置混合","混合型","ZHONGOUQIANLIJIAZHILINGHUOPEIZHIHUNHE"],["001811","ZOMRXCTHH","中欧明睿新常态混合","混合型","ZHONGOUMINGRUIXINCHANGTAIHUNHE"],["001812","JSHBE","嘉实货币E","货币型","JIASHIHUOBIE"],["001813","GTFYLHPZHH","国泰福益灵活配置混合","混合型","GUOTAIFUYILINGHUOPEIZHIHUNHE"],["001814","XHAXEHBB","新华阿鑫二号保本","保本型","XINHUAAXINERHAOBAOBEN"],["001815","HTBRJLDLHHA","华泰柏瑞激励动力混合A","混合型","HUATAIBAIRUIJILIDONGLIHUNHEA"],["001816","HTFXRJXHHA","汇添富新睿精选混合A","混合型","HUITIANFUXINRUIJINGXUANHUNHEA"],["001819","XQWYZQ","兴全稳益债券","债券型","XINGQUANWENYIZHAIQUAN"],["001820","XQTTYHBA","兴全天添益货币A","货币型","XINGQUANTIANTIANYIHUOBIA"],["001821","XQTTYHBB","兴全天添益货币B","货币型","XINGQUANTIANTIANYIHUOBIB"],["001822","HSZNSHLHPZHH","华商智能生活灵活配置混合","混合型","HUASHANGZHINENGSHENGHUOLINGHUOPEIZHIHUNHE"],["001823","GDDXHHC","光大鼎鑫混合C","混合型","GUANGDADINGXINHUNHEC"],["001824","BSHGSCZQY","博时沪港深成长企业","混合型","BOSHIHUGANGSHENCHENGZHANGQIYE"],["001825","JXZGZZ2025","建信中国制造2025","股票型","JIANXINZHONGGUOZHIZAO2025"],["001826","GSABZJBHB","国寿安保增金宝货币","货币型","GUOSHOUANBAOZENGJINBAOHUOBI"],["001827","FGYJYXHGSHH","富国研究优选沪港深混合","混合型","FUGUOYANJIUYOUXUANHUGANGSHENHUNHE"],["001829","BXRFZGZZZT","北信瑞丰中国智造主题","混合型","BEIXINRUIFENGZHONGGUOZHIZAOZHUTI"],["001830","RTKJCZLHPZHH","融通跨界成长灵活配置混合","混合型","RONGTONGKUAJIECHENGZHANGLINGHUOPEIZHIHUNHE"],["001831","RTKJCZLHPZHH","融通跨界成长灵活配置混合(后端)","混合型","RONGTONGKUAJIECHENGZHANGLINGHUOPEIZHIHUNHE"],["001834","CSZLXXCYHHC","长盛战略新兴产业混合C","混合型","CHANGSHENGZHANLUEXINXINGCHANYEHUNHEC"],["001837","QHKYHGSLCJXHH","前海开源沪港深蓝筹精选混合","混合型","QIANHAIKAIYUANHUGANGSHENLANCHOUJINGXUANHUNHE"],["001838","GTRYGJAQHH","国投瑞银国家安全混合","混合型","GUOTOURUIYINGUOJIAANQUANHUNHE"],["001839","JTJXLHPZHH","九泰久兴灵活配置混合","混合型","JIUTAIJIUXINGLINGHUOPEIZHIHUNHE"],["001840","ZSFXHHC","招商丰享混合C","混合型","ZHAOSHANGFENGXIANGHUNHEC"],["001841","ZSFXHHA","招商丰享混合A","混合型","ZHAOSHANGFENGXIANGHUNHEA"],["001842","JTRTJHBA","九泰日添金货币A","货币型","JIUTAIRITIANJINHUOBIA"],["001843","JTRTJHBB","九泰日添金货币B","货币型","JIUTAIRITIANJINHUOBIB"],["001844","JTJYHHC","九泰久益混合C","混合型","JIUTAIJIUYIHUNHEC"],["001845","GSABWDHBHHA","国寿安保稳定回报混合A","混合型","GUOSHOUANBAOWENDINGHUIBAOHUNHEA"],["001846","GSABWJHBHHA","国寿安保稳健回报混合A","混合型","GUOSHOUANBAOWENJIANHUIBAOHUNHEA"],["001847","GSABZYYNZQA","国寿安保尊盈一年债券A","定开债券","GUOSHOUANBAOZUNYINGYINIANZHAIQUANA"],["001848","GSABZYYNZQC","国寿安保尊盈一年债券C","定开债券","GUOSHOUANBAOZUNYINGYINIANZHAIQUANC"],["001849","QHKYQSGS100QGP","前海开源强势共识100强股票","股票型","QIANHAIKAIYUANQIANGSHIGONGSHI100QIANGGUPIAO"],["001850","GTAYLHPZHHA","国泰安益灵活配置混合A","混合型","GUOTAIANYILINGHUOPEIZHIHUNHEA"],["001851","ZRQGZZHH","中融强国制造混合","混合型","ZHONGRONGQIANGGUOZHIZAOHUNHE"],["001852","RTZGF1HLHPZHH","融通中国风1号灵活配置混合","混合型","RONGTONGZHONGGUOFENG1HAOLINGHUOPEIZHIHUNHE"],["001853","RTZGF1HLHPZHH","融通中国风1号灵活配置混合(后端)","混合型","RONGTONGZHONGGUOFENG1HAOLINGHUOPEIZHIHUNHE"],["001854","JSCCJYZLZQA","景顺长城景颐增利债券A","债券型","JINGSHUNCHANGCHENGJINGYIZENGLIZHAIQUANA"],["001855","JSCCJYZLZQC","景顺长城景颐增利债券C","债券型","JINGSHUNCHANGCHENGJINGYIZENGLIZHAIQUANC"],["001858","JXAXBBEHHH","建信安心保本二号混合","保本型","JIANXINANXINBAOBENERHAOHUNHE"],["001859","DMZZ18GYKFZQA","大摩增值18个月开放债券A","定开债券","DAMOZENGZHI18GEYUEKAIFANGZHAIQUANA"],["001860","DMZZ18GYKFZQC","大摩增值18个月开放债券C","定开债券","DAMOZENGZHI18GEYUEKAIFANGZHAIQUANC"],["001861","FADJKRSHH","富安达健康人生混合","混合型","FUANDAJIANKANGRENSHENGHUNHE"],["001862","DFHSYZQZQA","东方红收益增强债券A","债券型","DONGFANGHONGSHOUYIZENGQIANGZHAIQUANA"],["001863","DFHSYZQZQC","东方红收益增强债券C","债券型","DONGFANGHONGSHOUYIZENGQIANGZHAIQUANC"],["001864","ZHMLCSJHH","中海魅力长三角混合","混合型","ZHONGHAIMEILICHANGSANJIAOHUNHE"],["001865","QHKYSJQDHHC","前海开源事件驱动混合C","混合型","QIANHAIKAIYUANSHIJIANQUDONGHUNHEC"],["001866","BXRFXCZ","北信瑞丰新成长","混合型","BEIXINRUIFENGXINCHENGZHANG"],["001867","NAJXBHBD","诺安聚鑫宝货币D","货币型","NUOANJUXINBAOHUOBID"],["001868","ZSCYZQC","招商产业债券C","债券型","ZHAOSHANGCHANYEZHAIQUANC"],["001869","ZSZZYHH","招商制造业混合","混合型","ZHAOSHANGZHIZAOYEHUNHE"],["001870","QHKYHBA","前海开源货币A","货币型","QIANHAIKAIYUANHUOBIA"],["001871","QHKYHBB","前海开源货币B","货币型","QIANHAIKAIYUANHUOBIB"],["001872","JSFYXYDQZQC","嘉实丰益信用定期债券C","定开债券","JIASHIFENGYIXINYONGDINGQIZHAIQUANC"],["001873","JSZQSYDQZQC","嘉实增强收益定期债券C","定开债券","JIASHIZENGQIANGSHOUYIDINGQIZHAIQUANC"],["001874","QHKYHGSJZJXHH","前海开源沪港深价值精选混合","混合型","QIANHAIKAIYUANHUGANGSHENJIAZHIJINGXUANHUNHE"],["001875","QHKYHGSYSJXHH","前海开源沪港深优势精选混合","混合型","QIANHAIKAIYUANHUGANGSHENYOUSHIJINGXUANHUNHE"],["001876","PHQQGSYZMYXH","鹏华全球高收益债美元现汇","QDII","PENGHUAQUANQIUGAOSHOUYIZHAIMEIYUANXIANHUI"],["001877","BYGJAQHGSGP","宝盈国家安全沪港深股票","股票型","BAOYINGGUOJIAANQUANHUGANGSHENGUPIAO"],["001878","JSHGSJXGP","嘉实沪港深精选股票","股票型","JIASHIHUGANGSHENJINGXUANGUPIAO"],["001880","CCZGZZLHPZHH","长城中国智造灵活配置混合","混合型","CHANGCHENGZHONGGUOZHIZAOLINGHUOPEIZHIHUNHE"],["001881","ZOXQSHHLOFE","中欧新趋势混合(LOF)E","混合型","ZHONGOUXINQUSHIHUNHELOFE"],["001882","ZOJZFXHHE","中欧价值发现混合E","混合型","ZHONGOUJIAZHIFAXIANHUNHEE"],["001883","ZOXDLHHLOFE","中欧新动力混合(LOF)E","混合型","ZHONGOUXINDONGLIHUNHELOFE"],["001884","ZOHS300ZSZQE","中欧沪深300指数增强E","股票指数","ZHONGOUHUSHEN300ZHISHUZENGQIANGE"],["001885","ZOXLCHHE","中欧新蓝筹混合E","混合型","ZHONGOUXINLANCHOUHUNHEE"],["001886","ZOHYCZHHLOFE","中欧行业成长混合(LOF)E","混合型","ZHONGOUHANGYECHENGZHANGHUNHELOFE"],["001887","ZOJZZXHHE","中欧价值智选混合E","混合型","ZHONGOUJIAZHIZHIXUANHUNHEE"],["001888","ZOSSCZHHLOFE","中欧盛世成长混合(LOF)E","混合型","ZHONGOUSHENGSHICHENGZHANGHUNHELOFE"],["001889","ZOZQHBZQLOFE","中欧增强回报债券(LOF)E","债券型","ZHONGOUZENGQIANGHUIBAOZHAIQUANLOFE"],["001890","ZOJXDQKFHHE","中欧精选定期开放混合E","混合型","ZHONGOUJINGXUANDINGQIKAIFANGHUNHEE"],["001891","ZOCZYXHHE","中欧成长优选混合E","混合型","ZHONGOUCHENGZHANGYOUXUANHUNHEE"],["001892","CSXXCZHH","长盛新兴成长混合","混合型","CHANGSHENGXINXINGCHENGZHANGHUNHE"],["001893","HBXYXJTYB","华宝兴业现金添益B","货币型","HUABAOXINGYEXIANJINTIANYIB"],["001894","TDHLHQYHBA","泰达宏利活期友货币A","货币型","TAIDAHONGLIHUOQIYOUHUOBIA"],["001895","TDHLHQYHBB","泰达宏利活期友货币B","货币型","TAIDAHONGLIHUOQIYOUHUOBIB"],["001896","TDHLJDHH","泰达宏利绝对混合","混合型","TAIDAHONGLIJUEDUIHUNHE"],["001897","JTJSLHXFHH","九泰久盛量化先锋混合","混合型","JIUTAIJIUSHENGLIANGHUAXIANFENGHUNHE"],["001899","DHSHAQ","东海社会安全","股票指数","DONGHAISHEHUIANQUAN"],["001901","QHKYHGSLXHHA","前海开源沪港深隆鑫混合A","混合型","QIANHAIKAIYUANHUGANGSHENLONGXINHUNHEA"],["001902","QHKYHGSLXHHC","前海开源沪港深隆鑫混合C","混合型","QIANHAIKAIYUANHUGANGSHENLONGXINHUNHEC"],["001903","GDXXHHA","光大欣鑫混合A","混合型","GUANGDAXINXINHUNHEA"],["001904","GDXXHHC","光大欣鑫混合C","混合型","GUANGDAXINXINHUNHEC"],["001905","HAAYBBHH","华安安益保本混合","保本型","HUAANANYIBAOBENHUNHE"],["001906","DFHCZZQ","东方红纯债债券","债券型","DONGFANGHONGCHUNZHAIZHAIQUAN"],["001907","GTRYJXBBHHA","国投瑞银境煊保本混合A","保本型","GUOTOURUIYINJINGXUANBAOBENHUNHEA"],["001908","GTRYJXBBHHC","国投瑞银境煊保本混合C","保本型","GUOTOURUIYINJINGXUANBAOBENHUNHEC"],["001909","CJHXHB","创金合信货币","货币型","CHUANGJINHEXINHUOBI"],["001910","TKXJYHH","泰康新机遇混合","混合型","TAIKANGXINJIYUHUNHE"],["001911","BSYHCZZQ","博时裕恒纯债债券","债券型","BOSHIYUHENGCHUNZHAIZHAIQUAN"],["001912","ZOQSDCLZQ","中欧强势多策略债券","定开债券","ZHONGOUQIANGSHIDUOCELUEZHAIQUAN"],["001914","ZXJTWLBB2H","中信建投稳利保本2号","保本型","ZHONGXINJIANTOUWENLIBAOBEN2HAO"],["001915","BYYLJKHGSGP","宝盈医疗健康沪港深股票","股票型","BAOYINGYILIAOJIANKANGHUGANGSHENGUPIAO"],["001916","XWTBA","新沃通宝A","货币型","XINWOTONGBAOA"],["001917","ZSLHJXGP","招商量化精选股票","股票型","ZHAOSHANGLIANGHUAJINGXUANGUPIAO"],["001918","YXYFXLA","圆信永丰兴利A","债券型","YUANXINYONGFENGXINGLIA"],["001919","YXYFXLC","圆信永丰兴利C","债券型","YUANXINYONGFENGXINGLIC"],["001920","JSCCJYHLZQA","景顺长城景颐宏利债券A","债券型","JINGSHUNCHANGCHENGJINGYIHONGLIZHAIQUANA"],["001921","JSCCJYHLZQC","景顺长城景颐宏利债券C","债券型","JINGSHUNCHANGCHENGJINGYIHONGLIZHAIQUANC"],["001922","GTXMBSYBBHH","国泰新目标收益保本混合","保本型","GUOTAIXINMUBIAOSHOUYIBAOBENHUNHE"],["001923","GTTYLHPZHH","国泰添益灵活配置混合","混合型","GUOTAITIANYILINGHUOPEIZHIHUNHE"],["001924","HXGQGGHH","华夏国企改革混合","混合型","HUAXIAGUOQIGAIGEHUNHE"],["001925","XYXTYHBA","兴业鑫天盈货币A","货币型","XINGYEXINTIANYINGHUOBIA"],["001926","XYXTYHBB","兴业鑫天盈货币B","货币型","XINGYEXINTIANYINGHUOBIB"],["001927","HXXFSJLHPZHHA","华夏消费升级灵活配置混合A","混合型","HUAXIAXIAOFEISHENGJILINGHUOPEIZHIHUNHEA"],["001928","HXXFSJLHPZHHC","华夏消费升级灵活配置混合C","混合型","HUAXIAXIAOFEISHENGJILINGHUOPEIZHIHUNHEC"],["001929","HXSYBHBA","华夏收益宝货币A","货币型","HUAXIASHOUYIBAOHUOBIA"],["001930","HXSYBHBB","华夏收益宝货币B","货币型","HUAXIASHOUYIBAOHUOBIB"],["001931","GSABXQBHB","国寿安保鑫钱包货币","货币型","GUOSHOUANBAOXINQIANBAOHUOBI"],["001932","GSABBBHH","国寿安保保本混合","保本型","GUOSHOUANBAOBAOBENHUNHE"],["001933","HSXXHLHH","华商新兴活力混合","混合型","HUASHANGXINXINGHUOLIHUNHE"],["001934","GTQQJDSYMYXC","国泰全球绝对收益美元现钞","QDII","GUOTAIQUANQIUJUEDUISHOUYIMEIYUANXIANCHAO"],["001935","GTQQJDSYMYXH","国泰全球绝对收益美元现汇","QDII","GUOTAIQUANQIUJUEDUISHOUYIMEIYUANXIANHUI"],["001936","GTQQJDSYRMB","国泰全球绝对收益人民币","QDII","GUOTAIQUANQIUJUEDUISHOUYIRENMINBI"],["001937","HFXJZLHB","华福现金增利货币","货币型","HUAFUXIANJINZENGLIHUOBI"],["001938","ZOSDXFGPA","中欧时代先锋股票A","股票型","ZHONGOUSHIDAIXIANFENGGUPIAOA"],["001939","GDRXHHA","光大睿鑫混合A","混合型","GUANGDARUIXINHUNHEA"],["001940","NYXDNYJ","农银现代农业加","混合型","NONGYINXIANDAINONGYEJIA"],["001941","RTTYDRZQB","融通通源短融债券B","债券型","RONGTONGTONGYUANDUANRONGZHAIQUANB"],["001942","QHKYHGSHXHHA","前海开源沪港深汇鑫混合A","混合型","QIANHAIKAIYUANHUGANGSHENHUIXINHUNHEA"],["001943","QHKYHGSHXHHC","前海开源沪港深汇鑫混合C","混合型","QIANHAIKAIYUANHUGANGSHENHUIXINHUNHEC"],["001945","DFHXYZZQA","东方红信用债债券A","债券型","DONGFANGHONGXINYONGZHAIZHAIQUANA"],["001946","DFHXYZZQC","东方红信用债债券C","债券型","DONGFANGHONGXINYONGZHAIZHAIQUANC"],["001947","STMGAXHBA","上投摩根安鑫回报A","混合型","SHANGTOUMOGENANXINHUIBAOA"],["001948","JXWDFLZQA","建信稳定丰利债券A","债券型","JIANXINWENDINGFENGLIZHAIQUANA"],["001949","JXWDFLZQC","建信稳定丰利债券C","债券型","JIANXINWENDINGFENGLIZHAIQUANC"],["001950","PHFTDKZB","鹏华丰泰定开债B","定开债券","PENGHUAFENGTAIDINGKAIZHAIB"],["001951","JYGGHLHH","金鹰改革红利混合","混合型","JINYINGGAIGEHONGLIHUNHE"],["001952","GDZSYNDKZA","光大尊尚一年定开债A","定开债券","GUANGDAZUNSHANGYINIANDINGKAIZHAIA"],["001953","GDZSYNDKZC","光大尊尚一年定开债C","定开债券","GUANGDAZUNSHANGYINIANDINGKAIZHAIC"],["001954","YHSTHBZTLHPZHH","银华生态环保主题灵活配置混合","混合型","YINHUASHENGTAIHUANBAOZHUTILINGHUOPEIZHIHUNHE"],["001955","ZOYLCYHH","中欧养老产业混合","混合型","ZHONGOUYANGLAOCHANYEHUNHE"],["001956","GLAKJDL","国联安科技动力","股票型","GUOLIANANKEJIDONGLI"],["001959","HSLXHLLHPZHH","华商乐享互联灵活配置混合","混合型","HUASHANGLEXIANGHULIANLINGHUOPEIZHIHUNHE"],["001960","HFRY","华福瑞益","债券型","HUAFURUIYI"],["001961","BSYRCZZQ","博时裕荣纯债债券","债券型","BOSHIYURONGCHUNZHAIZHAIQUAN"],["001963","ZOTXZQ","中欧天禧债券","债券型","ZHONGOUTIANXIZHAIQUAN"],["001964","NATXYNDKZC","诺安泰鑫一年定开债C","定开债券","NUOANTAIXINYINIANDINGKAIZHAIC"],["001967","HBZXSJHH","华宝转型升级混合","混合型","HUABAOZHUANXINGSHENGJIHUNHE"],["001968","GDZYBNDKZA","光大尊盈半年定开债A","定开债券","GUANGDAZUNYINGBANNIANDINGKAIZHAIA"],["001969","GDZYBNDKZC","光大尊盈半年定开债C","定开债券","GUANGDAZUNYINGBANNIANDINGKAIZHAIC"],["001970","TXXXLHPZHHA","泰信鑫选灵活配置混合A","混合型","TAIXINXINXUANLINGHUOPEIZHIHUNHEA"],["001971","BSCYZCZZQC","博时产业债纯债债券C","债券型","BOSHICHANYEZHAICHUNZHAIZHAIQUANC"],["001972","QHKYHGSZHSHHH","前海开源沪港深智慧生活混合","混合型","QIANHAIKAIYUANHUGANGSHENZHIHUISHENGHUOHUNHE"],["001973","GDYQBHBA","光大耀钱包货币A","货币型","GUANGDAYAOQIANBAOHUOBIA"],["001974","JSCCLHXDLGP","景顺长城量化新动力股票","股票型","JINGSHUNCHANGCHENGLIANGHUAXINDONGLIGUPIAO"],["001975","JSCCHBYSGP","景顺长城环保优势股票","股票型","JINGSHUNCHANGCHENGHUANBAOYOUSHIGUPIAO"],["001976","HFTYNDKZC","海富通一年定开债C","定开债券","HAIFUTONGYINIANDINGKAIZHAIC"],["001977","CJHXJCBBHH","创金合信聚财保本混合","保本型","CHUANGJINHEXINJUCAIBAOBENHUNHE"],["001978","TXHLWHH","泰信互联网+混合","混合型","TAIXINHULIANWANGHUNHE"],["001979","NFHGSJZ","南方沪港深价值","混合型","NANFANGHUGANGSHENJIAZHI"],["001981","FGSYBJYXHBA","富国收益宝交易型货币A","货币型","FUGUOSHOUYIBAOJIAOYIXINGHUOBIA"],["001982","FGSYBJYXHBB","富国收益宝交易型货币B","货币型","FUGUOSHOUYIBAOJIAOYIXINGHUOBIB"],["001983","ZYDTPZHH","中邮低碳配置混合","混合型","ZHONGYOUDITANPEIZHIHUNHE"],["001984","STMGZHSHHH","上投摩根智慧生活混合","混合型","SHANGTOUMOGENZHIHUISHENGHUOHUNHE"],["001985","FGDTXJJHH","富国低碳新经济混合","混合型","FUGUODITANXINJINGJIHUNHE"],["001986","QHKYRGZNZTHH","前海开源人工智能主题混合","混合型","QIANHAIKAIYUANRENGONGZHINENGZHUTIHUNHE"],["001987","DFJYBHB","东方金元宝货币","货币型","DONGFANGJINYUANBAOHUOBI"],["001990","ZOSJWJHHA","中欧数据挖掘混合A","混合型","ZHONGOUSHUJUWAJUEHUNHEA"],["001991","NYTTLHBA","农银天天利货币A","货币型","NONGYINTIANTIANLIHUOBIA"],["001992","NYTTLHBB","农银天天利货币B","货币型","NONGYINTIANTIANLIHUOBIB"],["001993","BSYTCZZQ","博时裕泰纯债债券","债券型","BOSHIYUTAICHUNZHAIZHAIQUAN"],["001994","HANNHZQC","华安年年红债券C","定开债券","HUAANNIANNIANHONGZHAIQUANC"],["001997","GYXQSLHPZHHC","工银新趋势灵活配置混合C","混合型","GONGYINXINQUSHILINGHUOPEIZHIHUNHEC"],["001998","GYXJDHHC","工银新焦点混合C","混合型","GONGYINXINJIAODIANHUNHEC"],["001999","BSAR18GYDKZ","博时安荣18个月定开债","定开债券","BOSHIANRONG18GEYUEDINGKAIZHAI"],["002000","GYXSLHH","工银新生利混合","混合型","GONGYINXINSHENGLIHUNHE"],["002001","HXHBHHA","华夏回报混合A","混合型","HUAXIAHUIBAOHUNHEA"],["002002","HXHBHHA","华夏回报混合A(后端)","混合型","HUAXIAHUIBAOHUNHEA"],["002003","GYXJYLHPZHHA","工银新机遇灵活配置混合A","混合型","GONGYINXINJIYULINGHUOPEIZHIHUNHEA"],["002004","GYXJYLHPZHHC","工银新机遇灵活配置混合C","混合型","GONGYINXINJIYULINGHUOPEIZHIHUNHEC"],["002005","GYXDLHH","工银新得利混合","混合型","GONGYINXINDELIHUNHE"],["002006","GYXDYHH","工银新得益混合","混合型","GONGYINXINDEYIHUNHE"],["002007","GYXDRHH","工银新得润混合","混合型","GONGYINXINDERUNHUNHE"],["002008","BSYSCZZQ","博时裕晟纯债债券","债券型","BOSHIYUSHENGCHUNZHAIZHAIQUAN"],["002009","ZOJTLHPZHHA","中欧瑾通灵活配置混合A","混合型","ZHONGOUJINTONGLINGHUOPEIZHIHUNHEA"],["002010","ZOJTLHPZHHC","中欧瑾通灵活配置混合C","混合型","ZHONGOUJINTONGLINGHUOPEIZHIHUNHEC"],["002011","HXHL","华夏红利","混合型","HUAXIAHONGLI"],["002012","HXHL","华夏红利(后端)","混合型","HUAXIAHONGLI"],["002013","ZOQFLHPZHHA","中欧琪丰灵活配置混合A","混合型","ZHONGOUQIFENGLINGHUOPEIZHIHUNHEA"],["002014","ZOQFLHPZHHC","中欧琪丰灵活配置混合C","混合型","ZHONGOUQIFENGLINGHUOPEIZHIHUNHEC"],["002015","NFRGA","南方荣光A","混合型","NANFANGRONGGUANGA"],["002016","NFRGC","南方荣光C","混合型","NANFANGRONGGUANGC"],["002017","ZSRFLHPZHHFQSC","招商瑞丰灵活配置混合发起式C","混合型","ZHAOSHANGRUIFENGLINGHUOPEIZHIHUNHEFAQISHIC"],["002018","PHHAHHA","鹏华弘安混合A","混合型","PENGHUAHONGANHUNHEA"],["002019","PHHAHHC","鹏华弘安混合C","混合型","PENGHUAHONGANHUNHEC"],["002020","GDCXQD","国都创新驱动","混合型","GUODUCHUANGXINQUDONG"],["002021","HXHBEHHH","华夏回报二号混合","混合型","HUAXIAHUIBAOERHAOHUNHE"],["002023","HTHTWJHBA","红塔红土稳健回报A","混合型","HONGTAHONGTUWENJIANHUIBAOA"],["002024","HTHTWJHBC","红塔红土稳健回报C","混合型","HONGTAHONGTUWENJIANHUIBAOC"],["002025","GFJSHHA","广发聚盛混合A","混合型","GUANGFAJUSHENGHUNHEA"],["002026","GFJSHHC","广发聚盛混合C","混合型","GUANGFAJUSHENGHUNHEC"],["002027","ZJXXHHA","中加心享混合A","混合型","ZHONGJIAXINXIANGHUNHEA"],["002028","JTTBLHPZHHC","九泰天宝灵活配置混合C","混合型","JIUTAITIANBAOLINGHUOPEIZHIHUNHEC"],["002029","AXDTCLHHC","安信动态策略混合C","混合型","ANXINDONGTAICELUEHUNHEC"],["002030","XCXXHHB","信诚新选混合B","混合型","XINCHENGXINXUANHUNHEB"],["002031","HXCLJX","华夏策略精选","混合型","HUAXIACELUEJINGXUAN"],["002033","HAXCFLHPZHHA","华安新财富灵活配置混合A","混合型","HUAANXINCAIFULINGHUOPEIZHIHUNHEA"],["002034","HAXCFLHPZHHC","华安新财富灵活配置混合C","混合型","HUAANXINCAIFULINGHUOPEIZHIHUNHEC"],["002035","AXPWZZHHFQC","安信平稳增长混合发起C","混合型","ANXINPINGWENZENGZHANGHUNHEFAQIC"],["002036","AXYSZZHHC","安信优势增长混合C","混合型","ANXINYOUSHIZENGZHANGHUNHEC"],["002037","HAXXWLHPZHHA","华安新希望灵活配置混合A","混合型","HUAANXINXIWANGLINGHUOPEIZHIHUNHEA"],["002038","HAXXWLHPZHHC","华安新希望灵活配置混合C","混合型","HUAANXINXIWANGLINGHUOPEIZHIHUNHEC"],["002039","GTRYXSYHHA","国投瑞银新收益混合A","混合型","GUOTOURUIYINXINSHOUYIHUNHEA"],["002040","GTRYXSYHHC","国投瑞银新收益混合C","混合型","GUOTOURUIYINXINSHOUYIHUNHEC"],["002041","GTRYXCZHHA","国投瑞银新成长混合A","混合型","GUOTOURUIYINXINCHENGZHANGHUNHEA"],["002042","GTRYXCZHHC","国投瑞银新成长混合C","混合型","GUOTOURUIYINXINCHENGZHANGHUNHEC"],["002043","TZYJQDHHC","天治研究驱动混合C","混合型","TIANZHIYANJIUQUDONGHUNHEC"],["002045","GTSYLHPZHHC","国泰生益灵活配置混合C","混合型","GUOTAISHENGYILINGHUOPEIZHIHUNHEC"],["002046","XCXRHHB","信诚新锐混合B","混合型","XINCHENGXINRUIHUNHEB"],["002047","XCXXHHB","信诚新鑫混合B","混合型","XINCHENGXINXINHUNHEB"],["002048","BSAY18GYDKZ","博时安誉18个月定开债","定开债券","BOSHIANYU18GEYUEDINGKAIZHAI"],["002049","RTXJYLHPZHH","融通新机遇灵活配置混合","混合型","RONGTONGXINJIYULINGHUOPEIZHIHUNHE"],["002050","RTXJYLHPZHH","融通新机遇灵活配置混合(后端)","混合型","RONGTONGXINJIYULINGHUOPEIZHIHUNHE"],["002051","NACXQDHHC","诺安创新驱动混合C","混合型","NUOANCHUANGXINQUDONGHUNHEC"],["002052","NAWJHBLHPZHHC","诺安稳健回报灵活配置混合C","混合型","NUOANWENJIANHUIBAOLINGHUOPEIZHIHUNHEC"],["002053","NAYSHYHHC","诺安优势行业混合C","混合型","NUOANYOUSHIHANGYEHUNHEC"],["002054","ZYXCFHHA","中银新财富混合A","混合型","ZHONGYINXINCAIFUHUNHEA"],["002055","GTXYLHPZHHC","国泰兴益灵活配置混合C","混合型","GUOTAIXINGYILINGHUOPEIZHIHUNHEC"],["002056","ZYXCFHHC","中银新财富混合C","混合型","ZHONGYINXINCAIFUHUNHEC"],["002057","ZYXJYHHA","中银新机遇混合A","混合型","ZHONGYINXINJIYUHUNHEA"],["002058","ZYXJYHHC","中银新机遇混合C","混合型","ZHONGYINXINJIYUHUNHEC"],["002059","GTNYLHPZHHC","国泰浓益灵活配置混合C","混合型","GUOTAINONGYILINGHUOPEIZHIHUNHEC"],["002060","DFXCLLHPZHHC","东方新策略灵活配置混合C","混合型","DONGFANGXINCELUELINGHUOPEIZHIHUNHEC"],["002061","GTAKYLDQZFHHC","国泰安康养老定期支付混合C","混合型","GUOTAIANKANGYANGLAODINGQIZHIFUHUNHEC"],["002062","GTGCQDLHPZHHC","国泰国策驱动灵活配置混合C","混合型","GUOTAIGUOCEQUDONGLINGHUOPEIZHIHUNHEC"],["002063","GTJGZXLHPZHHC","国泰结构转型灵活配置混合C","混合型","GUOTAIJIEGOUZHUANXINGLINGHUOPEIZHIHUNHEC"],["002064","HFCYSJLHPZHH","华富产业升级灵活配置混合","混合型","HUAFUCHANYESHENGJILINGHUOPEIZHIHUNHE"],["002065","JSCCJSSXSYZQA","景顺长城景盛双息收益债券A","债券型","JINGSHUNCHANGCHENGJINGSHENGSHUANGXISHOUYIZHAIQUANA"],["002066","JSCCJSSXSYZQC","景顺长城景盛双息收益债券C","债券型","JINGSHUNCHANGCHENGJINGSHENGSHUANGXISHOUYIZHAIQUANC"],["002067","NAJXHBHH","诺安精选回报混合","混合型","NUOANJINGXUANHUIBAOHUNHE"],["002068","DFDCLLHPZHHC","东方多策略灵活配置混合C","混合型","DONGFANGDUOCELUELINGHUOPEIZHIHUNHEC"],["002069","HTBRSLHHA","华泰柏瑞盛利混合A","混合型","HUATAIBAIRUISHENGLIHUNHEA"],["002070","HTBRSLHHC","华泰柏瑞盛利混合C","混合型","HUATAIBAIRUISHENGLIHUNHEC"],["002071","CACYJXHHC","长安产业精选混合C","混合型","CHANGANCHANYEJINGXUANHUNHEC"],["002072","CAXLYXHHC","长安鑫利优选混合C","混合型","CHANGANXINLIYOUXUANHUNHEC"],["002073","YXYFXRA","圆信永丰兴融A","债券型","YUANXINYONGFENGXINGRONGA"],["002074","YXYFXRC","圆信永丰兴融C","债券型","YUANXINYONGFENGXINGRONGC"],["002075","GDRXHHC","光大睿鑫混合C","混合型","GUANGDARUIXINHUNHEC"],["002076","ZSJCLHPZ","浙商聚潮灵活配置","混合型","ZHESHANGJUCHAOLINGHUOPEIZHI"],["002077","ZSRTLA","浙商日添利A","货币型","ZHESHANGRITIANLIA"],["002078","ZSRTLB","浙商日添利B","货币型","ZHESHANGRITIANLIB"],["002079","QHKYZGXQZCHHC","前海开源中国稀缺资产混合C","混合型","QIANHAIKAIYUANZHONGGUOXIQUEZICHANHUNHEC"],["002080","QHKYYDYLHHC","前海开源一带一路混合C","混合型","QIANHAIKAIYUANYIDAIYILUHUNHEC"],["002081","DCJPLHPZHHA","大成景沛灵活配置混合A","混合型","DACHENGJINGPEILINGHUOPEIZHIHUNHEA"],["002082","HTBRJLDLHHC","华泰柏瑞激励动力混合C","混合型","HUATAIBAIRUIJILIDONGLIHUNHEC"],["002083","XHXDLLHPZHHA","新华鑫动力灵活配置混合A","混合型","XINHUAXINDONGLILINGHUOPEIZHIHUNHEA"],["002084","XHXDLLHPZHHC","新华鑫动力灵活配置混合C","混合型","XINHUAXINDONGLILINGHUOPEIZHIHUNHEC"],["002085","CSHLWHH","长盛互联网+混合","混合型","CHANGSHENGHULIANWANGHUNHE"],["002086","DCJADRZQE","大成景安短融债券E","债券型","DACHENGJINGANDUANRONGZHAIQUANE"],["002087","GFXJYHHA","国富新机遇混合A","混合型","GUOFUXINJIYUHUNHEA"],["002088","GFXJYHHC","国富新机遇混合C","混合型","GUOFUXINJIYUHUNHEC"],["002089","CSSXHHA","长盛盛鑫混合A","混合型","CHANGSHENGSHENGXINHUNHEA"],["002090","CSSXHHC","长盛盛鑫混合C","混合型","CHANGSHENGSHENGXINHUNHEC"],["002091","HTBRXLHHC","华泰柏瑞新利混合C","混合型","HUATAIBAIRUIXINLIHUNHEC"],["002092","GFXZZHHA","国富新增长混合A","混合型","GUOFUXINZENGZHANGHUNHEA"],["002093","GFXZZHHC","国富新增长混合C","混合型","GUOFUXINZENGZHANGHUNHEC"],["002094","HTBRZZ2025HHC","华泰柏瑞制造2025混合C","混合型","HUATAIBAIRUIZHIZAO2025HUNHEC"],["002095","BSXSYA","博时新收益A","混合型","BOSHIXINSHOUYIA"],["002096","BSXSYC","博时新收益C","混合型","BOSHIXINSHOUYIC"],["002097","GFXJZHHA","国富新价值混合A","混合型","GUOFUXINJIAZHIHUNHEA"],["002098","GFXJZHHC","国富新价值混合C","混合型","GUOFUXINJIAZHIHUNHEC"],["002099","GFXHLHHA","国富新活力混合A","混合型","GUOFUXINHUOLIHUNHEA"],["002100","GFXHLHHC","国富新活力混合C","混合型","GUOFUXINHUOLIHUNHEC"],["002101","CJHXXYXHHA","创金合信鑫优选混合A","混合型","CHUANGJINHEXINXINYOUXUANHUNHEA"],["002102","CJHXXYXHHC","创金合信鑫优选混合C","混合型","CHUANGJINHEXINXINYOUXUANHUNHEC"],["002103","ZSKTYLHH","招商康泰养老混合","混合型","ZHAOSHANGKANGTAIYANGLAOHUNHE"],["002104","BSXJZA","博时新价值A","混合型","BOSHIXINJIAZHIA"],["002105","BSXJZC","博时新价值C","混合型","BOSHIXINJIAZHIC"],["002106","DBFXLHPZHHC","德邦福鑫灵活配置混合C","混合型","DEBANGFUXINLINGHUOPEIZHIHUNHEC"],["002107","GFAFHBHHA","广发安富回报混合A","混合型","GUANGFAANFUHUIBAOHUNHEA"],["002108","GFAFHBHHC","广发安富回报混合C","混合型","GUANGFAANFUHUIBAOHUNHEC"],["002109","BSYFCZZQ","博时裕丰纯债债券","债券型","BOSHIYUFENGCHUNZHAIZHAIQUAN"],["002110","ZHZXLHPZHH","中海中鑫灵活配置混合","混合型","ZHONGHAIZHONGXINLINGHUOPEIZHIHUNHE"],["002111","HBXYXQDHH","华宝兴业新起点混合","混合型","HUABAOXINGYEXINQIDIANHUNHE"],["002112","DBXXJZLHPZHHC","德邦鑫星价值灵活配置混合C","混合型","DEBANGXINXINGJIAZHILINGHUOPEIZHIHUNHEC"],["002113","DBCZZQC","德邦纯债债券C","债券型","DEBANGCHUNZHAIZHAIQUANC"],["002114","GFXSYHHA","国富新收益混合A","混合型","GUOFUXINSHOUYIHUNHEA"],["002115","GFXSYHHC","国富新收益混合C","混合型","GUOFUXINSHOUYIHUNHEC"],["002116","GFAXHHA","广发安享混合A","混合型","GUANGFAANXIANGHUNHEA"],["002117","GFAXHHC","广发安享混合C","混合型","GUANGFAANXIANGHUNHEC"],["002118","GFAYHHA","广发安盈混合A","混合型","GUANGFAANYINGHUNHEA"],["002119","GFAYHHC","广发安盈混合C","混合型","GUANGFAANYINGHUNHEC"],["002120","GFAYHH","广发安悦混合","混合型","GUANGFAANYUEHUNHE"],["002121","GFHGSXQDGP","广发沪港深新起点股票","股票型","GUANGFAHUGANGSHENXINQIDIANGUPIAO"],["002122","GFXCTHH","广发新常态混合","混合型","GUANGFAXINCHANGTAIHUNHE"],["002123","BXRFWYZZ","北信瑞丰外延增长","混合型","BEIXINRUIFENGWAIYANZENGZHANG"],["002124","GFXXCYHH","广发新兴产业混合","混合型","GUANGFAXINXINGCHANYEHUNHE"],["002126","GFXFHHA","广发鑫富混合A","混合型","GUANGFAXINFUHUNHEA"],["002127","GFXFHHC","广发鑫富混合C","混合型","GUANGFAXINFUHUNHEC"],["002128","GFXHHH","广发鑫惠混合","混合型","GUANGFAXINHUIHUNHE"],["002129","GFXLHH","广发鑫利混合","混合型","GUANGFAXINLIHUNHE"],["002130","GFXLHHA","广发鑫隆混合A","混合型","GUANGFAXINLONGHUNHEA"],["002131","GFXLHHC","广发鑫隆混合C","混合型","GUANGFAXINLONGHUNHEC"],["002132","GFXXHH","广发鑫享混合","混合型","GUANGFAXINXIANGHUNHE"],["002133","GFXYHH","广发鑫益混合","混合型","GUANGFAXINYIHUNHE"],["002134","GFXYHH","广发鑫裕混合","混合型","GUANGFAXINYUHUNHE"],["002135","GFXYHHA","广发鑫源混合A","混合型","GUANGFAXINYUANHUNHEA"],["002136","GFXYHHC","广发鑫源混合C","混合型","GUANGFAXINYUANHUNHEC"],["002137","NALXBBHH","诺安利鑫保本混合","保本型","NUOANLIXINBAOBENHUNHE"],["002138","HDYTZQA","泓德裕泰债券A","债券型","HONGDEYUTAIZHAIQUANA"],["002139","HDYTZQC","泓德裕泰债券C","债券型","HONGDEYUTAIZHAIQUANC"],["002140","BSYCCZZQ","博时裕诚纯债债券","债券型","BOSHIYUCHENGCHUNZHAIZHAIQUAN"],["002141","JXXFHBLHPZHHC","建信鑫丰回报灵活配置混合C","混合型","JIANXINXINFENGHUIBAOLINGHUOPEIZHIHUNHEC"],["002142","BSWYZZZTLHPZHH","博时外延增长主题灵活配置混合","混合型","BOSHIWAIYANZENGZHANGZHUTILINGHUOPEIZHIHUNHE"],["002143","BSYKCZ","博时裕坤纯债","债券型","BOSHIYUKUNCHUNZHAI"],["002144","HAXYXLHPZHHC","华安新优选灵活配置混合C","混合型","HUAANXINYOUXUANLINGHUOPEIZHIHUNHEC"],["002145","NAJXBBHH","诺安景鑫保本混合","保本型","NUOANJINGXINBAOBENHUNHE"],["002146","CAXYZQHHA","长安鑫益增强混合A","混合型","CHANGANXINYIZENGQIANGHUNHEA"],["002147","CAXYZQHHC","长安鑫益增强混合C","混合型","CHANGANXINYIZENGQIANGHUNHEC"],["002148","GSABWJZLHH","国寿安保稳健增利混合","混合型","GUOSHOUANBAOWENJIANZENGLIHUNHE"],["002149","JSXYXHH","嘉实新优选混合","混合型","JIASHIXINYOUXUANHUNHE"],["002150","BSYHCZ","博时裕和纯债","债券型","BOSHIYUHECHUNZHAI"],["002152","HBHXYSHH","华宝核心优势混合","混合型","HUABAOHEXINYOUSHIHUNHE"],["002153","HAARLHPZHHA","华安安润灵活配置混合A","混合型","HUAANANRUNLINGHUOPEIZHIHUNHEA"],["002154","HAARLHPZHHC","华安安润灵活配置混合C","混合型","HUAANANRUNLINGHUOPEIZHIHUNHEC"],["002156","CSSSHHA","长盛盛世混合A","混合型","CHANGSHENGSHENGSHIHUNHEA"],["002157","CSSSHHC","长盛盛世混合C","混合型","CHANGSHENGSHENGSHIHUNHEC"],["002158","HTFAXZXHHC","汇添富安鑫智选混合C","混合型","HUITIANFUANXINZHIXUANHUNHEC"],["002159","DWGQGG","东吴国企改革","混合型","DONGWUGUOQIGAIGE"],["002160","NFQDHH","南方驱动混合","混合型","NANFANGQUDONGHUNHE"],["002162","DFXJZHHC","东方新价值混合C","混合型","DONGFANGXINJIAZHIHUNHEC"],["002163","DFHXLHPZHHC","东方惠新灵活配置混合C","混合型","DONGFANGHUIXINLINGHUOPEIZHIHUNHEC"],["002164","HTFXRJXHHC","汇添富新睿精选混合C","混合型","HUITIANFUXINRUIJINGXUANHUNHEC"],["002165","HTFDXHHC","汇添富达欣混合C","混合型","HUITIANFUDAXINHUNHEC"],["002166","HXYFYLLCHHC","华夏永福养老理财混合C","混合型","HUAXIAYONGFUYANGLAOLICAIHUNHEC"],["002167","NFSK","南方顺康","保本型","NANFANGSHUNKANG"],["002168","JSZNQCGP","嘉实智能汽车股票","股票型","JIASHIZHINENGQICHEGUPIAO"],["002169","YYWYZQ","永赢稳益债券","债券型","YONGYINGWENYIZHAIQUAN"],["002170","DWYDHLC","东吴移动互联C","混合型","DONGWUYIDONGHULIANC"],["002172","HFTXNXHHC","海富通新内需混合C","混合型","HAIFUTONGXINNEIXUHUNHEC"],["002173","DFDJKHH","东方大健康混合","混合型","DONGFANGDAJIANKANGHUNHE"],["002174","DFHLWJHH","东方互联网嘉混合","混合型","DONGFANGHULIANWANGJIAHUNHE"],["002175","BSYQCZA","博时裕乾纯债A","债券型","BOSHIYUQIANCHUNZHAIA"],["002177","XCXZB","信诚新泽B","混合型","XINCHENGXINZEB"],["002178","JSXQDHHC","嘉实新起点混合C","混合型","JIASHIXINQIDIANHUNHEC"],["002179","HASJQDLHCLHH","华安事件驱动量化策略混合","混合型","HUAANSHIJIANQUDONGLIANGHUACELUEHUNHE"],["002182","DXLHCFHH","东兴蓝海财富混合","混合型","DONGXINGLANHAICAIFUHUNHE"],["002183","GFTTHHBB","广发天天红货币B","货币型","GUANGFATIANTIANHONGHUOBIB"],["002184","HDHLHBA","泓德泓利货币A","货币型","HONGDEHONGLIHUOBIA"],["002185","HDHLHBB","泓德泓利货币B","货币型","HONGDEHONGLIHUOBIB"],["002186","GLAXXLHPZHHC","国联安鑫享灵活配置混合C","混合型","GUOLIANANXINXIANGLINGHUOPEIZHIHUNHEC"],["002187","GLAXFHHC","国联安鑫富混合C","混合型","GUOLIANANXINFUHUNHEC"],["002188","PHFHZQ","鹏华丰华债券","债券型","PENGHUAFENGHUAZHAIQUAN"],["002189","NYHLGQGGHH","农银汇理国企改革混合","混合型","NONGYINHUILIGUOQIGAIGEHUNHE"],["002190","NYXNYZT","农银新能源主题","混合型","NONGYINXINNENGYUANZHUTI"],["002191","NYWLWHH","农银物联网混合","混合型","NONGYINWULIANWANGHUNHE"],["002192","DFDXLHPZHHC","东方鼎新灵活配置混合C","混合型","DONGFANGDINGXINLINGHUOPEIZHIHUNHEC"],["002193","DFLQHHC","东方利群混合C","混合型","DONGFANGLIQUNHUNHEC"],["002194","BXRFWDZQPZHH","北信瑞丰稳定增强偏债混合","混合型","BEIXINRUIFENGWENDINGZENGQIANGPIANZHAIHUNHE"],["002195","ZYJGXJGLHB","中银机构现金管理货币","货币型","ZHONGYINJIGOUXIANJINGUANLIHUOBI"],["002196","JYJSLXLHPZHHC","金鹰技术领先灵活配置混合C","混合型","JINYINGJISHULINGXIANLINGHUOPEIZHIHUNHEC"],["002197","GTXBBHH","国泰鑫保本混合","保本型","GUOTAIXINBAOBENHUNHE"],["002198","BSYDCZZQ","博时裕达纯债债券","债券型","BOSHIYUDACHUNZHAIZHAIQUAN"],["002199","QHKYZZJGZSC","前海开源中证军工指数C","股票指数","QIANHAIKAIYUANZHONGZHENGJUNGONGZHISHUC"],["002200","DCHCHBA","大成慧成货币A","货币型","DACHENGHUICHENGHUOBIA"],["002201","DCHCHBB","大成慧成货币B","货币型","DACHENGHUICHENGHUOBIB"],["002202","DCHCHBE","大成慧成货币E","货币型","DACHENGHUICHENGHUOBIE"],["002203","GTRXPHHH","国泰睿信平衡混合","混合型","GUOTAIRUIXINPINGHENGHUNHE"],["002206","BSYKCZZQ","博时裕康纯债债券","债券型","BOSHIYUKANGCHUNZHAIZHAIQUAN"],["002207","QHKYJYZBHHC","前海开源金银珠宝混合C","混合型","QIANHAIKAIYUANJINYINZHUBAOHUNHEC"],["002208","BSJYBBA","博时境源保本A","保本型","BOSHIJINGYUANBAOBENA"],["002209","BSJYBBC","博时境源保本C","保本型","BOSHIJINGYUANBAOBENC"],["002210","CJHXLHDYZGPA","创金合信量化多因子股票A","股票型","CHUANGJINHEXINLIANGHUADUOYINZIGUPIAOA"],["002211","JSXCFHH","嘉实新财富混合","混合型","JIASHIXINCAIFUHUNHE"],["002212","JSXQHHH","嘉实新起航混合","混合型","JIASHIXINQIHANGHUNHE"],["002213","ZHSXBBHH","中海顺鑫保本混合","保本型","ZHONGHAISHUNXINBAOBENHUNHE"],["002214","ZHHGSJZYXHH","中海沪港深价值优选混合","混合型","ZHONGHAIHUGANGSHENJIAZHIYOUXUANHUNHE"],["002215","ZSZYYNDKZ","招商招益一年定开债","定开债券","ZHAOSHANGZHAOYIYINIANDINGKAIZHAI"],["002218","NFHLA","南方弘利A","定开债券","NANFANGHONGLIA"],["002219","NFHLC","南方弘利C","定开债券","NANFANGHONGLIC"],["002220","NFRLBB","南方瑞利保本","保本型","NANFANGRUILIBAOBEN"],["002221","JSJZZQHH","嘉实价值增强混合","混合型","JIASHIJIAZHIZENGQIANGHUNHE"],["002222","JSXQSHH","嘉实新趋势混合","混合型","JIASHIXINQUSHIHUNHE"],["002223","ZYZXYNDKHH","中邮尊享一年定开混合","混合型","ZHONGYOUZUNXIANGYINIANDINGKAIHUNHE"],["002224","ZYJDSYCLDQKFHH","中邮绝对收益策略定期开放混合","混合型","ZHONGYOUJUEDUISHOUYICELUEDINGQIKAIFANGHUNHE"],["002225","CCXSYHHA","长城新视野混合A","混合型","CHANGCHENGXINSHIYEHUNHEA"],["002226","CCXSYHHC","长城新视野混合C","混合型","CHANGCHENGXINSHIYEHUNHEC"],["002227","CCXYXHHA","长城新优选混合A","混合型","CHANGCHENGXINYOUXUANHUNHEA"],["002228","CCXYXHHC","长城新优选混合C","混合型","CHANGCHENGXINYOUXUANHUNHEC"],["002229","HXJJZXGP","华夏经济转型股票","股票型","HUAXIAJINGJIZHUANXINGGUPIAO"],["002230","HXDZHHHQDII","华夏大中华混合(QDII)","QDII","HUAXIADAZHONGHUAHUNHEQDII"],["002231","HXXQSHHA","华夏新趋势混合A","混合型","HUAXIAXINQUSHIHUNHEA"],["002232","HXXQSHHC","华夏新趋势混合C","混合型","HUAXIAXINQUSHIHUNHEC"],["002233","GYFSHBLHPZHHC","工银丰收回报灵活配置混合C","混合型","GONGYINFENGSHOUHUIBAOLINGHUOPEIZHIHUNHEC"],["002234","TXTTSYHBB","泰信天天收益货币B","货币型","TAIXINTIANTIANSHOUYIHUOBIB"],["002235","TXTTSYHBE","泰信天天收益货币E","货币型","TAIXINTIANTIANSHOUYIHUOBIE"],["002236","DC360HLWDSJ100A","大成360互联网+大数据100A","股票指数","DACHENG360HULIANWANGDASHUJU100A"],["002237","DCJPLHPZHHC","大成景沛灵活配置混合C","混合型","DACHENGJINGPEILINGHUOPEIZHIHUNHEC"],["002238","HALHBBHHA","华安乐惠保本混合A","保本型","HUAANLEHUIBAOBENHUNHEA"],["002239","HALHBBHHC","华安乐惠保本混合C","保本型","HUAANLEHUIBAOBENHUNHEC"],["002240","DBZLHBA","德邦增利货币A","货币型","DEBANGZENGLIHUOBIA"],["002241","DBZLHBB","德邦增利货币B","货币型","DEBANGZENGLIHUOBIB"],["002242","GTRYRXBBHH","国投瑞银瑞兴保本混合","保本型","GUOTOURUIYINRUIXINGBAOBENHUNHE"],["002243","DFJZTHB","东方金证通货币","货币型","DONGFANGJINZHENGTONGHUOBI"],["002244","JSCCDTKJZTHH","景顺长城低碳科技主题混合","混合型","JINGSHUNCHANGCHENGDITANKEJIZHUTIHUNHE"],["002245","TKWJZLZQA","泰康稳健增利债券A","债券型","TAIKANGWENJIANZENGLIZHAIQUANA"],["002246","TKWJZLZQC","泰康稳健增利债券C","债券型","TAIKANGWENJIANZENGLIZHAIQUANC"],["002247","XJQHLHHYHBA","新疆前海联合海盈货币A","货币型","XINJIANGQIANHAILIANHEHAIYINGHUOBIA"],["002248","XJQHLHHYHBB","新疆前海联合海盈货币B","货币型","XINJIANGQIANHAILIANHEHAIYINGHUOBIB"],["002249","ZSJYBBHH","招商境远保本混合","保本型","ZHAOSHANGJINGYUANBAOBENHUNHE"],["002250","HTCXGGHLHH","红土创新改革红利混合","混合型","HONGTUCHUANGXINGAIGEHONGLIHUNHE"],["002251","HXJGAQHH","华夏军工安全混合","混合型","HUAXIAJUNGONGANQUANHUNHE"],["002252","RTCZ30LHPZHH","融通成长30灵活配置混合","混合型","RONGTONGCHENGZHANG30LINGHUOPEIZHIHUNHE"],["002253","RTCZ30LHPZHH","融通成长30灵活配置混合(后端)","混合型","RONGTONGCHENGZHANG30LINGHUOPEIZHIHUNHE"],["002254","CXJKCZA","长信金葵纯债A","定开债券","CHANGXINJINKUICHUNZHAIA"],["002255","CXJKCZC","长信金葵纯债C","定开债券","CHANGXINJINKUICHUNZHAIC"],["002256","JXXNYQCHHFQS","金信新能源汽车混合发起式","混合型","JINXINXINNENGYUANQICHEHUNHEFAQISHI"],["002259","PHJKHBHH","鹏华健康环保混合","混合型","PENGHUAJIANKANGHUANBAOHUNHE"],["002260","ZXJTTXB","中信建投添鑫宝","货币型","ZHONGXINJIANTOUTIANXINBAO"],["002261","ZYBLHHA","中银宝利混合A","混合型","ZHONGYINBAOLIHUNHEA"],["002262","ZYBLHHC","中银宝利混合C","混合型","ZHONGYINBAOLIHUNHEC"],["002263","TDHLDSJHHA","泰达宏利大数据混合A","混合型","TAIDAHONGLIDASHUJUHUNHEA"],["002264","HXLXJKHH","华夏乐享健康混合","混合型","HUAXIALEXIANGJIANKANGHUNHE"],["002265","XYXLZQ","鑫元兴利债券","债券型","XINYUANXINGLIZHAIQUAN"],["002266","BSAH18GYDKZA","博时安和18个月定开债A","定开债券","BOSHIANHE18GEYUEDINGKAIZHAIA"],["002267","BSAH18GYDKZC","博时安和18个月定开债C","定开债券","BOSHIANHE18GEYUEDINGKAIZHAIC"],["002268","XYFLZQ","兴业丰利债券","债券型","XINGYEFENGLIZHAIQUAN"],["002269","YHDSJLHPZDKHH","银华大数据灵活配置定开混合","混合型","YINHUADASHUJULINGHUOPEIZHIDINGKAIHUNHE"],["002270","DWAYLHLHPZHH","东吴安盈量化灵活配置混合","混合型","DONGWUANYINGLIANGHUALINGHUOPEIZHIHUNHE"],["002271","ZSAHBBHH","招商安弘保本混合","保本型","ZHAOSHANGANHONGBAOBENHUNHE"],["002272","XHKJCXZTLHPZHH","新华科技创新主题灵活配置混合","混合型","XINHUAKEJICHUANGXINZHUTILINGHUOPEIZHIHUNHE"],["002273","TDHLCYHHB","泰达宏利创益混合B","混合型","TAIDAHONGLICHUANGYIHUNHEB"],["002274","ZYCZJLZQA","中邮纯债聚利债券A","债券型","ZHONGYOUCHUNZHAIJULIZHAIQUANA"],["002275","ZYCZJLZQC","中邮纯债聚利债券C","债券型","ZHONGYOUCHUNZHAIJULIZHAIQUANC"],["002278","ZYWJHYZQ","中邮稳健合赢债券","债券型","ZHONGYOUWENJIANHEYINGZHAIQUAN"],["002279","ZSHYCZ","浙商惠盈纯债","债券型","ZHESHANGHUIYINGCHUNZHAI"],["002280","HFAXBBHH","华富安享保本混合","保本型","HUAFUANXIANGBAOBENHUNHE"],["002281","JXAXBBSHHH","建信安心保本三号混合","保本型","JIANXINANXINBAOBENSANHAOHUNHE"],["002282","PADHAXBBHH","平安大华安享保本混合","保本型","PINGANDAHUAANXIANGBAOBENHUNHE"],["002283","CSTYCZA","长盛同裕纯债A","债券型","CHANGSHENGTONGYUCHUNZHAIA"],["002284","CSTYCZC","长盛同裕纯债C","债券型","CHANGSHENGTONGYUCHUNZHAIC"],["002285","CSTYCZE","长盛同裕纯债E","债券型","CHANGSHENGTONGYUCHUNZHAIE"],["002286","ZYMYZZQRMB","中银美元债债券人民币","QDII","ZHONGYINMEIYUANZHAIZHAIQUANRENMINBI"],["002287","ZYMYZZQMY","中银美元债债券美元","QDII","ZHONGYINMEIYUANZHAIZHAIQUANMEIYUAN"],["002288","ZYWJBB","中银稳进保本","保本型","ZHONGYINWENJINBAOBEN"],["002290","DCJHLHPZHHC","大成景辉灵活配置混合C","混合型","DACHENGJINGHUILINGHUOPEIZHIHUNHEC"],["002291","NAAXBBHH","诺安安鑫保本混合","保本型","NUOANANXINBAOBENHUNHE"],["002292","NAYXBB","诺安益鑫保本","保本型","NUOANYIXINBAOBEN"],["002293","NFYHBB","南方益和保本","保本型","NANFANGYIHEBAOBEN"],["002294","BSXJYHHC","博时新机遇混合C","混合型","BOSHIXINJIYUHUNHEC"],["002295","GFWABB","广发稳安保本","保本型","GUANGFAWENANBAOBEN"],["002296","CCJABB","长城久安保本","保本型","CHANGCHENGJIUANBAOBEN"],["002297","FZFBYXLHPZHHC","方正富邦优选灵活配置混合C","混合型","FANGZHENGFUBANGYOUXUANLINGHUOPEIZHIHUNHEC"],["002300","CSYLHYLHPZGP","长盛医疗行业量化配置股票","股票型","CHANGSHENGYILIAOHANGYELIANGHUAPEIZHIGUPIAO"],["002301","XYJSLHPZHHA","兴业聚盛灵活配置混合A","混合型","XINGYEJUSHENGLINGHUOPEIZHIHUNHEA"],["002302","XWTBB","新沃通宝B","货币型","XINWOTONGBAOB"],["002303","JYZHSHHH","金鹰智慧生活混合","混合型","JINYINGZHIHUISHENGHUOHUNHE"],["002304","PADHAXBBHH","平安大华安心保本混合","保本型","PINGANDAHUAANXINBAOBENHUNHE"],["002305","GDFGLDHH","光大风格轮动混合","混合型","GUANGDAFENGGELUNDONGHUNHE"],["002306","YHHLZQ","银华合利债券","债券型","YINHUAHELIZHAIQUAN"],["002307","YHDYSYLHPZHH","银华多元视野灵活配置混合","混合型","YINHUADUOYUANSHIYELINGHUOPEIZHIHUNHE"],["002308","AXAYBBHH","安信安盈保本混合","保本型","ANXINANYINGBAOBENHUNHE"],["002309","GSABWDHBHHC","国寿安保稳定回报混合C","混合型","GUOSHOUANBAOWENDINGHUIBAOHUNHEC"],["002310","CJHXHS300ZSZQA","创金合信沪深300指数增强A","股票指数","CHUANGJINHEXINHUSHEN300ZHISHUZENGQIANGA"],["002311","CJHXZZ500ZSZQA","创金合信中证500指数增强A","股票指数","CHUANGJINHEXINZHONGZHENG500ZHISHUZENGQIANGA"],["002312","GSABWJHBHHC","国寿安保稳健回报混合C","混合型","GUOSHOUANBAOWENJIANHUIBAOHUNHEC"],["002313","TDHLXQDHHB","泰达宏利新起点混合B","混合型","TAIDAHONGLIXINQIDIANHUNHEB"],["002314","TDHLXSLHHB","泰达宏利新思路混合B","混合型","TAIDAHONGLIXINSILUHUNHEB"],["002315","CJHXHS300ZSZQC","创金合信沪深300指数增强C","股票指数","CHUANGJINHEXINHUSHEN300ZHISHUZENGQIANGC"],["002316","CJHXZZ500ZSZQC","创金合信中证500指数增强C","股票指数","CHUANGJINHEXINZHONGZHENG500ZHISHUZENGQIANGC"],["002317","ZSRYHH","招商睿逸混合","混合型","ZHAOSHANGRUIYIHUNHE"],["002318","PHTLJYXHBA","鹏华添利交易型货币A","货币型","PENGHUATIANLIJIAOYIXINGHUOBIA"],["002322","YHHLLHPZHHC","银华汇利灵活配置混合C","混合型","YINHUAHUILILINGHUOPEIZHIHUNHEC"],["002323","YHWLLHPZHHC","银华稳利灵活配置混合C","混合型","YINHUAWENLILINGHUOPEIZHIHUNHEC"],["002324","NFRTYA","南方日添益A","货币型","NANFANGRITIANYIA"],["002325","NFRTYE","南方日添益E","货币型","NANFANGRITIANYIE"],["002326","YHJLLHPZHHC","银华聚利灵活配置混合C","混合型","YINHUAJULILINGHUOPEIZHIHUNHEC"],["002327","YHHLLHPZHHC","银华恒利灵活配置混合C","混合型","YINHUAHENGLILINGHUOPEIZHIHUNHEC"],["002328","YHTLLHPZHHC","银华泰利灵活配置混合C","混合型","YINHUATAILILINGHUOPEIZHIHUNHEC"],["002330","XYJBLHPZHH","兴业聚宝灵活配置混合","混合型","XINGYEJUBAOLINGHUOPEIZHIHUNHE"],["002331","TKATHBHH","泰康安泰回报混合","混合型","TAIKANGANTAIHUIBAOHUNHE"],["002332","HFJXHGSA","汇丰晋信沪港深A","股票型","HUIFENGJINXINHUGANGSHENA"],["002333","HFJXHGSC","汇丰晋信沪港深C","股票型","HUIFENGJINXINHUGANGSHENC"],["002334","HFJXDPBDGPA","汇丰晋信大盘波动股票A","股票型","HUIFENGJINXINDAPANBODONGGUPIAOA"],["002335","HFJXDPBDGPC","汇丰晋信大盘波动股票C","股票型","HUIFENGJINXINDAPANBODONGGUPIAOC"],["002336","CJHXZXCZ","创金合信尊享纯债","债券型","CHUANGJINHEXINZUNXIANGCHUNZHAI"],["002337","CJHXZYCZZQ","创金合信尊盈纯债债券","债券型","CHUANGJINHEXINZUNYINGCHUNZHAIZHAIQUAN"],["002338","XYBBHH","兴业保本混合","保本型","XINGYEBAOBENHUNHE"],["002339","HFTYLSYHHC","海富通养老收益混合C","混合型","HAIFUTONGYANGLAOSHOUYIHUNHEC"],["002340","FGJZYSHH","富国价值优势混合","混合型","FUGUOJIAZHIYOUSHIHUNHE"],["002341","ZSZRCZFQSA","招商招瑞纯债发起式A","债券型","ZHAOSHANGZHAORUICHUNZHAIFAQISHIA"],["002342","RTZYZQAB","融通增益债券A/B","债券型","RONGTONGZENGYIZHAIQUANAB"],["002343","RTZYZQAB","融通增益债券A/B(后端)","债券型","RONGTONGZENGYIZHAIQUANAB"],["002344","RTZYZQC","融通增益债券C","债券型","RONGTONGZENGYIZHAIQUANC"],["002345","HXGDZZHH","华夏高端制造混合","混合型","HUAXIAGAODUANZHIZAOHUNHE"],["002346","HXDCZQA","华夏鼎诚债券A","债券型","HUAXIADINGCHENGZHAIQUANA"],["002347","HXDCZQI","华夏鼎诚债券I","债券型","HUAXIADINGCHENGZHAIQUANI"],["002348","HXDXZQA","华夏鼎新债券A","债券型","HUAXIADINGXINZHAIQUANA"],["002349","HXDXZQI","华夏鼎新债券I","债券型","HUAXIADINGXINZHAIQUANI"],["002350","HAAHBBHH","华安安华保本混合","保本型","HUAANANHUABAOBENHUNHE"],["002351","YFDYXHBZQ","易方达裕祥回报债券","债券型","YIFANGDAYUXIANGHUIBAOZHAIQUAN"],["002354","BSYTCZ","博时裕腾纯债","债券型","BOSHIYUTENGCHUNZHAI"],["002355","GTRYSYLYNZQ","国投瑞银岁赢利一年债券","定开债券","GUOTOURUIYINSUIYINGLIYINIANZHAIQUAN"],["002356","BSAT18GYDKZA","博时安泰18个月定开债A","定开债券","BOSHIANTAI18GEYUEDINGKAIZHAIA"],["002357","BSAT18GYDKZC","博时安泰18个月定开债C","定开债券","BOSHIANTAI18GEYUEDINGKAIZHAIC"],["002358","GTRYRXBBHH","国投瑞银瑞祥保本混合","保本型","GUOTOURUIYINRUIXIANGBAOBENHUNHE"],["002360","QHKYQJNYHHC","前海开源清洁能源混合C","混合型","QIANHAIKAIYUANQINGJIENENGYUANHUNHEC"],["002361","GFHRZQA","国富恒瑞债券A","债券型","GUOFUHENGRUIZHAIQUANA"],["002362","GFHRZQC","国富恒瑞债券C","债券型","GUOFUHENGRUIZHAIQUANC"],["002363","HAAKBBHHA","华安安康保本混合A","保本型","HUAANANKANGBAOBENHUNHEA"],["002364","HAAKBBHHC","华安安康保本混合C","保本型","HUAANANKANGBAOBENHUNHEC"],["002365","GLAXXLHPZHHA","国联安鑫禧灵活配置混合A","混合型","GUOLIANANXINXILINGHUOPEIZHIHUNHEA"],["002366","GLAXXLHPZHHC","国联安鑫禧灵活配置混合C","混合型","GUOLIANANXINXILINGHUOPEIZHIHUNHEC"],["002367","GLAAWBBHH","国联安安稳保本混合","保本型","GUOLIANANANWENBAOBENHUNHE"],["002368","GLAXYLHPZHHA","国联安鑫悦灵活配置混合A","混合型","GUOLIANANXINYUELINGHUOPEIZHIHUNHEA"],["002369","GLAXYLHPZHHC","国联安鑫悦灵活配置混合C","混合型","GUOLIANANXINYUELINGHUOPEIZHIHUNHEC"],["002370","DCJXLHPZHHC","大成景秀灵活配置混合C","混合型","DACHENGJINGXIULINGHUOPEIZHIHUNHEC"],["002371","DCJMLHPZHHC","大成景明灵活配置混合C","混合型","DACHENGJINGMINGLINGHUOPEIZHIHUNHEC"],["002372","DCJSLHPZHHC","大成景穗灵活配置混合C","混合型","DACHENGJINGSUILINGHUOPEIZHIHUNHEC"],["002373","DCJYLHPZHHC","大成景源灵活配置混合C","混合型","DACHENGJINGYUANLINGHUOPEIZHIHUNHEC"],["002374","DCJPLHPZHHC","大成景鹏灵活配置混合C","混合型","DACHENGJINGPENGLINGHUOPEIZHIHUNHEC"],["002375","DCJYLHPZHHC","大成景裕灵活配置混合C","混合型","DACHENGJINGYULINGHUOPEIZHIHUNHEC"],["002376","GSABHXCYHH","国寿安保核心产业混合","混合型","GUOSHOUANBAOHEXINCHANYEHUNHE"],["002377","JXMBSYYNQZQ","建信目标收益一年期债券","定开债券","JIANXINMUBIAOSHOUYIYINIANQIZHAIQUAN"],["002378","JXAXBBWHHH","建信安心保本五号混合","保本型","JIANXINANXINBAOBENWUHAOHUNHE"],["002379","GYXGZXPRMB","工银香港中小盘人民币","QDII","GONGYINXIANGGANGZHONGXIAOPANRENMINBI"],["002380","GYXGZXPMY","工银香港中小盘美元","QDII","GONGYINXIANGGANGZHONGXIAOPANMEIYUAN"],["002381","DHXRA","东海祥瑞A","债券型","DONGHAIXIANGRUIA"],["002382","DHXRC","东海祥瑞C","债券型","DONGHAIXIANGRUIC"],["002383","DCQSHBLHPZHH","大成趋势回报灵活配置混合","混合型","DACHENGQUSHIHUIBAOLINGHUOPEIZHIHUNHE"],["002385","BSHS300ZSC","博时沪深300指数C","股票指数","BOSHIHUSHEN300ZHISHUC"],["002386","GYZGZZ2025GP","工银中国制造2025股票","股票型","GONGYINZHONGGUOZHIZAO2025GUPIAO"],["002387","GYHGSGP","工银沪港深股票","股票型","GONGYINHUGANGSHENGUPIAO"],["002388","THYLLHPZHH","天弘裕利灵活配置混合","混合型","TIANHONGYULILINGHUOPEIZHIHUNHE"],["002389","ZSADBBHHA","招商安德保本混合A","保本型","ZHAOSHANGANDEBAOBENHUNHEA"],["002390","ZSADBBHHC","招商安德保本混合C","保本型","ZHAOSHANGANDEBAOBENHUNHEC"],["002391","HAQQMYSYZRMBA","华安全球美元收益债人民币A","QDII","HUAANQUANQIUMEIYUANSHOUYIZHAIRENMINBIA"],["002392","HAQQMYSYZMYXHA","华安全球美元收益债美元现汇A","QDII","HUAANQUANQIUMEIYUANSHOUYIZHAIMEIYUANXIANHUIA"],["002393","HAQQMYSYZC","华安全球美元收益债C","QDII","HUAANQUANQIUMEIYUANSHOUYIZHAIC"],["002395","PHFSDKZA","鹏华丰尚定开债A","定开债券","PENGHUAFENGSHANGDINGKAIZHAIA"],["002396","PHFSDKZB","鹏华丰尚定开债B","定开债券","PENGHUAFENGSHANGDINGKAIZHAIB"],["002397","ZYZLZQ","中邮增力债券","债券型","ZHONGYOUZENGLIZHAIQUAN"],["002398","HAAXBBHHA","华安安禧保本混合A","保本型","HUAANANXIBAOBENHUNHEA"],["002399","HAAXBBHHC","华安安禧保本混合C","保本型","HUAANANXIBAOBENHUNHEC"],["002400","NFYZMYZRMBA","南方亚洲美元债人民币A","QDII","NANFANGYAZHOUMEIYUANZHAIRENMINBIA"],["002401","NFYZMYZRMBC","南方亚洲美元债人民币C","QDII","NANFANGYAZHOUMEIYUANZHAIRENMINBIC"],["002402","NFYZMYZMYXHA","南方亚洲美元债美元现汇A","QDII","NANFANGYAZHOUMEIYUANZHAIMEIYUANXIANHUIA"],["002403","NFYZMYZMYXHC","南方亚洲美元债美元现汇C","QDII","NANFANGYAZHOUMEIYUANZHAIMEIYUANXIANHUIC"],["002404","BSYQCZC","博时裕乾纯债C","债券型","BOSHIYUQIANCHUNZHAIC"],["002407","QHKYHYBBHH","前海开源恒远保本混合","保本型","QIANHAIKAIYUANHENGYUANBAOBENHUNHE"],["002408","ZXJTYG","中信建投医改","混合型","ZHONGXINJIANTOUYIGAI"],["002409","HXXHLHHA","华夏新活力混合A","混合型","HUAXIAXINHUOLIHUNHEA"],["002410","HXXHLHHC","华夏新活力混合C","混合型","HUAXIAXINHUOLIHUNHEC"],["002411","HXXJYHH","华夏新机遇混合","混合型","HUAXIAXINJIYUHUNHE"],["002412","HFAFBBHH","华富安福保本混合","保本型","HUAFUANFUBAOBENHUNHE"],["002413","ZYRLHHA","中银瑞利混合A","混合型","ZHONGYINRUILIHUNHEA"],["002414","ZYRLHHC","中银瑞利混合C","混合型","ZHONGYINRUILIHUNHEC"],["002415","RTTYBBHH","融通通盈保本混合","保本型","RONGTONGTONGYINGBAOBENHUNHE"],["002416","ZSFLLHPZHHC","招商丰利灵活配置混合C","混合型","ZHAOSHANGFENGLILINGHUOPEIZHIHUNHEC"],["002417","ZSFSWDZZHHC","招商丰盛稳定增长混合C","混合型","ZHAOSHANGFENGSHENGWENDINGZENGZHANGHUNHEC"],["002418","HTFYXHBLHPZHHC","汇添富优选回报灵活配置混合C","混合型","HUITIANFUYOUXUANHUIBAOLINGHUOPEIZHIHUNHEC"],["002419","HTFYABBHH","汇添富盈安保本混合","保本型","HUITIANFUYINGANBAOBENHUNHE"],["002420","HTFYXBBHH","汇添富盈鑫保本混合","保本型","HUITIANFUYINGXINBAOBENHUNHE"],["002421","XHXYZQA","新华信用增强A","债券型","XINHUAXINYONGZENGQIANGA"],["002422","XHXYZQC","新华信用增强C","债券型","XINHUAXINYONGZENGQIANGC"],["002423","HBBPMGXFMY","华宝标普美国消费美元","QDII-指数","HUABAOBIAOPUMEIGUOXIAOFEIMEIYUAN"],["002424","BSWTYLZTHH","博时文体娱乐主题混合","混合型","BOSHIWENTIYULEZHUTIHUNHE"],["002425","JYBBHHC","金鹰保本混合C","保本型","JINYINGBAOBENHUNHEC"],["002426","HAQQMYPXZRMBA","华安全球美元票息债人民币A","QDII","HUAANQUANQIUMEIYUANPIAOXIZHAIRENMINBIA"],["002427","HAQQMYPXZMYXHA","华安全球美元票息债美元现汇A","QDII","HUAANQUANQIUMEIYUANPIAOXIZHAIMEIYUANXIANHUIA"],["002429","HAQQMYPXZC","华安全球美元票息债C","QDII","HUAANQUANQIUMEIYUANPIAOXIZHAIC"],["002430","ZYFLHHA","中银丰利混合A","混合型","ZHONGYINFENGLIHUNHEA"],["002431","ZYFLHHC","中银丰利混合C","混合型","ZHONGYINFENGLIHUNHEC"],["002432","THLXBBHH","天弘乐享保本混合","保本型","TIANHONGLEXIANGBAOBENHUNHE"],["002433","THJLHH","天弘金利混合","混合型","TIANHONGJINLIHUNHE"],["002434","ZYHLHHA","中银宏利混合A","混合型","ZHONGYINHONGLIHUNHEA"],["002435","ZYHLHHC","中银宏利混合C","混合型","ZHONGYINHONGLIHUNHEC"],["002436","STMGHLHBHHC","上投摩根红利回报混合C","混合型","SHANGTOUMOGENHONGLIHUIBAOHUNHEC"],["002437","STMGTYNFHHC","上投摩根天颐年丰混合C","混合型","SHANGTOUMOGENTIANYINIANFENGHUNHEC"],["002438","CJHXZSCZ","创金合信尊盛纯债","债券型","CHUANGJINHEXINZUNSHENGCHUNZHAI"],["002440","ZJXABBHH","中加心安保本混合","保本型","ZHONGJIAXINANBAOBENHUNHE"],["002441","DBXTLZQC","德邦新添利债券C","债券型","DEBANGXINTIANLIZHAIQUANC"],["002442","XYHLZQ","鑫元汇利债券","债券型","XINYUANHUILIZHAIQUAN"],["002443","QHKYHGSLTJXHH","前海开源沪港深龙头精选混合","混合型","QIANHAIKAIYUANHUGANGSHENLONGTOUJINGXUANHUNHE"],["002445","XYFTZQ","兴业丰泰债券","债券型","XINGYEFENGTAIZHAIQUAN"],["002446","GFWXBB","广发稳鑫保本","保本型","GUANGFAWENXINBAOBEN"],["002447","BSYACZ","博时裕安纯债","债券型","BOSHIYUANCHUNZHAI"],["002448","JXHF","江信汇福","定开债券","JIANGXINHUIFU"],["002449","MSJYLHZGHH","民生加银量化中国混合","混合型","MINSHENGJIAYINLIANGHUAZHONGGUOHUNHE"],["002450","PADHRXWYHHA","平安大华睿享文娱混合A","混合型","PINGANDAHUARUIXIANGWENYUHUNHEA"],["002451","PADHRXWYHHC","平安大华睿享文娱混合C","混合型","PINGANDAHUARUIXIANGWENYUHUNHEC"],["002452","MSJYHXZQ","民生加银和鑫债券","债券型","MINSHENGJIAYINHEXINZHAIQUAN"],["002453","JTJWBBHHA","九泰久稳保本混合A","保本型","JIUTAIJIUWENBAOBENHUNHEA"],["002454","JTJWBBHHC","九泰久稳保本混合C","保本型","JIUTAIJIUWENBAOBENHUNHEC"],["002455","MSJYXXHH","民生加银鑫喜混合","混合型","MINSHENGJIAYINXINXIHUNHE"],["002456","ZSAYBBHHA","招商安元保本混合A","保本型","ZHAOSHANGANYUANBAOBENHUNHEA"],["002457","ZSAYBBHHC","招商安元保本混合C","保本型","ZHAOSHANGANYUANBAOBENHUNHEC"],["002458","GTMLBBHH","国泰民利保本混合","保本型","GUOTAIMINLIBAOBENHUNHE"],["002459","HXDLZQFQSA","华夏鼎利债券发起式A","债券型","HUAXIADINGLIZHAIQUANFAQISHIA"],["002460","HXDLZQFQSC","华夏鼎利债券发起式C","债券型","HUAXIADINGLIZHAIQUANFAQISHIC"],["002461","ZYZLHHA","中银珍利混合A","混合型","ZHONGYINZHENLIHUNHEA"],["002462","ZYZLHHC","中银珍利混合C","混合型","ZHONGYINZHENLIHUNHEC"],["002464","CJHXZLCZ","创金合信尊利纯债","债券型","CHUANGJINHEXINZUNLICHUNZHAI"],["002465","DXZZYXHH","东兴众智优选混合","混合型","DONGXINGZHONGZHIYOUXUANHUNHE"],["002466","BSYXCZ","博时裕新纯债","债券型","BOSHIYUXINCHUNZHAI"],["002467","GTRYQQZQRMB","国投瑞银全球债券人民币","QDII","GUOTOURUIYINQUANQIUZHAIQUANRENMINBI"],["002468","GTRYQQZQMYXH","国投瑞银全球债券美元现汇","QDII","GUOTOURUIYINQUANQIUZHAIQUANMEIYUANXIANHUI"],["002469","HTBRJYHBB","华泰柏瑞交易货币B","货币型","HUATAIBAIRUIJIAOYIHUOBIB"],["002470","TDDYHBZQA","泰达多元回报债券A","债券型","TAIDADUOYUANHUIBAOZHAIQUANA"],["002471","TDDYHBZQC","泰达多元回报债券C","债券型","TAIDADUOYUANHUIBAOZHAIQUANC"],["002474","ZYRXZQZ","中邮睿信增强债","债券型","ZHONGYOURUIXINZENGQIANGZHAI"],["002476","BSAR18GYDKZA","博时安瑞18个月定开债A","定开债券","BOSHIANRUI18GEYUEDINGKAIZHAIA"],["002477","BSAR18GYDKZC","博时安瑞18个月定开债C","定开债券","BOSHIANRUI18GEYUEDINGKAIZHAIC"],["002478","ZOTTZQA","中欧天添债券A","定开债券","ZHONGOUTIANTIANZHAIQUANA"],["002479","ZOTTZQC","中欧天添债券C","定开债券","ZHONGOUTIANTIANZHAIQUANC"],["002480","DFRJBBHH","东方荣家保本混合","保本型","DONGFANGRONGJIABAOBENHUNHE"],["002481","YHSDLZQ","银华双动力债券","债券型","YINHUASHUANGDONGLIZHAIQUAN"],["002482","BYHLWHGSHH","宝盈互联网沪港深混合","混合型","BAOYINGHULIANWANGHUGANGSHENHUNHE"],["002483","FGTLDKZFQS","富国泰利定开债发起式","定开债券","FUGUOTAILIDINGKAIZHAIFAQISHI"],["002485","GLATYHHC","国联安通盈混合C","混合型","GUOLIANANTONGYINGHUNHEC"],["002486","SYHTLZQ","上银慧添利债券","债券型","SHANGYINHUITIANLIZHAIQUAN"],["002487","HTFWTLDKZA","汇添富稳添利定开债A","定开债券","HUITIANFUWENTIANLIDINGKAIZHAIA"],["002488","HTFWTLDKZC","汇添富稳添利定开债C","定开债券","HUITIANFUWENTIANLIDINGKAIZHAIC"],["002489","GTMFBBHH","国泰民福保本混合","保本型","GUOTAIMINFUBAOBENHUNHE"],["002490","JYYQBBHH","金鹰元祺保本混合","保本型","JINYINGYUANQIBAOBENHUNHE"],["002491","YHTYDKZ","银华添益定开债","定开债券","YINHUATIANYIDINGKAIZHAI"],["002492","GYYYXDQZFZQC","工银月月薪定期支付债券C","债券型","GONGYINYUEYUEXINDINGQIZHIFUZHAIQUANC"],["002494","XYJYLHPZHH","兴业聚盈灵活配置混合","混合型","XINGYEJUYINGLINGHUOPEIZHIHUNHE"],["002497","DFSSLHPZHH","东方盛世灵活配置混合","混合型","DONGFANGSHENGSHILINGHUOPEIZHIHUNHE"],["002498","XYJXLHPZHH","兴业聚鑫灵活配置混合","混合型","XINGYEJUXINLINGHUOPEIZHIHUNHE"],["002499","DBCZ9GYDKZA","德邦纯债9个月定开债A","定开债券","DEBANGCHUNZHAI9GEYUEDINGKAIZHAIA"],["002500","DBCZ9GYDKZC","德邦纯债9个月定开债C","定开债券","DEBANGCHUNZHAI9GEYUEDINGKAIZHAIC"],["002501","YHYJZQ","银华远景债券","债券型","YINHUAYUANJINGZHAIQUAN"],["002502","ZYTLHHA","中银腾利混合A","混合型","ZHONGYINTENGLIHUNHEA"],["002503","ZYTLHHC","中银腾利混合C","混合型","ZHONGYINTENGLIHUNHEC"],["002504","PHJDBBHHA","鹏华金鼎保本混合A","保本型","PENGHUAJINDINGBAOBENHUNHEA"],["002505","PHJDBBHHC","鹏华金鼎保本混合C","保本型","PENGHUAJINDINGBAOBENHUNHEC"],["002506","ZSZY18GYDKZ","招商招盈18个月定开债","定开债券","ZHAOSHANGZHAOYING18GEYUEDINGKAIZHAI"],["002507","XYDKZC","兴业定开债C","定开债券","XINGYEDINGKAIZHAIC"],["002508","HBBXZQA","华宝宝鑫债券A","定开债券","HUABAOBAOXINZHAIQUANA"],["002509","HBBXZQC","华宝宝鑫债券C","定开债券","HUABAOBAOXINZHAIQUANC"],["002510","SWLXZZ500ZSZQ","申万菱信中证500指数增强","股票指数","SHENWANLINGXINZHONGZHENG500ZHISHUZENGQIANG"],["002512","CCJRBB","长城久润保本","保本型","CHANGCHENGJIURUNBAOBEN"],["002513","JYYABBHHC","金鹰元安保本混合C","保本型","JINYINGYUANANBAOBENHUNHEC"],["002514","ZSFYHHA","招商丰益混合A","混合型","ZHAOSHANGFENGYIHUNHEA"],["002515","ZSFYHHC","招商丰益混合C","混合型","ZHAOSHANGFENGYIHUNHEC"],["002516","ZSFDHHA","招商丰达混合A","混合型","ZHAOSHANGFENGDAHUNHEA"],["002517","ZSFDHHC","招商丰达混合C","混合型","ZHAOSHANGFENGDAHUNHEC"],["002518","MSJYXFHH","民生加银鑫福混合","混合型","MINSHENGJIAYINXINFUHUNHE"],["002519","BSYJCZ","博时裕景纯债","债券型","BOSHIYUJINGCHUNZHAI"],["002520","ZSZRCZFQSC","招商招瑞纯债发起式C","债券型","ZHAOSHANGZHAORUICHUNZHAIFAQISHIC"],["002521","YYSLZQA","永赢双利债券A","债券型","YONGYINGSHUANGLIZHAIQUANA"],["002522","YYSLZQC","永赢双利债券C","债券型","YONGYINGSHUANGLIZHAIQUANC"],["002523","GDHLCZ","光大恒利纯债","债券型","GUANGDAHENGLICHUNZHAI"],["002524","XYFYZQ","兴业福益债券","债券型","XINGYEFUYIZHAIQUAN"],["002527","NFAXJDSY","南方安享绝对收益","混合型","NANFANGANXIANGJUEDUISHOUYI"],["002528","TKAYCZA","泰康安益纯债A","债券型","TAIKANGANYICHUNZHAIA"],["002529","TKAYCZC","泰康安益纯债C","债券型","TAIKANGANYICHUNZHAIC"],["002530","BSBZBBA","博时保泽保本A","保本型","BOSHIBAOZEBAOBENA"],["002531","BSBZBBC","博时保泽保本C","保本型","BOSHIBAOZEBAOBENC"],["002532","ZOQYZQ","中欧强盈债券","定开债券","ZHONGOUQIANGYINGZHAIQUAN"],["002533","ZJXXHHC","中加心享混合C","混合型","ZHONGJIAXINXIANGHUNHEC"],["002534","HAWGSYZQA","华安稳固收益债券A","债券型","HUAANWENGUSHOUYIZHAIQUANA"],["002535","ZYXLHHA","中银鑫利混合A","混合型","ZHONGYINXINLIHUNHEA"],["002536","ZYXLHHC","中银鑫利混合C","混合型","ZHONGYINXINLIHUNHEC"],["002537","PADHAYBBHH","平安大华安盈保本混合","保本型","PINGANDAHUAANYINGBAOBENHUNHE"],["002538","ZSFJHHA","招商丰嘉混合A","混合型","ZHAOSHANGFENGJIAHUNHEA"],["002539","ZSFJHHC","招商丰嘉混合C","混合型","ZHAOSHANGFENGJIAHUNHEC"],["002540","ZSFHHHA","招商丰和混合A","混合型","ZHAOSHANGFENGHEHUNHEA"],["002541","ZSFHHHC","招商丰和混合C","混合型","ZHAOSHANGFENGHEHUNHEC"],["002542","CCJDBBHH","长城久鼎保本混合","保本型","CHANGCHENGJIUDINGBAOBENHUNHE"],["002543","CCJYBBA","长城久益保本A","保本型","CHANGCHENGJIUYIBAOBENA"],["002544","CCJYBBC","长城久益保本C","保本型","CHANGCHENGJIUYIBAOBENC"],["002545","DFYLHPZHH","东方岳灵活配置混合","混合型","DONGFANGYUELINGHUOPEIZHIHUNHE"],["002546","TKXYBHBE","泰康薪意保货币E","货币型","TAIKANGXINYIBAOHUOBIE"],["002547","MSJYYLFWHH","民生加银养老服务混合","混合型","MINSHENGJIAYINYANGLAOFUWUHUNHE"],["002548","JSWRCZZQ","嘉实稳瑞纯债债券","债券型","JIASHIWENRUICHUNZHAIZHAIQUAN"],["002549","JSWXCZZQA","嘉实稳祥纯债债券A","债券型","JIASHIWENXIANGCHUNZHAIZHAIQUANA"],["002550","JSWRZQ","嘉实稳荣债券","债券型","JIASHIWENRONGZHAIQUAN"],["002551","JSWTZQ","嘉实稳泰债券","债券型","JIASHIWENTAIZHAIQUAN"],["002552","HXHLDKZ","华夏恒利定开债","定开债券","HUAXIAHENGLIDINGKAIZHAI"],["002553","BSCYCZHHC","博时创业成长混合C","混合型","BOSHICHUANGYECHENGZHANGHUNHEC"],["002554","XDAYCZZQ","信达澳银纯债债券","债券型","XINDAAOYINCHUNZHAIZHAIQUAN"],["002555","BSHGSYZQYJJC","博时沪港深优质企业基金C","混合型","BOSHIHUGANGSHENYOUZHIQIYEJIJINC"],["002556","BSSLZTGPC","博时丝路主题股票C","股票型","BOSHISILUZHUTIGUPIAOC"],["002557","BSLHPZHHC","博时灵活配置混合C","混合型","BOSHILINGHUOPEIZHIHUNHEC"],["002558","BSXRHHA","博时鑫瑞混合A","混合型","BOSHIXINRUIHUNHEA"],["002559","BSXRHHC","博时鑫瑞混合C","混合型","BOSHIXINRUIHUNHEC"],["002560","NAHXBBHH","诺安和鑫保本混合","保本型","NUOANHEXINBAOBENHUNHE"],["002561","DWAXLH","东吴安鑫量化","混合型","DONGWUANXINLIANGHUA"],["002562","HDHYLHHH","泓德泓益量化混合","混合型","HONGDEHONGYILIANGHUAHUNHE"],["002563","HDHHHH","泓德泓汇混合","混合型","HONGDEHONGHUIHUNHE"],["002564","XWTYLHPZHH","新沃通盈灵活配置混合","混合型","XINWOTONGYINGLINGHUOPEIZHIHUNHE"],["002565","CJHXXABBA","创金合信鑫安保本A","保本型","CHUANGJINHEXINXINANBAOBENA"],["002566","CJHXXABBC","创金合信鑫安保本C","保本型","CHUANGJINHEXINXINANBAOBENC"],["002567","DCGJAQZTHH","大成国家安全主题混合","混合型","DACHENGGUOJIAANQUANZHUTIHUNHE"],["002568","BSYFCZ","博时裕发纯债","债券型","BOSHIYUFACHUNZHAI"],["002569","BSYHCZZQ","博时裕弘纯债债券","债券型","BOSHIYUHONGCHUNZHAIZHAIQUAN"],["002570","HFCXDKZ","华福长禧定开债","定开债券","HUAFUCHANGXIDINGKAIZHAI"],["002571","CSTTZQA","长盛同泰债券A","债券型","CHANGSHENGTONGTAIZHAIQUANA"],["002572","CSTTZQC","长盛同泰债券C","债券型","CHANGSHENGTONGTAIZHAIQUANC"],["002573","JXAXBBLHHH","建信安心保本六号混合","保本型","JIANXINANXINBAOBENLIUHAOHUNHE"],["002574","ZSRQHH","招商瑞庆混合","混合型","ZHAOSHANGRUIQINGHUNHE"],["002575","ZSFRHHA","招商丰睿混合A","混合型","ZHAOSHANGFENGRUIHUNHEA"],["002576","ZSFRHHC","招商丰睿混合C","混合型","ZHAOSHANGFENGRUIHUNHEC"],["002577","NFXXHH","南方新兴混合","混合型","NANFANGXINXINGHUNHE"],["002578","BSYQCZZQ","博时裕泉纯债债券","债券型","BOSHIYUQUANCHUNZHAIZHAIQUAN"],["002579","RTZLZQ","融通增利债券","债券型","RONGTONGZENGLIZHAIQUAN"],["002580","TXXXLHPZHHC","泰信鑫选灵活配置混合C","混合型","TAIXINXINXUANLINGHUOPEIZHIHUNHEC"],["002581","ZSFKHHA","招商丰凯混合A","混合型","ZHAOSHANGFENGKAIHUNHEA"],["002582","ZSFKHHC","招商丰凯混合C","混合型","ZHAOSHANGFENGKAIHUNHEC"],["002583","TXHYJXHHC","泰信行业精选混合C","混合型","TAIXINHANGYEJINGXUANHUNHEC"],["002584","FADCYBBHH","富安达长盈保本混合","保本型","FUANDACHANGYINGBAOBENHUNHE"],["002585","JXAXBBQHHH","建信安心保本七号混合","保本型","JIANXINANXINBAOBENQIHAOHUNHE"],["002586","JYTLXYZZQA","金鹰添利信用债债券A","债券型","JINYINGTIANLIXINYONGZHAIZHAIQUANA"],["002587","JYTLXYZZQC","金鹰添利信用债债券C","债券型","JINYINGTIANLIXINYONGZHAIZHAIQUANC"],["002588","BSYZDSJ100","博时银智大数据100","股票指数","BOSHIYINZHIDASHUJU100"],["002589","SXZQBBHHA","山西证券保本混合A","保本型","SHANXIZHENGQUANBAOBENHUNHEA"],["002590","SXZQBBHHC","山西证券保本混合C","保本型","SHANXIZHENGQUANBAOBENHUNHEC"],["002591","ZOXYZLZQLOFE","中欧信用增利债券(LOF)E","债券型","ZHONGOUXINYONGZENGLIZHAIQUANLOFE"],["002592","ZOCZZQLOFE","中欧纯债债券(LOF)E","债券型","ZHONGOUCHUNZHAIZHAIQUANLOFE"],["002593","FGMLZGHH","富国美丽中国混合","混合型","FUGUOMEILIZHONGGUOHUNHE"],["002594","GYXDFWYHH","工银现代服务业混合","混合型","GONGYINXIANDAIFUWUYEHUNHE"],["002595","BSGY40ZTGP","博时工业4.0主题股票","股票型","BOSHIGONGYE40ZHUTIGUPIAO"],["002596","HSBB1H","华商保本1号","保本型","HUASHANGBAOBEN1HAO"],["002597","XYCZDLHH","兴业成长动力混合","混合型","XINGYECHENGZHANGDONGLIHUNHE"],["002598","PADHZNSHHHA","平安大华智能生活混合A","混合型","PINGANDAHUAZHINENGSHENGHUOHUNHEA"],["002599","PADHZNSHHHC","平安大华智能生活混合C","混合型","PINGANDAHUAZHINENGSHENGHUOHUNHEC"],["002600","YFDYJTL6GYDKZ","易方达裕景添利6个月定开债","定开债券","YIFANGDAYUJINGTIANLI6GEYUEDINGKAIZHAI"],["002601","ZYZQBB1H","中银证券保本1号","保本型","ZHONGYINZHENGQUANBAOBEN1HAO"],["002602","YFDFHHH","易方达丰惠混合","混合型","YIFANGDAFENGHUIHUNHE"],["002603","GYRFCZBNDKZ","工银瑞丰纯债半年定开债","定开债券","GONGYINRUIFENGCHUNZHAIBANNIANDINGKAIZHAI"],["002604","HXXQDHH","华夏新起点混合","混合型","HUAXIAXINQIDIANHUNHE"],["002605","RTXXFLHPZHH","融通新消费灵活配置混合","混合型","RONGTONGXINXIAOFEILINGHUOPEIZHIHUNHE"],["002606","RTXXFLHPZHH","融通新消费灵活配置混合(后端)","混合型","RONGTONGXINXIAOFEILINGHUOPEIZHIHUNHE"],["002607","RTZYZQ","融通增裕债券","债券型","RONGTONGZENGYUZHAIQUAN"],["002608","BSTHZQA","博时泰和债券A","债券型","BOSHITAIHEZHAIQUANA"],["002609","BSTHZQC","博时泰和债券C","债券型","BOSHITAIHEZHAIQUANC"],["002610","BSHJETFLJA","博时黄金ETF联接A","联接基金","BOSHIHUANGJINETFLIANJIEA"],["002611","BSHJETFLJC","博时黄金ETF联接C","联接基金","BOSHIHUANGJINETFLIANJIEC"],["002612","RTGQGGXJYLHPZHH","融通国企改革新机遇灵活配置混合","混合型","RONGTONGGUOQIGAIGEXINJIYULINGHUOPEIZHIHUNHE"],["002613","RTGQGGXJYLHPZHH","融通国企改革新机遇灵活配置混合(后端)","混合型","RONGTONGGUOQIGAIGEXINJIYULINGHUOPEIZHIHUNHE"],["002614","ZYYLHHA","中银颐利混合A","混合型","ZHONGYINYILIHUNHEA"],["002615","ZYYLHHC","中银颐利混合C","混合型","ZHONGYINYILIHUNHEC"],["002616","ZYYLHHA","中银益利混合A","混合型","ZHONGYINYILIHUNHEA"],["002617","ZYYLHHC","中银益利混合C","混合型","ZHONGYINYILIHUNHEC"],["002618","ZYYLHHA","中银裕利混合A","混合型","ZHONGYINYULIHUNHEA"],["002619","ZYYLHHC","中银裕利混合C","混合型","ZHONGYINYULIHUNHEC"],["002621","ZOXFZTGPA","中欧消费主题股票A","股票型","ZHONGOUXIAOFEIZHUTIGUPIAOA"],["002622","GFWYBB","广发稳裕保本","保本型","GUANGFAWENYUBAOBEN"],["002623","GFFWYJXHH","广发服务业精选混合","混合型","GUANGFAFUWUYEJINGXUANHUNHE"],["002624","GFYQJXHH","广发优企精选混合","混合型","GUANGFAYOUQIJINGXUANHUNHE"],["002625","BSAY6GY","博时安怡6个月","定开债券","BOSHIANYI6GEYUE"],["002626","ZSFYHHA","招商丰源混合A","混合型","ZHAOSHANGFENGYUANHUNHEA"],["002627","ZSFYHHC","招商丰源混合C","混合型","ZHAOSHANGFENGYUANHUNHEC"],["002628","ZSABBBHHA","招商安博保本混合A","保本型","ZHAOSHANGANBOBAOBENHUNHEA"],["002629","ZSABBBHHC","招商安博保本混合C","保本型","ZHAOSHANGANBOBAOBENHUNHEC"],["002630","JXRFLHPZHHA","江信瑞福灵活配置混合A","混合型","JIANGXINRUIFULINGHUOPEIZHIHUNHEA"],["002631","JXRFLHPZHHC","江信瑞福灵活配置混合C","混合型","JIANGXINRUIFULINGHUOPEIZHIHUNHEC"],["002632","XYSZZQZQA","鑫元双债增强债券A","债券型","XINYUANSHUANGZHAIZENGQIANGZHAIQUANA"],["002633","XYSZZQZQC","鑫元双债增强债券C","债券型","XINYUANSHUANGZHAIZENGQIANGZHAIQUANC"],["002634","HBWLZDHH","华宝未来主导混合","混合型","HUABAOWEILAIZHUDAOHUNHE"],["002635","RTZXZQ","融通增鑫债券","债券型","RONGTONGZENGXINZHAIQUAN"],["002636","GFJYZQA","广发集裕债券A","债券型","GUANGFAJIYUZHAIQUANA"],["002637","GFJYZQC","广发集裕债券C","债券型","GUANGFAJIYUZHAIQUANC"],["002638","XYTRZQ","兴业天融债券","债券型","XINGYETIANRONGZHAIQUAN"],["002639","THJZJXLHPZHH","天弘价值精选灵活配置混合","混合型","TIANHONGJIAZHIJINGXUANLINGHUOPEIZHIHUNHE"],["002640","ZXJTWYBB","中信建投稳溢保本","保本型","ZHONGXINJIANTOUWENYIBAOBEN"],["002641","BSAR18GYDKZA","博时安润18个月定开债A","定开债券","BOSHIANRUN18GEYUEDINGKAIZHAIA"],["002642","BSAR18GYDKZC","博时安润18个月定开债C","定开债券","BOSHIANRUN18GEYUEDINGKAIZHAIC"],["002643","PHXLHH","鹏华兴利混合","混合型","PENGHUAXINGLIHUNHE"],["002644","DCJRBBHHA","大成景荣保本混合A","保本型","DACHENGJINGRONGBAOBENHUNHEA"],["002645","DCJRBBHHC","大成景荣保本混合C","保本型","DACHENGJINGRONGBAOBENHUNHEC"],["002646","ZKWTHBA","中科沃土货币A","货币型","ZHONGKEWOTUHUOBIA"],["002647","ZKWTHBB","中科沃土货币B","货币型","ZHONGKEWOTUHUOBIB"],["002648","DFHJBBHH","东方合家保本混合","保本型","DONGFANGHEJIABAOBENHUNHE"],["002650","DFHWTLCZ","东方红稳添利纯债","债券型","DONGFANGHONGWENTIANLICHUNZHAI"],["002651","DFHHLZQA","东方红汇利债券A","债券型","DONGFANGHONGHUILIZHAIQUANA"],["002652","DFHHLZQC","东方红汇利债券C","债券型","DONGFANGHONGHUILIZHAIQUANC"],["002653","TKHGSJXHH","泰康沪港深精选混合","混合型","TAIKANGHUGANGSHENJINGXUANHUNHE"],["002654","STMGCLJXHH","上投摩根策略精选混合","混合型","SHANGTOUMOGENCELUEJINGXUANHUNHE"],["002655","NFZXJDSY","南方卓享绝对收益","混合型","NANFANGZHUOXIANGJUEDUISHOUYI"],["002656","NFCYBETFLJA","南方创业板ETF联接A","联接基金","NANFANGCHUANGYEBANETFLIANJIEA"],["002657","ZSAYBBHHA","招商安裕保本混合A","保本型","ZHAOSHANGANYUBAOBENHUNHEA"],["002658","ZSAYBBHHC","招商安裕保本混合C","保本型","ZHAOSHANGANYUBAOBENHUNHEC"],["002659","XYJQLHPZHH","兴业聚全灵活配置混合","混合型","XINGYEJUQUANLINGHUOPEIZHIHUNHE"],["002660","XYJYLHPZHH","兴业聚源灵活配置混合","混合型","XINGYEJUYUANLINGHUOPEIZHIHUNHE"],["002661","XYTXZQ","兴业天禧债券","债券型","XINGYETIANXIZHAIQUAN"],["002662","QHKYHGSDXFHHA","前海开源沪港深大消费混合A","混合型","QIANHAIKAIYUANHUGANGSHENDAXIAOFEIHUNHEA"],["002663","QHKYHGSDXFHHC","前海开源沪港深大消费混合C","混合型","QIANHAIKAIYUANHUGANGSHENDAXIAOFEIHUNHEC"],["002664","WJRHLHPZHHA","万家瑞和灵活配置混合A","混合型","WANJIARUIHELINGHUOPEIZHIHUNHEA"],["002665","WJRHLHPZHHC","万家瑞和灵活配置混合C","混合型","WANJIARUIHELINGHUOPEIZHIHUNHEC"],["002666","QHKYHGSCXCZHHA","前海开源沪港深创新成长混合A","混合型","QIANHAIKAIYUANHUGANGSHENCHUANGXINCHENGZHANGHUNHEA"],["002667","QHKYHGSCXCZHHC","前海开源沪港深创新成长混合C","混合型","QIANHAIKAIYUANHUGANGSHENCHUANGXINCHENGZHANGHUNHEC"],["002668","XYJFLHPZHH","兴业聚丰灵活配置混合","混合型","XINGYEJUFENGLINGHUOPEIZHIHUNHE"],["002669","HSWZCXHH","华商万众创新混合","混合型","HUASHANGWANZHONGCHUANGXINHUNHE"],["002670","WJRXLHPZHHA","万家瑞旭灵活配置混合A","混合型","WANJIARUIXULINGHUOPEIZHIHUNHEA"],["002671","WJRXLHPZHHC","万家瑞旭灵活配置混合C","混合型","WANJIARUIXULINGHUOPEIZHIHUNHEC"],["002672","NDHBA","诺德货币A","货币型","NUODEHUOBIA"],["002673","NDHBB","诺德货币B","货币型","NUODEHUOBIB"],["002674","ZRRFCZA","中融融丰纯债A","债券型","ZHONGRONGRONGFENGCHUNZHAIA"],["002675","ZRRFCZC","中融融丰纯债C","债券型","ZHONGRONGRONGFENGCHUNZHAIC"],["002677","GTRYHAZQA","国投瑞银和安债券A","债券型","GUOTOURUIYINHEANZHAIQUANA"],["002678","GTRYHAZQC","国投瑞银和安债券C","债券型","GUOTOURUIYINHEANZHAIQUANC"],["002679","GYAYHBA","工银安盈货币A","货币型","GONGYINANYINGHUOBIA"],["002680","GYAYHBB","工银安盈货币B","货币型","GONGYINANYINGHUOBIB"],["002681","JYYHBBA","金鹰元和保本A","保本型","JINYINGYUANHEBAOBENA"],["002682","JYYHBBC","金鹰元和保本C","保本型","JINYINGYUANHEBAOBENC"],["002683","MSJYQYKJLHPZHH","民生加银前沿科技灵活配置混合","混合型","MINSHENGJIAYINQIANYANKEJILINGHUOPEIZHIHUNHE"],["002684","MSJYXACZA","民生加银鑫安纯债A","债券型","MINSHENGJIAYINXINANCHUNZHAIA"],["002685","ZOFHHGSHHA","中欧丰泓沪港深混合A","混合型","ZHONGOUFENGHONGHUGANGSHENHUNHEA"],["002686","ZOFHHGSHHC","中欧丰泓沪港深混合C","混合型","ZHONGOUFENGHONGHUGANGSHENHUNHEC"],["002688","HTHTCYDKZA","红塔红土长益定开债A","定开债券","HONGTAHONGTUCHANGYIDINGKAIZHAIA"],["002689","HTHTCYDKZC","红塔红土长益定开债C","定开债券","HONGTAHONGTUCHANGYIDINGKAIZHAIC"],["002690","QHKYHZBBHHA","前海开源恒泽保本混合A","保本型","QIANHAIKAIYUANHENGZEBAOBENHUNHEA"],["002691","QHKYHZBBHHC","前海开源恒泽保本混合C","保本型","QIANHAIKAIYUANHENGZEBAOBENHUNHEC"],["002692","FGCXKJHH","富国创新科技混合","混合型","FUGUOCHUANGXINKEJIHUNHE"],["002693","ZYHLZQ","中银合利债券","债券型","ZHONGYINHELIZHAIQUAN"],["002695","PHXZDQKFHHA","鹏华兴泽定期开放混合A","混合型","PENGHUAXINGZEDINGQIKAIFANGHUNHEA"],["002696","PHXZDQKFHHC","鹏华兴泽定期开放混合C","混合型","PENGHUAXINGZEDINGQIKAIFANGHUNHEC"],["002697","ZOXFZTGPC","中欧消费主题股票C","股票型","ZHONGOUXIAOFEIZHUTIGUPIAOC"],["002698","BSYLCZZQ","博时裕利纯债债券","债券型","BOSHIYULICHUNZHAIZHAIQUAN"],["002699","HXXQHHHA","华夏新起航混合A","混合型","HUAXIAXINQIHANGHUNHEA"],["002700","HXXQHHHC","华夏新起航混合C","混合型","HUAXIAXINQIHANGHUNHEC"],["002701","DFHHYZQA","东方红汇阳债券A","债券型","DONGFANGHONGHUIYANGZHAIQUANA"],["002702","DFHHYZQC","东方红汇阳债券C","债券型","DONGFANGHONGHUIYANGZHAIQUANC"],["002703","CCJYBBHH","长城久源保本混合","保本型","CHANGCHENGJIUYUANBAOBENHUNHE"],["002704","DBCZYNDKZA","德邦纯债一年定开债A","定开债券","DEBANGCHUNZHAIYINIANDINGKAIZHAIA"],["002705","DBCZYNDKZC","德邦纯债一年定开债C","定开债券","DEBANGCHUNZHAIYINIANDINGKAIZHAIC"],["002706","MSJYXJTLHB","民生加银现金添利货币","货币型","MINSHENGJIAYINXIANJINTIANLIHUOBI"],["002708","DMJKCYHH","大摩健康产业混合","混合型","DAMOJIANKANGCHANYEHUNHE"],["002709","HTHTRRBHBA","红塔红土人人宝货币A","货币型","HONGTAHONGTURENRENBAOHUOBIA"],["002710","HTHTRRBHBB","红塔红土人人宝货币B","货币型","HONGTAHONGTURENRENBAOHUOBIB"],["002711","GFJFZQA","广发集丰债券A","债券型","GUANGFAJIFENGZHAIQUANA"],["002712","GFJFZQC","广发集丰债券C","债券型","GUANGFAJIFENGZHAIQUANC"],["002714","PHJCBBHH","鹏华金城保本混合","保本型","PENGHUAJINCHENGBAOBENHUNHE"],["002715","XHJKSHZTHH","新华健康生活主题混合","混合型","XINHUAJIANKANGSHENGHUOZHUTIHUNHE"],["002716","BSYTCZZQA","博时裕通纯债债券A","债券型","BOSHIYUTONGCHUNZHAIZHAIQUANA"],["002717","HTHTSLBBHHA","红塔红土盛隆保本混合A","保本型","HONGTAHONGTUSHENGLONGBAOBENHUNHEA"],["002718","HTHTSLBBHHC","红塔红土盛隆保本混合C","保本型","HONGTAHONGTUSHENGLONGBAOBENHUNHEC"],["002719","RTZXZQ","融通增祥债券","债券型","RONGTONGZENGXIANGZHAIQUAN"],["002720","GSABZLZQHBZQA","国寿安保尊利增强回报债券A","债券型","GUOSHOUANBAOZUNLIZENGQIANGHUIBAOZHAIQUANA"],["002721","GSABZLZQHBZQC","国寿安保尊利增强回报债券C","债券型","GUOSHOUANBAOZUNLIZENGQIANGHUIBAOZHAIQUANC"],["002722","GYCFHBB","工银财富货币B","货币型","GONGYINCAIFUHUOBIB"],["002723","JXQFA","江信祺福A","债券型","JIANGXINQIFUA"],["002724","JXQFC","江信祺福C","债券型","JIANGXINQIFUC"],["002725","ZOQRDCLZQ","中欧强瑞多策略债券","定开债券","ZHONGOUQIANGRUIDUOCELUEZHAIQUAN"],["002726","HFCXLHPZHHA","华富诚鑫灵活配置混合A","混合型","HUAFUCHENGXINLINGHUOPEIZHIHUNHEA"],["002727","HFCXLHPZHHC","华富诚鑫灵活配置混合C","混合型","HUAFUCHENGXINLINGHUOPEIZHIHUNHEC"],["002728","HFYXLHPZHHA","华富益鑫灵活配置混合A","混合型","HUAFUYIXINLINGHUOPEIZHIHUNHEA"],["002729","HFYXLHPZHHC","华富益鑫灵活配置混合C","混合型","HUAFUYIXINLINGHUOPEIZHIHUNHEC"],["002730","HFHXLHPZHHA","华富华鑫灵活配置混合A","混合型","HUAFUHUAXINLINGHUOPEIZHIHUNHEA"],["002731","HFHXLHPZHHC","华富华鑫灵活配置混合C","混合型","HUAFUHUAXINLINGHUOPEIZHIHUNHEC"],["002732","CSHGSHH","长盛沪港深混合","混合型","CHANGSHENGHUGANGSHENHUNHE"],["002733","SYHYLHB","上银慧盈利货币","货币型","SHANGYINHUIYINGLIHUOBI"],["002734","HDYRCZZQA","泓德裕荣纯债债券A","债券型","HONGDEYURONGCHUNZHAIZHAIQUANA"],["002735","HDYRCZZQC","泓德裕荣纯债债券C","债券型","HONGDEYURONGCHUNZHAIZHAIQUANC"],["002736","HDYHCZZQA","泓德裕和纯债债券A","债券型","HONGDEYUHECHUNZHAIZHAIQUANA"],["002737","HDYHCZZQC","泓德裕和纯债债券C","债券型","HONGDEYUHECHUNZHAIZHAIQUANC"],["002738","HDYKZQA","泓德裕康债券A","债券型","HONGDEYUKANGZHAIQUANA"],["002739","HDYKZQC","泓德裕康债券C","债券型","HONGDEYUKANGZHAIQUANC"],["002740","HDYZYNDKZQA","泓德裕泽一年定开债券A","定开债券","HONGDEYUZEYINIANDINGKAIZHAIQUANA"],["002741","HDYZYNDKZQC","泓德裕泽一年定开债券C","定开债券","HONGDEYUZEYINIANDINGKAIZHAIQUANC"],["002742","HDYXZQA","泓德裕祥债券A","债券型","HONGDEYUXIANGZHAIQUANA"],["002743","HDYXZQC","泓德裕祥债券C","债券型","HONGDEYUXIANGZHAIQUANC"],["002744","JSWFCZZQ","嘉实稳丰纯债债券","债券型","JIASHIWENFENGCHUNZHAIZHAIQUAN"],["002745","BXRFFLBB","北信瑞丰丰利保本","保本型","BEIXINRUIFENGFENGLIBAOBEN"],["002746","HTFDCLDKHH","汇添富多策略定开混合","混合型","HUITIANFUDUOCELUEDINGKAIHUNHE"],["002747","ZOHBC","中欧货币C","货币型","ZHONGOUHUOBIC"],["002748","ZOHBD","中欧货币D","货币型","ZHONGOUHUOBID"],["002749","JSWSZQ","嘉实稳盛债券","债券型","JIASHIWENSHENGZHAIQUAN"],["002750","GYTXSNLCZQ","工银泰享三年理财债券","定开债券","GONGYINTAIXIANGSANNIANLICAIZHAIQUAN"],["002751","BSAH18GYDKZA","博时安恒18个月定开债A","定开债券","BOSHIANHENG18GEYUEDINGKAIZHAIA"],["002752","BSAH18GYDKZC","博时安恒18个月定开债C","定开债券","BOSHIANHENG18GEYUEDINGKAIZHAIC"],["002753","JXJXBHBB","建信嘉薪宝货币B","货币型","JIANXINJIAXINBAOHUOBIB"],["002754","BSYCCZ","博时裕创纯债","债券型","BOSHIYUCHUANGCHUNZHAI"],["002755","BSYSCZZQ","博时裕盛纯债债券","债券型","BOSHIYUSHENGCHUNZHAIZHAIQUAN"],["002756","ZSZXCZA","招商招兴纯债A","债券型","ZHAOSHANGZHAOXINGCHUNZHAIA"],["002757","ZSZXCZC","招商招兴纯债C","债券型","ZHAOSHANGZHAOXINGCHUNZHAIC"],["002758","JXXJZLHB","建信现金增利货币","货币型","JIANXINXIANJINZENGLIHUOBI"],["002759","DXAYBA","东兴安盈宝A","货币型","DONGXINGANYINGBAOA"],["002760","DXAYBB","东兴安盈宝B","货币型","DONGXINGANYINGBAOB"],["002761","BSAY18GYA","博时安源18个月A","定开债券","BOSHIANYUAN18GEYUEA"],["002762","BSAY18GYC","博时安源18个月C","定开债券","BOSHIANYUAN18GEYUEC"],["002763","DCJHYNDKZA","大成景华一年定开债A","定开债券","DACHENGJINGHUAYINIANDINGKAIZHAIA"],["002764","DCJHYNDKZC","大成景华一年定开债C","定开债券","DACHENGJINGHUAYINIANDINGKAIZHAIC"],["002765","XHSLZQA","新华双利债券A","债券型","XINHUASHUANGLIZHAIQUANA"],["002766","XHSLZQC","新华双利债券C","债券型","XINHUASHUANGLIZHAIQUANC"],["002767","TKHTHBHH","泰康宏泰回报混合","混合型","TAIKANGHONGTAIHUIBAOHUNHE"],["002768","HAAJBBHH","华安安进保本混合","保本型","HUAANANJINBAOBENHUNHE"],["002769","XYJSLHPZHHC","兴业聚盛灵活配置混合C","混合型","XINGYEJUSHENGLINGHUOPEIZHIHUNHEC"],["002770","AXXHBHHA","安信新回报混合A","混合型","ANXINXINHUIBAOHUNHEA"],["002771","AXXHBHHC","安信新回报混合C","混合型","ANXINXINHUIBAOHUNHEC"],["002772","GDCYXDLHH","光大产业新动力混合","混合型","GUANGDACHANYEXINDONGLIHUNHE"],["002773","GDMXHHA","光大铭鑫混合A","混合型","GUANGDAMINGXINHUNHEA"],["002774","GDMXHHC","光大铭鑫混合C","混合型","GUANGDAMINGXINHUNHEC"],["002775","BSJXCZZQ","博时景兴纯债债券","债券型","BOSHIJINGXINGCHUNZHAIZHAIQUAN"],["002776","ZSARBBHHA","招商安荣保本混合A","保本型","ZHAOSHANGANRONGBAOBENHUNHEA"],["002777","ZSARBBHHC","招商安荣保本混合C","保本型","ZHAOSHANGANRONGBAOBENHUNHEC"],["002778","XJQHLHXSLHHA","新疆前海联合新思路混合A","混合型","XINJIANGQIANHAILIANHEXINSILUHUNHEA"],["002779","XJQHLHXSLHHC","新疆前海联合新思路混合C","混合型","XINJIANGQIANHAILIANHEXINSILUHUNHEC"],["002780","QHLHQMJKHH","前海联合全民健康混合","混合型","QIANHAILIANHEQUANMINJIANKANGHUNHE"],["002781","BSJRCZZQ","博时聚瑞纯债债券","债券型","BOSHIJURUICHUNZHAIZHAIQUAN"],["002782","FGXLDKZFQS","富国祥利定开债发起式","定开债券","FUGUOXIANGLIDINGKAIZHAIFAQISHI"],["002783","DFHJZJXHHA","东方红价值精选混合A","混合型","DONGFANGHONGJIAZHIJINGXUANHUNHEA"],["002784","DFHJZJXHHC","东方红价值精选混合C","混合型","DONGFANGHONGJIAZHIJINGXUANHUNHEC"],["002785","ZRRYSLZQA","中融融裕双利债券A","债券型","ZHONGRONGRONGYUSHUANGLIZHAIQUANA"],["002786","ZRRYSLZQC","中融融裕双利债券C","债券型","ZHONGRONGRONGYUSHUANGLIZHAIQUANC"],["002788","RTXJBHBA","融通现金宝货币A","货币型","RONGTONGXIANJINBAOHUOBIA"],["002789","CSTXBBHHA","长盛同享保本混合A","保本型","CHANGSHENGTONGXIANGBAOBENHUNHEA"],["002790","CSTXBBHHC","长盛同享保本混合C","保本型","CHANGSHENGTONGXIANGBAOBENHUNHEC"],["002791","RTTJLHPZHH","融通通景灵活配置混合","混合型","RONGTONGTONGJINGLINGHUOPEIZHIHUNHE"],["002792","JSCCSYHBHHA","景顺长城顺益回报混合A","混合型","JINGSHUNCHANGCHENGSHUNYIHUIBAOHUNHEA"],["002793","JSCCSYHBHHC","景顺长城顺益回报混合C","混合型","JINGSHUNCHANGCHENGSHUNYIHUIBAOHUNHEC"],["002794","THYLZQE","天弘永利债券E","债券型","TIANHONGYONGLIZHAIQUANE"],["002795","PADHHYCZ","平安大华惠盈纯债","债券型","PINGANDAHUAHUIYINGCHUNZHAI"],["002796","JSCCJYSLZQA","景顺长城景盈双利债券A","债券型","JINGSHUNCHANGCHENGJINGYINGSHUANGLIZHAIQUANA"],["002797","JSCCJYSLZQC","景顺长城景盈双利债券C","债券型","JINGSHUNCHANGCHENGJINGYINGSHUANGLIZHAIQUANC"],["002798","RTWLZQA","融通稳利债券A","债券型","RONGTONGWENLIZHAIQUANA"],["002801","HDHXHH","泓德泓信混合","混合型","HONGDEHONGXINHUNHE"],["002803","DFHHGSHH","东方红沪港深混合","混合型","DONGFANGHONGHUGANGSHENHUNHE"],["002804","HTBRLHDC","华泰柏瑞量化对冲","混合型","HUATAIBAIRUILIANGHUADUICHONG"],["002805","ZSHJJLYNDKZA","浙商汇金聚利一年定开债A","定开债券","ZHESHANGHUIJINJULIYINIANDINGKAIZHAIA"],["002806","ZSHJJLYNDKZC","浙商汇金聚利一年定开债C","定开债券","ZHESHANGHUIJINJULIYINIANDINGKAIZHAIC"],["002807","RTTAZQ","融通通安债券","债券型","RONGTONGTONGANZHAIQUAN"],["002808","HDYSLHHH","泓德优势领航混合","混合型","HONGDEYOUSHILINGHANGHUNHE"],["002809","PHXHDQKFHH","鹏华兴华定期开放混合","混合型","PENGHUAXINGHUADINGQIKAIFANGHUNHE"],["002810","JXZXCXCZHHFQS","金信转型创新成长混合发起式","混合型","JINXINZHUANXINGCHUANGXINCHENGZHANGHUNHEFAQISHI"],["002811","BSYSCZZQ","博时裕顺纯债债券","债券型","BOSHIYUSHUNCHUNZHAIZHAIQUAN"],["002812","BSYTCZZQC","博时裕通纯债债券C","债券型","BOSHIYUTONGCHUNZHAIZHAIQUANC"],["002813","BSBTBBA","博时保泰保本A","保本型","BOSHIBAOTAIBAOBENA"],["002814","BSBTBBC","博时保泰保本C","保本型","BOSHIBAOTAIBAOBENC"],["002815","ZSZYLNDKZA","招商招益两年定开债A","定开债券","ZHAOSHANGZHAOYILIANGNIANDINGKAIZHAIA"],["002816","ZSZYLNDKZC","招商招益两年定开债C","定开债券","ZHAOSHANGZHAOYILIANGNIANDINGKAIZHAIC"],["002817","ZSZHCZA","招商招恒纯债A","债券型","ZHAOSHANGZHAOHENGCHUNZHAIA"],["002818","ZSZHCZC","招商招恒纯债C","债券型","ZHAOSHANGZHAOHENGCHUNZHAIC"],["002819","ZSFMHHA","招商丰美混合A","混合型","ZHAOSHANGFENGMEIHUNHEA"],["002820","ZSFMHHC","招商丰美混合C","混合型","ZHAOSHANGFENGMEIHUNHEC"],["002821","ZSFLLHPZHHA","招商丰乐灵活配置混合A","混合型","ZHAOSHANGFENGLELINGHUOPEIZHIHUNHEA"],["002822","ZSFLLHPZHHC","招商丰乐灵活配置混合C","混合型","ZHAOSHANGFENGLELINGHUOPEIZHIHUNHEC"],["002823","ZSSDHHA","招商盛达混合A","混合型","ZHAOSHANGSHENGDAHUNHEA"],["002824","ZSSDHHC","招商盛达混合C","混合型","ZHAOSHANGSHENGDAHUNHEC"],["002825","RTTHZQ","融通通和债券","债券型","RONGTONGTONGHEZHAIQUAN"],["002826","ZYYLBNDKZ","中银永利半年定开债","定开债券","ZHONGYINYONGLIBANNIANDINGKAIZHAI"],["002827","RTWLZQC","融通稳利债券C","债券型","RONGTONGWENLIZHAIQUANC"],["002828","NFXJZLHBE","南方现金增利货币E","货币型","NANFANGXIANJINZENGLIHUOBIE"],["002829","NFXJZLHBF","南方现金增利货币F","货币型","NANFANGXIANJINZENGLIHUOBIF"],["002830","ZSHFDKZ","浙商惠丰定开债","定开债券","ZHESHANGHUIFENGDINGKAIZHAI"],["002831","GTRYRNHH","国投瑞银瑞宁混合","混合型","GUOTOURUIYINRUININGHUNHE"],["002832","GYHXCZZQ","工银恒享纯债债券","债券型","GONGYINHENGXIANGCHUNZHAIZHAIQUAN"],["002833","HXXJXHHA","华夏新锦绣混合A","混合型","HUAXIAXINJINXIUHUNHEA"],["002834","HXXJXHHC","华夏新锦绣混合C","混合型","HUAXIAXINJINXIUHUNHEC"],["002835","HXXJTHHA","华夏新锦泰混合A","混合型","HUAXIAXINJINTAIHUNHEA"],["002836","HXXJTHHC","华夏新锦泰混合C","混合型","HUAXIAXINJINTAIHUNHEC"],["002837","HXWGJXHH","华夏网购精选混合","混合型","HUAXIAWANGGOUJINGXUANHUNHE"],["002838","HXXJCHHA","华夏新锦程混合A","混合型","HUAXIAXINJINCHENGHUNHEA"],["002839","HXXJCHHC","华夏新锦程混合C","混合型","HUAXIAXINJINCHENGHUNHEC"],["002840","JTJXZQA","九泰久鑫债券A","债券型","JIUTAIJIUXINZHAIQUANA"],["002841","JTJXZQC","九泰久鑫债券C","债券型","JIUTAIJIUXINZHAIQUANC"],["002842","JSCCJYJLZQA","景顺长城景盈金利债券A","债券型","JINGSHUNCHANGCHENGJINGYINGJINLIZHAIQUANA"],["002843","JSCCJYJLZQC","景顺长城景盈金利债券C","债券型","JINGSHUNCHANGCHENGJINGYINGJINLIZHAIQUANC"],["002844","JYDYCLHH","金鹰多元策略混合","混合型","JINYINGDUOYUANCELUEHUNHE"],["002845","STMGAXHBC","上投摩根安鑫回报C","混合型","SHANGTOUMOGENANXINHUIBAOC"],["002846","HDHHHH","泓德泓华混合","混合型","HONGDEHONGHUAHUNHE"],["002847","THXJGJHBE","天弘现金管家货币E","货币型","TIANHONGXIANJINGUANJIAHUOBIE"],["002848","NYCZDKZ","农银纯债定开债","定开债券","NONGYINCHUNZHAIDINGKAIZHAI"],["002849","JXZNZG2025HH","金信智能中国2025混合","混合型","JINXINZHINENGZHONGGUO2025HUNHE"],["002850","NFZZHH","南方甑智混合","混合型","NANFANGZENGZHIHUNHE"],["002851","NFPZHH","南方品质混合","混合型","NANFANGPINZHIHUNHE"],["002852","ZSCFBJYXHBA","招商财富宝交易型货币A","货币型","ZHAOSHANGCAIFUBAOJIAOYIXINGHUOBIA"],["002853","HFYXLHPZHHA","华富元鑫灵活配置混合A","混合型","HUAFUYUANXINLINGHUOPEIZHIHUNHEA"],["002854","HFYXLHPZHHC","华富元鑫灵活配置混合C","混合型","HUAFUYUANXINLINGHUOPEIZHIHUNHEC"],["002855","BSXJBHBC","博时现金宝货币C","货币型","BOSHIXIANJINBAOHUOBIC"],["002856","BSBFBBA","博时保丰保本A","保本型","BOSHIBAOFENGBAOBENA"],["002857","BSBFBBC","博时保丰保本C","保本型","BOSHIBAOFENGBAOBENC"],["002858","CXFPCZYNDKZA","长信富平纯债一年定开债A","定开债券","CHANGXINFUPINGCHUNZHAIYINIANDINGKAIZHAIA"],["002859","CXFPCZYNDKZC","长信富平纯债一年定开债C","定开债券","CHANGXINFUPINGCHUNZHAIYINIANDINGKAIZHAIC"],["002860","QHKYHGSXJYHH","前海开源沪港深新机遇混合","混合型","QIANHAIKAIYUANHUGANGSHENXINJIYUHUNHE"],["002862","JXLHJXHH","金信量化精选混合","混合型","JINXINLIANGHUAJINGXUANHUNHE"],["002863","JXSZCZHHFQS","金信深圳成长混合发起式","混合型","JINXINSHENZHENCHENGZHANGHUNHEFAQISHI"],["002864","GFAZHBCZA","广发安泽回报纯债A","债券型","GUANGFAANZEHUIBAOCHUNZHAIA"],["002865","GFAZHBCZC","广发安泽回报纯债C","债券型","GUANGFAANZEHUIBAOCHUNZHAIC"],["002866","XHFYHBZQ","新华丰盈回报债券","债券型","XINHUAFENGYINGHUIBAOZHAIQUAN"],["002867","XHHWTLZQ","新华恒稳添利债券","债券型","XINHUAHENGWENTIANLIZHAIQUAN"],["002868","PHFMZQ","鹏华丰茂债券","债券型","PENGHUAFENGMAOZHAIQUAN"],["002869","RTTYZQ","融通通裕债券","债券型","RONGTONGTONGYUZHAIQUAN"],["002870","XYZYWNDKZ","兴业增益五年定开债","定开债券","XINGYEZENGYIWUNIANDINGKAIZHAI"],["002871","HXXJYHHA","华夏新锦源混合A","混合型","HUAXIAXINJINYUANHUNHEA"],["002872","HXXJYHHC","华夏新锦源混合C","混合型","HUAXIAXINJINYUANHUNHEC"],["002873","HXXJFHHA","华夏新锦福混合A","混合型","HUAXIAXINJINFUHUNHEA"],["002874","HXXJFHHC","华夏新锦福混合C","混合型","HUAXIAXINJINFUHUNHEC"],["002875","HXXJAHHA","华夏新锦安混合A","混合型","HUAXIAXINJINANHUNHEA"],["002876","HXXJAHHC","华夏新锦安混合C","混合型","HUAXIAXINJINANHUNHEC"],["002877","HXDZHXYZA","华夏大中华信用债A","QDII","HUAXIADAZHONGHUAXINYONGZHAIA"],["002878","HXDZHXYZMYXHA","华夏大中华信用债美元现汇A","QDII","HUAXIADAZHONGHUAXINYONGZHAIMEIYUANXIANHUIA"],["002879","HXDZHXYZMYXCA","华夏大中华信用债美元现钞A","QDII","HUAXIADAZHONGHUAXINYONGZHAIMEIYUANXIANCHAOA"],["002880","HXDZHXYZC","华夏大中华信用债C","QDII","HUAXIADAZHONGHUAXINYONGZHAIC"],["002881","ZJFRCZZQA","中加丰润纯债债券A","债券型","ZHONGJIAFENGRUNCHUNZHAIZHAIQUANA"],["002882","ZJFRCZZQC","中加丰润纯债债券C","债券型","ZHONGJIAFENGRUNCHUNZHAIZHAIQUANC"],["002883","HRYDXJTHBA","华润元大现金通货币A","货币型","HUARUNYUANDAXIANJINTONGHUOBIA"],["002884","HRYDXJTHBB","华润元大现金通货币B","货币型","HUARUNYUANDAXIANJINTONGHUOBIB"],["002887","MSJYXRZQA","民生加银鑫瑞债券A","债券型","MINSHENGJIAYINXINRUIZHAIQUANA"],["002888","MSJYXRZQC","民生加银鑫瑞债券C","债券型","MINSHENGJIAYINXINRUIZHAIQUANC"],["002889","JYTLBHBA","交银天利宝货币A","货币型","JIAOYINTIANLIBAOHUOBIA"],["002890","JYTLBHBE","交银天利宝货币E","货币型","JIAOYINTIANLIBAOHUOBIE"],["002891","HXYDHLHHRMB","华夏移动互联混合人民币","QDII","HUAXIAYIDONGHULIANHUNHERENMINBI"],["002892","HXYDHLHHMYXH","华夏移动互联混合美元现汇","QDII","HUAXIAYIDONGHULIANHUNHEMEIYUANXIANHUI"],["002893","HXYDHLHHMYXC","华夏移动互联混合美元现钞","QDII","HUAXIAYIDONGHULIANHUNHEMEIYUANXIANCHAO"],["002894","HXTLHBA","华夏天利货币A","货币型","HUAXIATIANLIHUOBIA"],["002895","HXTLHBB","华夏天利货币B","货币型","HUAXIATIANLIHUOBIB"],["002896","DFZXZQA","东方臻馨债券A","债券型","DONGFANGZHENXINZHAIQUANA"],["002897","DFZXZQC","东方臻馨债券C","债券型","DONGFANGZHENXINZHAIQUANC"],["002898","FGLNQLCZQA","富国两年期理财债券A","定开债券","FUGUOLIANGNIANQILICAIZHAIQUANA"],["002899","FGLNQLCZQC","富国两年期理财债券C","定开债券","FUGUOLIANGNIANQILICAIZHAIQUANC"],["002900","NFZZ500XXJSLJA","南方中证500信息技术联接A","联接基金","NANFANGZHONGZHENG500XINXIJISHULIANJIEA"],["002901","CTZGJJSYZQA","财通资管积极收益债券A","债券型","CAITONGZIGUANJIJISHOUYIZHAIQUANA"],["002902","CTZGJJSYZQC","财通资管积极收益债券C","债券型","CAITONGZIGUANJIJISHOUYIZHAIQUANC"],["002903","GFZZ500ETFLJC","广发中证500ETF联接C","联接基金","GUANGFAZHONGZHENG500ETFLIANJIEC"],["002904","BSARYNDKZA","博时安仁一年定开债A","定开债券","BOSHIANRENYINIANDINGKAIZHAIA"],["002905","BSARYNDKZC","博时安仁一年定开债C","定开债券","BOSHIANRENYINIANDINGKAIZHAIC"],["002906","NFZZ500LHZQA","南方中证500量化增强A","股票指数","NANFANGZHONGZHENG500LIANGHUAZENGQIANGA"],["002907","NFZZ500LHZQC","南方中证500量化增强C","股票指数","NANFANGZHONGZHENG500LIANGHUAZENGQIANGC"],["002908","FGRLDKHHFQS","富国睿利定开混合发起式","混合型","FUGUORUILIDINGKAIHUNHEFAQISHI"],["002909","ZSHXCZ","浙商惠享纯债","债券型","ZHESHANGHUIXIANGCHUNZHAI"],["002910","YFDGGGGHH","易方达供给改革混合","混合型","YIFANGDAGONGGEIGAIGEHUNHE"],["002911","PHXSDQKFHH","鹏华兴实定期开放混合","混合型","PENGHUAXINGSHIDINGQIKAIFANGHUNHE"],["002912","XYWTYHB","兴业稳天盈货币","货币型","XINGYEWENTIANYINGHUOBI"],["002913","PHXYDQKFHH","鹏华兴益定期开放混合","混合型","PENGHUAXINGYIDINGQIKAIFANGHUNHE"],["002914","PHXRDQKFHH","鹏华兴锐定期开放混合","混合型","PENGHUAXINGRUIDINGQIKAIFANGHUNHE"],["002915","XYYLZQ","鑫元裕利债券","债券型","XINYUANYULIZHAIQUAN"],["002916","ZYZXBNDKZ","中银尊享半年定开债","定开债券","ZHONGYINZUNXIANGBANNIANDINGKAIZHAI"],["002917","JSHQBHBE","嘉实活钱包货币E","货币型","JIASHIHUOQIANBAOHUOBIE"],["002918","JYXJBHBE","交银现金宝货币E","货币型","JIAOYINXIANJINBAOHUOBIE"],["002919","DWZHYLLHCLHH","东吴智慧医疗量化策略混合","混合型","DONGWUZHIHUIYILIAOLIANGHUACELUEHUNHE"],["002920","ZOQZZQ","中欧强泽债券","债券型","ZHONGOUQIANGZEZHAIQUAN"],["002921","CJHXZYCZ","创金合信尊誉纯债","债券型","CHUANGJINHEXINZUNYUCHUNZHAI"],["002922","RTZFZQ","融通增丰债券","债券型","RONGTONGZENGFENGZHAIQUAN"],["002923","XYJHLHPZHHC","兴业聚惠灵活配置混合C","混合型","XINGYEJUHUILINGHUOPEIZHIHUNHEC"],["002924","HSRXDKZ","华商瑞鑫定开债","定开债券","HUASHANGRUIXINDINGKAIZHAI"],["002925","GFJYZQA","广发集源债券A","债券型","GUANGFAJIYUANZHAIQUANA"],["002926","GFJYZQC","广发集源债券C","债券型","GUANGFAJIYUANZHAIQUANC"],["002927","CSSHCZA","长盛盛和纯债A","债券型","CHANGSHENGSHENGHECHUNZHAIA"],["002928","CSSHCZC","长盛盛和纯债C","债券型","CHANGSHENGSHENGHECHUNZHAIC"],["002929","BSJYCZZQ","博时聚盈纯债债券","债券型","BOSHIJUYINGCHUNZHAIZHAIQUAN"],["002930","BSJRCZZQ","博时聚润纯债债券","债券型","BOSHIJURUNCHUNZHAIZHAIQUAN"],["002931","NFRY","南方荣毅","混合型","NANFANGRONGYI"],["002932","YXYFQHSYA","圆信永丰强化收益A","债券型","YUANXINYONGFENGQIANGHUASHOUYIA"],["002933","YXYFQHSYC","圆信永丰强化收益C","债券型","YUANXINYONGFENGQIANGHUASHOUYIC"],["002934","TKHTHBHHA","泰康恒泰回报混合A","混合型","TAIKANGHENGTAIHUIBAOHUNHEA"],["002935","TKHTHBHHC","泰康恒泰回报混合C","混合型","TAIKANGHENGTAIHUIBAOHUNHEC"],["002936","HXWLHBA","华夏沃利货币A","货币型","HUAXIAWOLIHUOBIA"],["002937","HXWLHBB","华夏沃利货币B","货币型","HUAXIAWOLIHUOBIB"],["002938","ZYJKCYHH","中银健康产业混合","混合型","ZHONGYINJIANKANGCHANYEHUNHE"],["002939","GFCXSJHH","广发创新升级混合","混合型","GUANGFACHUANGXINSHENGJIHUNHE"],["002940","ZOQHZQ","中欧强惠债券","债券型","ZHONGOUQIANGHUIZHAIQUAN"],["002941","GFARHBHHA","广发安瑞回报混合A","混合型","GUANGFAANRUIHUIBAOHUNHEA"],["002942","GFARHBHHC","广发安瑞回报混合C","混合型","GUANGFAANRUIHUIBAOHUNHEC"],["002943","GFDYZHH","广发多因子混合","混合型","GUANGFADUOYINZIHUNHE"],["002944","XCZTLDLHPZHH","信诚主题轮动灵活配置混合","混合型","XINCHENGZHUTILUNDONGLINGHUOPEIZHIHUNHE"],["002946","DCJSYNDKZA","大成景盛一年定开债A","定开债券","DACHENGJINGSHENGYINIANDINGKAIZHAIA"],["002947","DCJSYNDKZC","大成景盛一年定开债C","定开债券","DACHENGJINGSHENGYINIANDINGKAIZHAIC"],["002948","HAJL18GYDKZA","华安聚利18个月定开债A","定开债券","HUAANJULI18GEYUEDINGKAIZHAIA"],["002949","HAJL18GYDKZC","华安聚利18个月定开债C","定开债券","HUAANJULI18GEYUEDINGKAIZHAIC"],["002952","JXDYZLHGP","建信多因子量化股票","股票型","JIANXINDUOYINZILIANGHUAGUPIAO"],["002953","HAAFBBHHA","华安安福保本混合A","保本型","HUAANANFUBAOBENHUNHEA"],["002954","HAAFBBHHC","华安安福保本混合C","保本型","HUAANANFUBAOBENHUNHEC"],["002955","RTXQSLHPZHH","融通新趋势灵活配置混合","混合型","RONGTONGXINQUSHILINGHUOPEIZHIHUNHE"],["002956","RTXQSLHPZHH","融通新趋势灵活配置混合(后端)","混合型","RONGTONGXINQUSHILINGHUOPEIZHIHUNHE"],["002957","CTCTBHBA","财通财通宝货币A","货币型","CAITONGCAITONGBAOHUOBIA"],["002958","CTCTBHBB","财通财通宝货币B","货币型","CAITONGCAITONGBAOHUOBIB"],["002959","HTFYWBBHH","汇添富盈稳保本混合","保本型","HUITIANFUYINGWENBAOBENHUNHE"],["002960","BSHLHB","博时合利货币","货币型","BOSHIHELIHUOBI"],["002961","ZOSLZQA","中欧双利债券A","债券型","ZHONGOUSHUANGLIZHAIQUANA"],["002962","ZOSLZQC","中欧双利债券C","债券型","ZHONGOUSHUANGLIZHAIQUANC"],["002963","YFDHJETFLJC","易方达黄金ETF联接C","联接基金","YIFANGDAHUANGJINETFLIANJIEC"],["002964","GTRYSXYNZQ","国投瑞银顺鑫一年债券","定开债券","GUOTOURUIYINSHUNXINYINIANZHAIQUAN"],["002965","ZHHJZQSYZQA","中海合嘉增强收益债券A","债券型","ZHONGHAIHEJIAZENGQIANGSHOUYIZHAIQUANA"],["002966","ZHHJZQSYZQC","中海合嘉增强收益债券C","债券型","ZHONGHAIHEJIAZENGQIANGSHOUYIZHAIQUANC"],["002967","ZSDSJZXXFHH","浙商大数据智选消费混合","混合型","ZHESHANGDASHUJUZHIXUANXIAOFEIHUNHE"],["002969","YFDFHZQ","易方达丰和债券","债券型","YIFANGDAFENGHEZHAIQUAN"],["002970","BSYACZZQ","博时裕昂纯债债券","债券型","BOSHIYUANGCHUNZHAIZHAIQUAN"],["002971","QHKYDAZQA","前海开源鼎安债券A","债券型","QIANHAIKAIYUANDINGANZHAIQUANA"],["002972","QHKYDAZQC","前海开源鼎安债券C","债券型","QIANHAIKAIYUANDINGANZHAIQUANC"],["002973","GFZZQZNYETFLJC","广发中证全指能源ETF联接C","联接基金","GUANGFAZHONGZHENGQUANZHINENGYUANETFLIANJIEC"],["002974","GFXXJSLJC","广发信息技术联接C","联接基金","GUANGFAXINXIJISHULIANJIEC"],["002975","GFZZQZYCLLJC","广发中证全指原材料联接C","联接基金","GUANGFAZHONGZHENGQUANZHIYUANCAILIAOLIANJIEC"],["002976","GFZZQZZYXFLJC","广发中证全指主要消费联接C","联接基金","GUANGFAZHONGZHENGQUANZHIZHUYAOXIAOFEILIANJIEC"],["002977","GFZZQZKXXFLJC","广发中证全指可选消费联接C","联接基金","GUANGFAZHONGZHENGQUANZHIKEXUANXIAOFEILIANJIEC"],["002978","GFYYWSLJC","广发医药卫生联接C","联接基金","GUANGFAYIYAOWEISHENGLIANJIEC"],["002979","GFZZQZJRDCLJC","广发中证全指金融地产联接C","联接基金","GUANGFAZHONGZHENGQUANZHIJINRONGDECHANLIANJIEC"],["002980","HXCXQYGP","华夏创新前沿股票","股票型","HUAXIACHUANGXINQIANYANGUPIAO"],["002982","GFYLZSC","广发养老指数C","股票指数","GUANGFAYANGLAOZHISHUC"],["002983","CXGFJGLHHH","长信国防军工量化混合","混合型","CHANGXINGUOFANGJUNGONGLIANGHUAHUNHE"],["002984","GFHBZSC","广发环保指数C","股票指数","GUANGFAHUANBAOZHISHUC"],["002985","ZYJJHDKZ","中银季季红定开债","定开债券","ZHONGYINJIJIHONGDINGKAIZHAI"],["002986","TKFYZQ","泰康丰盈债券","债券型","TAIKANGFENGYINGZHAIQUAN"],["002987","GFHS300ETFLJC","广发沪深300ETF联接C","联接基金","GUANGFAHUSHEN300ETFLIANJIEC"],["002988","PADHDXDKZ","平安大华鼎信定开债","定开债券","PINGANDAHUADINGXINDINGKAIZHAI"],["002989","RTTQYJJXHH","融通通乾研究精选混合","混合型","RONGTONGTONGGANYANJIUJINGXUANHUNHE"],["002991","JSWXCZZQ","嘉实稳鑫纯债债券","债券型","JIASHIWENXINCHUNZHAIZHAIQUAN"],["002992","ZSZYCZA","招商招元纯债A","债券型","ZHAOSHANGZHAOYUANCHUNZHAIA"],["002993","ZSZYCZC","招商招元纯债C","债券型","ZHAOSHANGZHAOYUANCHUNZHAIC"],["002994","ZSZYCZA","招商招裕纯债A","债券型","ZHAOSHANGZHAOYUCHUNZHAIA"],["002995","ZSZYCZC","招商招裕纯债C","债券型","ZHAOSHANGZHAOYUCHUNZHAIC"],["002996","CXWJCZZQ","长信稳健纯债债券","债券型","CHANGXINWENJIANCHUNZHAIZHAIQUAN"],["002997","GYRXCZZQ","工银瑞享纯债债券","债券型","GONGYINRUIXIANGCHUNZHAIZHAIQUAN"],["002998","BSHY18GYDKZA","博时弘裕18个月定开债A","定开债券","BOSHIHONGYU18GEYUEDINGKAIZHAIA"],["002999","BSHY18GYDKZC","博时弘裕18个月定开债C","定开债券","BOSHIHONGYU18GEYUEDINGKAIZHAIC"],["003000","ZSFDLHPZHHA","招商丰德灵活配置混合A","混合型","ZHAOSHANGFENGDELINGHUOPEIZHIHUNHEA"],["003001","ZSFDLHPZHHC","招商丰德灵活配置混合C","混合型","ZHAOSHANGFENGDELINGHUOPEIZHIHUNHEC"],["003002","GJJDQTLC","国金及第七天理财","理财型","GUOJINJIDIQITIANLICAI"],["003003","HXXJZLHBAE","华夏现金增利货币A/E","货币型","HUAXIAXIANJINZENGLIHUOBIAE"],["003004","ZSRXDKHH","招商睿祥定开混合","混合型","ZHAOSHANGRUIXIANGDINGKAIHUNHE"],["003005","HXDYZQA","华夏鼎益债券A","债券型","HUAXIADINGYIZHAIQUANA"],["003006","HXDYZQI","华夏鼎益债券I","债券型","HUAXIADINGYIZHAIQUANI"],["003009","ZRYZZQA","中融盈泽债券A","债券型","ZHONGRONGYINGZEZHAIQUANA"],["003010","ZRYZZQC","中融盈泽债券C","债券型","ZHONGRONGYINGZEZHAIQUANC"],["003011","ZRYRZQA","中融盈润债券A","债券型","ZHONGRONGYINGRUNZHAIQUANA"],["003012","ZRYRZQC","中融盈润债券C","债券型","ZHONGRONGYINGRUNZHAIQUANC"],["003013","ZRHTCZA","中融恒泰纯债A","债券型","ZHONGRONGHENGTAICHUNZHAIA"],["003014","ZRHTCZC","中融恒泰纯债C","债券型","ZHONGRONGHENGTAICHUNZHAIC"],["003015","ZJHS300A","中金沪深300A","股票指数","ZHONGJINHUSHEN300A"],["003016","ZJZZ500A","中金中证500A","股票指数","ZHONGJINZHONGZHENG500A"],["003017","GFZZJGETFLJ","广发中证军工ETF联接","联接基金","GUANGFAZHONGZHENGJUNGONGETFLIANJIE"],["003021","ZOQYZQ","中欧强裕债券","债券型","ZHONGOUQIANGYUZHAIQUAN"],["003022","JXXJTYHBA","建信现金添益货币A","货币型","JIANXINXIANJINTIANYIHUOBIA"],["003023","BSJFCZZQ","博时景发纯债债券","债券型","BOSHIJINGFACHUNZHAIZHAIQUAN"],["003024","PADHHJDKZ","平安大华惠金定开债","定开债券","PINGANDAHUAHUIJINDINGKAIZHAI"],["003025","XHHLHBHH","新华红利回报混合","混合型","XINHUAHONGLIHUIBAOHUNHE"],["003026","AXXJZHHA","安信新价值混合A","混合型","ANXINXINJIAZHIHUNHEA"],["003027","AXXJZHHC","安信新价值混合C","混合型","ANXINXINJIAZHIHUNHEC"],["003028","AXXYXHHA","安信新优选混合A","混合型","ANXINXINYOUXUANHUNHEA"],["003029","AXXYXHHC","安信新优选混合C","混合型","ANXINXINYOUXUANHUNHEC"],["003030","AXXMBHHA","安信新目标混合A","混合型","ANXINXINMUBIAOHUNHEA"],["003031","AXXMBHHC","安信新目标混合C","混合型","ANXINXINMUBIAOHUNHEC"],["003033","NFRGDKHH","南方荣冠定开混合","混合型","NANFANGRONGGUANDINGKAIHUNHE"],["003034","PADHJYXHBA","平安大华交易型货币A","货币型","PINGANDAHUAJIAOYIXINGHUOBIA"],["003035","GFAXHBHHA","广发安祥回报混合A","混合型","GUANGFAANXIANGHUIBAOHUNHEA"],["003036","GFAXHBHHC","广发安祥回报混合C","混合型","GUANGFAANXIANGHUIBAOHUNHEC"],["003037","GFJRZQA","广发集瑞债券A","债券型","GUANGFAJIRUIZHAIQUANA"],["003038","GFJRZQC","广发集瑞债券C","债券型","GUANGFAJIRUIZHAIQUANC"],["003039","GFJFCZA","广发集富纯债A","债券型","GUANGFAJIFUCHUNZHAIA"],["003040","GFJFCZC","广发集富纯债C","债券型","GUANGFAJIFUCHUNZHAIC"],["003041","XYDLZQ","鑫元得利债券","债券型","XINYUANDELIZHAIQUAN"],["003042","JYHQTHBA","交银活期通货币A","货币型","JIAOYINHUOQITONGHUOBIA"],["003043","JYHQTHBE","交银活期通货币E","货币型","JIAOYINHUOQITONGHUOBIE"],["003044","DFHZLJXHHA","东方红战略精选混合A","混合型","DONGFANGHONGZHANLUEJINGXUANHUNHEA"],["003045","DFHZLJXHHC","东方红战略精选混合C","混合型","DONGFANGHONGZHANLUEJINGXUANHUNHEC"],["003046","ZSXYDKZRMB","招商信用定开债人民币","QDII","ZHAOSHANGXINYONGDINGKAIZHAIRENMINBI"],["003047","ZSXYDKZMY","招商信用定开债美元","QDII","ZHAOSHANGXINYONGDINGKAIZHAIMEIYUAN"],["003048","MSJYXYZA","民生加银鑫盈债A","债券型","MINSHENGJIAYINXINYINGZHAIA"],["003049","MSJYXYZC","民生加银鑫盈债C","债券型","MINSHENGJIAYINXINYINGZHAIC"],["003050","NYHLJFYNDKZ","农银汇理金丰一年定开债","定开债券","NONGYINHUILIJINFENGYINIANDINGKAIZHAI"],["003051","NYHLJLYNDKZ","农银汇理金利一年定开债","定开债券","NONGYINHUILIJINLIYINIANDINGKAIZHAI"],["003053","JSWTYLGPA","嘉实文体娱乐股票A","股票型","JIASHIWENTIYULEGUPIAOA"],["003054","JSWTYLGPC","嘉实文体娱乐股票C","股票型","JIASHIWENTIYULEGUPIAOC"],["003055","BSZCEHBB","博时招财二号保本","保本型","BOSHIZHAOCAIERHAOBAOBEN"],["003056","JSWZCZZQ","嘉实稳泽纯债债券","债券型","JIASHIWENZECHUNZHAIZHAIQUAN"],["003057","JXRSTLHHA","建信瑞盛添利混合A","混合型","JIANXINRUISHENGTIANLIHUNHEA"],["003058","JXRSTLHHC","建信瑞盛添利混合C","混合型","JIANXINRUISHENGTIANLIHUNHEC"],["003059","CXXLBNDQKFHH","长信先利半年定期开放混合","混合型","CHANGXINXIANLIBANNIANDINGQIKAIFANGHUNHE"],["003062","YHTLHHA","银华通利混合A","混合型","YINHUATONGLIHUNHEA"],["003063","YHTLHHC","银华通利混合C","混合型","YINHUATONGLIHUNHEC"],["003064","NFRHHH","南方荣欢混合","混合型","NANFANGRONGHUANHUNHE"],["003073","TDHLHLZQA","泰达宏利汇利债券A","债券型","TAIDAHONGLIHUILIZHAIQUANA"],["003074","TDHLHLZQC","泰达宏利汇利债券C","债券型","TAIDAHONGLIHUILIZHAIQUANC"],["003075","ZRHBE","中融货币E","货币型","ZHONGRONGHUOBIE"],["003078","TKAHCZZQ","泰康安惠纯债债券","债券型","TAIKANGANHUICHUNZHAIZHAIQUAN"],["003079","ZR35NZGDJXYZA","中融3-5年中高等级信用债A","债券指数","ZHONGRONG35NIANZHONGGAODENGJIXINYONGZHAIA"],["003080","ZR35NZGDJXYZC","中融3-5年中高等级信用债C","债券指数","ZHONGRONG35NIANZHONGGAODENGJIXINYONGZHAIC"],["003081","ZR13NZGDJXYZA","中融1-3年中高等级信用债A","债券指数","ZHONGRONG13NIANZHONGGAODENGJIXINYONGZHAIA"],["003082","ZR13NZGDJXYZC","中融1-3年中高等级信用债C","债券指数","ZHONGRONG13NIANZHONGGAODENGJIXINYONGZHAIC"],["003083","ZR13NGDJXYZA","中融1-3年高等级信用债A","债券指数","ZHONGRONG13NIANGAODENGJIXINYONGZHAIA"],["003084","ZR13NGDJXYZC","中融1-3年高等级信用债C","债券指数","ZHONGRONG13NIANGAODENGJIXINYONGZHAIC"],["003085","ZR01NZGDJXYZA","中融0-1年中高等级信用债A","债券指数","ZHONGRONG01NIANZHONGGAODENGJIXINYONGZHAIA"],["003086","ZR01NZGDJXYZC","中融0-1年中高等级信用债C","债券指数","ZHONGRONG01NIANZHONGGAODENGJIXINYONGZHAIC"],["003087","STMGSSFDKZQA","上投摩根岁岁丰定开债券A","定开债券","SHANGTOUMOGENSUISUIFENGDINGKAIZHAIQUANA"],["003088","STMGSSFDKZQC","上投摩根岁岁丰定开债券C","定开债券","SHANGTOUMOGENSUISUIFENGDINGKAIZHAIQUANC"],["003089","ZRHRCZA","中融恒瑞纯债A","债券型","ZHONGRONGHENGRUICHUNZHAIA"],["003090","ZRHRCZC","中融恒瑞纯债C","债券型","ZHONGRONGHENGRUICHUNZHAIC"],["003091","ZOQLZQ","中欧强利债券","债券型","ZHONGOUQIANGLIZHAIQUAN"],["003092","HSFLZQDKZA","华商丰利增强定开债A","定开债券","HUASHANGFENGLIZENGQIANGDINGKAIZHAIA"],["003093","HSFLZQDKZC","华商丰利增强定开债C","定开债券","HUASHANGFENGLIZENGQIANGDINGKAIZHAIC"],["003094","DMDYXL18GYDKZ","大摩多元兴利18个月定开债","定开债券","DAMODUOYUANXINGLI18GEYUEDINGKAIZHAI"],["003095","ZOYLJKHHA","中欧医疗健康混合A","混合型","ZHONGOUYILIAOJIANKANGHUNHEA"],["003096","ZOYLJKHHC","中欧医疗健康混合C","混合型","ZHONGOUYILIAOJIANKANGHUNHEC"],["003097","DBDH9GYDKZA","德邦德焕9个月定开债A","定开债券","DEBANGDEHUAN9GEYUEDINGKAIZHAIA"],["003098","DBDH9GYDKZC","德邦德焕9个月定开债C","定开债券","DEBANGDEHUAN9GEYUEDINGKAIZHAIC"],["003099","CSSJCZA","长盛盛景纯债A","债券型","CHANGSHENGSHENGJINGCHUNZHAIA"],["003100","CSSJCZC","长盛盛景纯债C","债券型","CHANGSHENGSHENGJINGCHUNZHAIC"],["003101","NDTXZQ","诺德天禧债券","债券型","NUODETIANXIZHAIQUAN"],["003102","CSSYCZA","长盛盛裕纯债A","债券型","CHANGSHENGSHENGYUCHUNZHAIA"],["003103","CSSYCZC","长盛盛裕纯债C","债券型","CHANGSHENGSHENGYUCHUNZHAIC"],["003104","TDHLDHHH","泰达宏利定宏混合","混合型","TAIDAHONGLIDINGHONGHUNHE"],["003105","GDYXHHA","光大永鑫混合A","混合型","GUANGDAYONGXINHUNHEA"],["003106","GDYXHHC","光大永鑫混合C","混合型","GUANGDAYONGXINHUNHEC"],["003107","GDBDXAQZQA","光大保德信安祺债券A","债券型","GUANGDABAODEXINANQIZHAIQUANA"],["003108","GDBDXAQZQC","光大保德信安祺债券C","债券型","GUANGDABAODEXINANQIZHAIQUANC"],["003109","GDAHZQA","光大安和债券A","债券型","GUANGDAANHEZHAIQUANA"],["003110","GDAHZQC","光大安和债券C","债券型","GUANGDAANHEZHAIQUANC"],["003115","GDBDXCXHHA","光大保德信诚鑫混合A","混合型","GUANGDABAODEXINCHENGXINHUNHEA"],["003116","GDBDXCXHHC","光大保德信诚鑫混合C","混合型","GUANGDABAODEXINCHENGXINHUNHEC"],["003117","GDJXHHA","光大吉鑫混合A","混合型","GUANGDAJIXINHUNHEA"],["003118","GDJXHHC","光大吉鑫混合C","混合型","GUANGDAJIXINHUNHEC"],["003119","BSXYHHA","博时鑫源混合A","混合型","BOSHIXINYUANHUNHEA"],["003120","BSXYHHC","博时鑫源混合C","混合型","BOSHIXINYUANHUNHEC"],["003121","XCWLA","信诚稳利A","债券型","XINCHENGWENLIA"],["003122","PHXSDKHH","鹏华兴盛定开混合","混合型","PENGHUAXINGSHENGDINGKAIHUNHE"],["003123","TZXLBNDKZA","天治鑫利半年定开债A","定开债券","TIANZHIXINLIBANNIANDINGKAIZHAIA"],["003124","TZXLBNDKZC","天治鑫利半年定开债C","定开债券","TIANZHIXINLIBANNIANDINGKAIZHAIC"],["003125","ZKWTWXCZHH","中科沃土沃鑫成长混合","混合型","ZHONGKEWOTUWOXINCHENGZHANGHUNHE"],["003126","CXCZBNZQA","长信纯债半年债券A","定开债券","CHANGXINCHUNZHAIBANNIANZHAIQUANA"],["003127","CXCZBNZQC","长信纯债半年债券C","定开债券","CHANGXINCHUNZHAIBANNIANZHAIQUANC"],["003130","XCWLC","信诚稳利C","债券型","XINCHENGWENLIC"],["003131","GSABQGZZHH","国寿安保强国智造混合","混合型","GUOSHOUANBAOQIANGGUOZHIZAOHUNHE"],["003132","DBXHBLHPZHH","德邦新回报灵活配置混合","混合型","DEBANGXINHUIBAOLINGHUOPEIZHIHUNHE"],["003133","YFDYXZQA","易方达裕鑫债券A","债券型","YIFANGDAYUXINZHAIQUANA"],["003134","YFDYXZQC","易方达裕鑫债券C","债券型","YIFANGDAYUXINZHAIQUANC"],["003135","JYSAFYZQ","金元顺安沣楹债券","债券型","JINYUANSHUNANFENGYINGZHAIQUAN"],["003140","PHHTHHA","鹏华弘腾混合A","混合型","PENGHUAHONGTENGHUNHEA"],["003141","PHHTHHC","鹏华弘腾混合C","混合型","PENGHUAHONGTENGHUNHEC"],["003142","PHHDHHA","鹏华弘达混合A","混合型","PENGHUAHONGDAHUNHEA"],["003143","PHHDHHC","鹏华弘达混合C","混合型","PENGHUAHONGDAHUNHEC"],["003144","HBXJYHHLOFC","华宝新机遇混合(LOF)C","混合型","HUABAOXINJIYUHUNHELOFC"],["003145","ZRJZYS","中融竞争优势","股票型","ZHONGRONGJINGZHENGYOUSHI"],["003146","RTTYZQ","融通通优债券","债券型","RONGTONGTONGYOUZHAIQUAN"],["003147","DCDTLHHH","大成动态量化混合","混合型","DACHENGDONGTAILIANGHUAHUNHE"],["003148","ZOJYLHPZHHA","中欧瑾悠灵活配置混合A","混合型","ZHONGOUJINYOULINGHUOPEIZHIHUNHEA"],["003149","ZOJYLHPZHHC","中欧瑾悠灵活配置混合C","混合型","ZHONGOUJINYOULINGHUOPEIZHIHUNHEC"],["003150","ZORCDQKFHHA","中欧睿诚定期开放混合A","混合型","ZHONGOURUICHENGDINGQIKAIFANGHUNHEA"],["003151","ZORCDQKFHHC","中欧睿诚定期开放混合C","混合型","ZHONGOURUICHENGDINGQIKAIFANGHUNHEC"],["003152","HFTXLHPZHHA","华富天鑫灵活配置混合A","混合型","HUAFUTIANXINLINGHUOPEIZHIHUNHEA"],["003153","HFTXLHPZHHC","华富天鑫灵活配置混合C","混合型","HUAFUTIANXINLINGHUOPEIZHIHUNHEC"],["003154","HBXHLHH","华宝新活力混合","混合型","HUABAOXINHUOLIHUNHE"],["003155","ZJFSCZZQ","中加丰尚纯债债券","债券型","ZHONGJIAFENGSHANGCHUNZHAIZHAIQUAN"],["003156","ZSZYCZA","招商招悦纯债A","债券型","ZHAOSHANGZHAOYUECHUNZHAIA"],["003157","ZSZYCZC","招商招悦纯债C","债券型","ZHAOSHANGZHAOYUECHUNZHAIC"],["003158","GTRYRDHH","国投瑞银瑞达混合","混合型","GUOTOURUIYINRUIDAHUNHE"],["003159","WJHR18GYDKZA","万家恒瑞18个月定开债A","定开债券","WANJIAHENGRUI18GEYUEDINGKAIZHAIA"],["003160","WJHR18GYDKZC","万家恒瑞18个月定开债C","定开债券","WANJIAHENGRUI18GEYUEDINGKAIZHAIC"],["003161","NFATYLHH","南方安泰养老混合","混合型","NANFANGANTAIYANGLAOHUNHE"],["003162","BSFNCZZQ","博时富宁纯债债券","债券型","BOSHIFUNINGCHUNZHAIZHAIQUAN"],["003163","JYTYCZ","金鹰添益纯债","债券型","JINYINGTIANYICHUNZHAI"],["003164","JXXJTLHBB","建信现金添利货币B","货币型","JIANXINXIANJINTIANLIHUOBIB"],["003165","PHHJHHAL","鹏华弘嘉混合A类","混合型","PENGHUAHONGJIAHUNHEALEI"],["003166","PHHJHHCL","鹏华弘嘉混合C类","混合型","PENGHUAHONGJIAHUNHECLEI"],["003167","QHKYDRZQA","前海开源鼎瑞债券A","债券型","QIANHAIKAIYUANDINGRUIZHAIQUANA"],["003168","QHKYDRZQC","前海开源鼎瑞债券C","债券型","QIANHAIKAIYUANDINGRUIZHAIQUANC"],["003169","CSSHHHA","长盛盛辉混合A","混合型","CHANGSHENGSHENGHUIHUNHEA"],["003170","CSSHHHC","长盛盛辉混合C","混合型","CHANGSHENGSHENGHUIHUNHEC"],["003171","XDAYHLCHB","信达澳银慧理财货币","货币型","XINDAAOYINHUILICAIHUOBI"],["003172","PHFAZQ","鹏华丰安债券","债券型","PENGHUAFENGANZHAIQUAN"],["003173","MSJYXACZC","民生加银鑫安纯债C","债券型","MINSHENGJIAYINXINANCHUNZHAIC"],["003175","HTBRDCLHH","华泰柏瑞多策略混合","混合型","HUATAIBAIRUIDUOCELUEHUNHE"],["003176","DBJYZQA","德邦景颐债券A","债券型","DEBANGJINGYIZHAIQUANA"],["003177","DBJYZQC","德邦景颐债券C","债券型","DEBANGJINGYIZHAIQUANC"],["003178","GFJSCZ","广发景盛纯债","债券型","GUANGFAJINGSHENGCHUNZHAI"],["003179","SXYLZQ","山西裕利债券","债券型","SHANXIYULIZHAIQUAN"],["003180","QHLHTLZQA","前海联合添利债券A","债券型","QIANHAILIANHETIANLIZHAIQUANA"],["003181","QHLHTLZQC","前海联合添利债券C","债券型","QIANHAILIANHETIANLIZHAIQUANC"],["003182","HFHXHHA","华富弘鑫混合A","混合型","HUAFUHONGXINHUNHEA"],["003183","HFHXHHC","华富弘鑫混合C","混合型","HUAFUHONGXINHUNHEC"],["003185","JXHBB","建信货币B","货币型","JIANXINHUOBIB"],["003186","PHXADQKFHH","鹏华兴安定期开放混合","混合型","PENGHUAXINGANDINGQIKAIFANGHUNHE"],["003187","JSAYHH","嘉实安益混合","混合型","JIASHIANYIHUNHE"],["003188","BSJYCZZQ","博时聚源纯债债券","债券型","BOSHIJUYUANCHUNZHAIZHAIQUAN"],["003189","HTFBXBBHH","汇添富保鑫保本混合","保本型","HUITIANFUBAOXINBAOBENHUNHE"],["003190","CJHXXHBHHA","创金合信鑫回报混合A","混合型","CHUANGJINHEXINXINHUIBAOHUNHEA"],["003191","CJHXXHBHHC","创金合信鑫回报混合C","混合型","CHUANGJINHEXINXINHUIBAOHUNHEC"],["003192","CJHXZFCZ","创金合信尊丰纯债","债券型","CHUANGJINHEXINZUNFENGCHUNZHAI"],["003194","HTFZZSHGQETFLJ","汇添富中证上海国企ETF联接","联接基金","HUITIANFUZHONGZHENGSHANGHAIGUOQIETFLIANJIE"],["003195","GDBDXYLCZA","光大保德信永利纯债A","债券型","GUANGDABAODEXINYONGLICHUNZHAIA"],["003196","GDBDXYLCZC","光大保德信永利纯债C","债券型","GUANGDABAODEXINYONGLICHUNZHAIC"],["003197","GDBDXACZQA","光大保德信安诚债券A","债券型","GUANGDABAODEXINANCHENGZHAIQUANA"],["003198","GDBDXACZQC","光大保德信安诚债券C","债券型","GUANGDABAODEXINANCHENGZHAIQUANC"],["003199","CSSQYNZQA","长盛盛琪一年债券A","定开债券","CHANGSHENGSHENGQIYINIANZHAIQUANA"],["003200","CSSQYNZQC","长盛盛琪一年债券C","定开债券","CHANGSHENGSHENGQIYINIANZHAIQUANC"],["003206","BSHXHB","博时合鑫货币","货币型","BOSHIHEXINHUOBI"],["003207","BSFFCZ","博时富发纯债","债券型","BOSHIFUFACHUNZHAI"],["003208","DXLHDCLHH","东兴量化多策略混合","混合型","DONGXINGLIANGHUADUOCELUEHUNHE"],["003209","PHFDZQ","鹏华丰达债券","债券型","PENGHUAFENGDAZHAIQUAN"],["003210","BSZZCZZQ","博时智臻纯债债券","债券型","BOSHIZHIZHENCHUNZHAIZHAIQUAN"],["003211","GFJAZQA","广发集安债券A","债券型","GUANGFAJIANZHAIQUANA"],["003212","GFJAZQC","广发集安债券C","债券型","GUANGFAJIANZHAIQUANC"],["003213","ZYYXDQKFZQ","中银悦享定期开放债券","定开债券","ZHONGYINYUEXIANGDINGQIKAIFANGZHAIQUAN"],["003214","YFDFHCZZQ","易方达富惠纯债债券","债券型","YIFANGDAFUHUICHUNZHAIZHAIQUAN"],["003215","XCZXLHPZHHA","信诚至鑫灵活配置混合A","混合型","XINCHENGZHIXINLINGHUOPEIZHIHUNHEA"],["003216","XCZXLHPZHHC","信诚至鑫灵活配置混合C","混合型","XINCHENGZHIXINLINGHUOPEIZHIHUNHEC"],["003218","QHKYXHZQA","前海开源祥和债券A","债券型","QIANHAIKAIYUANXIANGHEZHAIQUANA"],["003219","QHKYXHZQC","前海开源祥和债券C","债券型","QIANHAIKAIYUANXIANGHEZHAIQUANC"],["003220","ZSHLCZZQ","浙商惠利纯债债券","债券型","ZHESHANGHUILICHUNZHAIZHAIQUAN"],["003221","XHFLZQA","新华丰利债券A","债券型","XINHUAFENGLIZHAIQUANA"],["003222","XHFLZQC","新华丰利债券C","债券型","XINHUAFENGLIZHAIQUANC"],["003223","GFJFCZ","广发景丰纯债","债券型","GUANGFAJINGFENGCHUNZHAI"],["003224","PHXRDQKFHHA","鹏华兴润定期开放混合A","混合型","PENGHUAXINGRUNDINGQIKAIFANGHUNHEA"],["003225","PHXRDQKFHHC","鹏华兴润定期开放混合C","混合型","PENGHUAXINGRUNDINGQIKAIFANGHUNHEC"],["003226","XCWJZQA","信诚稳健债券A","债券型","XINCHENGWENJIANZHAIQUANA"],["003227","XCWJZQC","信诚稳健债券C","债券型","XINCHENGWENJIANZHAIQUANC"],["003228","PYRRXHBA","浦银日日鑫货币A","货币型","PUYINRIRIXINHUOBIA"],["003229","PYRRXHBB","浦银日日鑫货币B","货币型","PUYINRIRIXINHUOBIB"],["003230","CJHXXDLHHA","创金合信鑫动力混合A","混合型","CHUANGJINHEXINXINDONGLIHUNHEA"],["003231","CJHXXDLHHC","创金合信鑫动力混合C","混合型","CHUANGJINHEXINXINDONGLIHUNHEC"],["003232","CJHXXJZHHA","创金合信鑫价值混合A","混合型","CHUANGJINHEXINXINJIAZHIHUNHEA"],["003233","CJHXXJZHHC","创金合信鑫价值混合C","混合型","CHUANGJINHEXINXINJIAZHIHUNHEC"],["003234","XCZLHHA","信诚至利混合A","混合型","XINCHENGZHILIHUNHEA"],["003235","XCZLHHC","信诚至利混合C","混合型","XINCHENGZHILIHUNHEC"],["003236","XCHYZQA","信诚惠盈债券A","债券型","XINCHENGHUIYINGZHAIQUANA"],["003237","XCHYZQC","信诚惠盈债券C","债券型","XINCHENGHUIYINGZHAIQUANC"],["003238","XHWYZZZTLHPZHH","新华外延增长主题灵活配置混合","混合型","XINHUAWAIYANZENGZHANGZHUTILINGHUOPEIZHIHUNHE"],["003239","BSAQYNDKZA","博时安祺一年定开债A","定开债券","BOSHIANQIYINIANDINGKAIZHAIA"],["003240","BSAQYNDKZC","博时安祺一年定开债C","定开债券","BOSHIANQIYINIANDINGKAIZHAIC"],["003241","CJHXLHFXHHA","创金合信量化发现混合A","混合型","CHUANGJINHEXINLIANGHUAFAXIANHUNHEA"],["003242","CJHXLHFXHHC","创金合信量化发现混合C","混合型","CHUANGJINHEXINLIANGHUAFAXIANHUNHEC"],["003243","STMGZGSJRMB","上投摩根中国世纪人民币","QDII","SHANGTOUMOGENZHONGGUOSHIJIRENMINBI"],["003244","STMGZGSJMYXC","上投摩根中国世纪美元现钞","QDII","SHANGTOUMOGENZHONGGUOSHIJIMEIYUANXIANCHAO"],["003245","STMGZGSJMYXH","上投摩根中国世纪美元现汇","QDII","SHANGTOUMOGENZHONGGUOSHIJIMEIYUANXIANHUI"],["003246","HTBRTTBHBA","华泰柏瑞天添宝货币A","货币型","HUATAIBAIRUITIANTIANBAOHUOBIA"],["003247","TDHLQZLHPZHHA","泰达宏利启智灵活配置混合A","混合型","TAIDAHONGLIQIZHILINGHUOPEIZHIHUNHEA"],["003248","TDHLQZLHPZHHC","泰达宏利启智灵活配置混合C","混合型","TAIDAHONGLIQIZHILINGHUOPEIZHIHUNHEC"],["003249","JXHFCZZQ","建信恒丰纯债债券","债券型","JIANXINHENGFENGCHUNZHAIZHAIQUAN"],["003250","RTTSLHPZHHA","融通通尚灵活配置混合A","混合型","RONGTONGTONGSHANGLINGHUOPEIZHIHUNHEA"],["003251","RTTSLHPZHHC","融通通尚灵活配置混合C","混合型","RONGTONGTONGSHANGLINGHUOPEIZHIHUNHEC"],["003252","DCTYJYXHBA","大成添益交易型货币A","货币型","DACHENGTIANYIJIAOYIXINGHUOBIA"],["003253","DCTYJYXHBB","大成添益交易型货币B","货币型","DACHENGTIANYIJIAOYIXINGHUOBIB"],["003254","QHKYDYZQA","前海开源鼎裕债券A","债券型","QIANHAIKAIYUANDINGYUZHAIQUANA"],["003255","QHKYDYZQC","前海开源鼎裕债券C","债券型","QIANHAIKAIYUANDINGYUZHAIQUANC"],["003256","XCZYHHA","信诚至益混合A","混合型","XINCHENGZHIYIHUNHEA"],["003257","XCZYHHC","信诚至益混合C","混合型","XINCHENGZHIYIHUNHEC"],["003258","BSFXCZZQ","博时富祥纯债债券","债券型","BOSHIFUXIANGCHUNZHAIZHAIQUAN"],["003259","BSJLCZZQ","博时聚利纯债债券","债券型","BOSHIJULICHUNZHAIZHAIQUAN"],["003260","BSLFCZ","博时利发纯债","债券型","BOSHILIFACHUNZHAI"],["003261","AXHS300ZQFQSA","安信沪深300增强发起式A","股票指数","ANXINHUSHEN300ZENGQIANGFAQISHIA"],["003262","AXHS300ZQFQSC","安信沪深300增强发起式C","股票指数","ANXINHUSHEN300ZENGQIANGFAQISHIC"],["003264","XHHQTLHBB","新华活期添利货币B","货币型","XINHUAHUOQITIANLIHUOBIB"],["003265","ZSZKCZA","招商招坤纯债A","债券型","ZHAOSHANGZHAOKUNCHUNZHAIA"],["003266","ZSZKCZC","招商招坤纯债C","债券型","ZHAOSHANGZHAOKUNCHUNZHAIC"],["003267","XHYNBHBB","新华壹诺宝货币B","货币型","XINHUAYINUOBAOHUOBIB"],["003268","BSYCCZ","博时悦楚纯债","债券型","BOSHIYUECHUCHUNZHAI"],["003269","ZSZQCZA","招商招乾纯债A","债券型","ZHAOSHANGZHAOQIANCHUNZHAIA"],["003270","ZSZQCZC","招商招乾纯债C","债券型","ZHAOSHANGZHAOQIANCHUNZHAIC"],["003271","GLAXRHHA","国联安鑫瑞混合A","混合型","GUOLIANANXINRUIHUNHEA"],["003272","GLAXRHHC","国联安鑫瑞混合C","混合型","GUOLIANANXINRUIHUNHEC"],["003273","AXYFDKZQA","安信永丰定开债券A","定开债券","ANXINYONGFENGDINGKAIZHAIQUANA"],["003274","AXYFDKZQC","安信永丰定开债券C","定开债券","ANXINYONGFENGDINGKAIZHAIQUANC"],["003275","GLAXYHHA","国联安鑫盈混合A","混合型","GUOLIANANXINYINGHUNHEA"],["003276","GLAXYHHC","国联安鑫盈混合C","混合型","GUOLIANANXINYINGHUNHEC"],["003277","XCWRZQA","信诚稳瑞债券A","债券型","XINCHENGWENRUIZHAIQUANA"],["003278","XCWRZQC","信诚稳瑞债券C","债券型","XINCHENGWENRUIZHAIQUANC"],["003279","RTHGSZHSHLHPZHH","融通沪港深智慧生活灵活配置混合","混合型","RONGTONGHUGANGSHENZHIHUISHENGHUOLINGHUOPEIZHIHUNHE"],["003280","PHFHZQ","鹏华丰恒债券","债券型","PENGHUAFENGHENGZHAIQUAN"],["003281","GFHQBHBB","广发活期宝货币B","货币型","GUANGFAHUOQIBAOHUOBIB"],["003282","XCZYLHPZHHA","信诚至裕灵活配置混合A","混合型","XINCHENGZHIYULINGHUOPEIZHIHUNHEA"],["003283","XCZYLHPZHHC","信诚至裕灵活配置混合C","混合型","XINCHENGZHIYULINGHUOPEIZHIHUNHEC"],["003284","ZYYYJKHH","中邮医药健康混合","混合型","ZHONGYOUYIYAOJIANKANGHUNHE"],["003285","GSABAKCZZQ","国寿安保安康纯债债券","债券型","GUOSHOUANBAOANKANGCHUNZHAIZHAIQUAN"],["003286","PADHHXCZ","平安大华惠享纯债","债券型","PINGANDAHUAHUIXIANGCHUNZHAI"],["003287","XCWYZQA","信诚稳益债券A","债券型","XINCHENGWENYIZHAIQUANA"],["003288","XCWYZQC","信诚稳益债券C","债券型","XINCHENGWENYIZHAIQUANC"],["003289","CJHXZTCZZQ","创金合信尊泰纯债债券","债券型","CHUANGJINHEXINZUNTAICHUNZHAIZHAIQUAN"],["003290","CCJWZQ","长城久稳债券","债券型","CHANGCHENGJIUWENZHAIQUAN"],["003292","JSYSCZHH","嘉实优势成长混合","混合型","JIASHIYOUSHICHENGZHANGHUNHE"],["003293","YFDKRHH","易方达科瑞混合","混合型","YIFANGDAKERUIHUNHE"],["003295","NFAYYLHH","南方安裕养老混合","混合型","NANFANGANYUYANGLAOHUNHE"],["003298","JSWLCYGPA","嘉实物流产业股票A","股票型","JIASHIWULIUCHANYEGUPIAOA"],["003299","JSWLCYGPC","嘉实物流产业股票C","股票型","JIASHIWULIUCHANYEGUPIAOC"],["003300","HXYHHH","华夏圆和混合","混合型","HUAXIAYUANHEHUNHE"],["003301","HXDRZQA","华夏鼎融债券A","债券型","HUAXIADINGRONGZHAIQUANA"],["003302","HXDRZQC","华夏鼎融债券C","债券型","HUAXIADINGRONGZHAIQUANC"],["003304","QHKYHGSHXZYHHA","前海开源沪港深核心资源混合A","混合型","QIANHAIKAIYUANHUGANGSHENHEXINZIYUANHUNHEA"],["003305","QHKYHGSHXZYHHC","前海开源沪港深核心资源混合C","混合型","QIANHAIKAIYUANHUGANGSHENHEXINZIYUANHUNHEC"],["003306","MSJYXYZQA","民生加银鑫益债券A","债券型","MINSHENGJIAYINXINYIZHAIQUANA"],["003307","MSJYXYZQC","民生加银鑫益债券C","债券型","MINSHENGJIAYINXINYIZHAIQUANC"],["003308","ZXJTRL","中信建投睿利","混合型","ZHONGXINJIANTOURUILI"],["003309","XYQYYNDKZA","兴业启元一年定开债A","定开债券","XINGYEQIYUANYINIANDINGKAIZHAIA"],["003310","XYQYYNDKZC","兴业启元一年定开债C","定开债券","XINGYEQIYUANYINIANDINGKAIZHAIC"],["003311","DMRCDPTXGP","大摩睿成大盘弹性股票","股票型","DAMORUICHENGDAPANTANXINGGUPIAO"],["003312","DMRCZXPTXGP","大摩睿成中小盘弹性股票","股票型","DAMORUICHENGZHONGXIAOPANTANXINGGUPIAO"],["003313","ZYRXZQ","中银睿享债券","债券型","ZHONGYINRUIXIANGZHAIQUAN"],["003314","ZSHNCZZQ","浙商惠南纯债债券","债券型","ZHESHANGHUINANCHUNZHAIZHAIQUAN"],["003315","JSCCJRSLDKZ","景顺长城景瑞双利定开债","定开债券","JINGSHUNCHANGCHENGJINGRUISHUANGLIDINGKAIZHAI"],["003316","ZYZQXJGJHBA","中银证券现金管家货币A","货币型","ZHONGYINZHENGQUANXIANJINGUANJIAHUOBIA"],["003317","ZYZQXJGJHBB","中银证券现金管家货币B","货币型","ZHONGYINZHENGQUANXIANJINGUANJIAHUOBIB"],["003318","JSZZ500HYZXDBD","景顺中证500行业中性低波动","股票指数","JINGSHUNZHONGZHENG500HANGYEZHONGXINGDIBODONG"],["003319","JXRFTLHHA","建信瑞丰添利混合A","混合型","JIANXINRUIFENGTIANLIHUNHEA"],["003320","JXRFTLHHC","建信瑞丰添利混合C","混合型","JIANXINRUIFENGTIANLIHUNHEC"],["003321","YFDYYCLRMB","易方达原油C类人民币","QDII","YIFANGDAYUANYOUCLEIRENMINBI"],["003322","YFDYYALMYH","易方达原油A类美元汇","QDII","YIFANGDAYUANYOUALEIMEIYUANHUI"],["003323","YFDYYCLMYH","易方达原油C类美元汇","QDII","YIFANGDAYUANYOUCLEIMEIYUANHUI"],["003324","DFYX18GYDKZA","东方永兴18个月定开债A","定开债券","DONGFANGYONGXING18GEYUEDINGKAIZHAIA"],["003325","DFYX18GYDKZC","东方永兴18个月定开债C","定开债券","DONGFANGYONGXING18GEYUEDINGKAIZHAIC"],["003326","ZSRCDKHH","招商睿诚定开混合","混合型","ZHAOSHANGRUICHENGDINGKAIHUNHE"],["003327","WJXJCZA","万家鑫璟纯债A","债券型","WANJIAXINJINGCHUNZHAIA"],["003328","WJXJCZC","万家鑫璟纯债C","债券型","WANJIAXINJINGCHUNZHAIC"],["003329","WJXACZZQA","万家鑫安纯债债券A","债券型","WANJIAXINANCHUNZHAIZHAIQUANA"],["003330","WJXACZZQC","万家鑫安纯债债券C","债券型","WANJIAXINANCHUNZHAIZHAIQUANC"],["003331","BSLZDKHH","博时乐臻定开混合","混合型","BOSHILEZHENDINGKAIHUNHE"],["003332","NFRFHH","南方荣发混合","混合型","NANFANGRONGFAHUNHE"],["003333","TXZXCZHH","泰信智选成长混合","混合型","TAIXINZHIXUANCHENGZHANGHUNHE"],["003334","ZRRXSYA","中融融信双盈A","债券型","ZHONGRONGRONGXINSHUANGYINGA"],["003335","ZRRXSYC","中融融信双盈C","债券型","ZHONGRONGRONGXINSHUANGYINGC"],["003336","CJSYZQZQ","长江收益增强债券","债券型","CHANGJIANGSHOUYIZENGQIANGZHAIQUAN"],["003337","NFYYZQFQSA","南方颐元债券发起式A","债券型","NANFANGYIYUANZHAIQUANFAQISHIA"],["003338","NFYYZQFQSC","南方颐元债券发起式C","债券型","NANFANGYIYUANZHAIQUANFAQISHIC"],["003339","HARXDKHHA","华安睿享定开混合A","混合型","HUAANRUIXIANGDINGKAIHUNHEA"],["003340","HARXDKHHC","华安睿享定开混合C","混合型","HUAANRUIXIANGDINGKAIHUNHEC"],["003341","GYRY18GYDKZ","工银瑞盈18个月定开债","定开债券","GONGYINRUIYING18GEYUEDINGKAIZHAI"],["003342","GYGZCZZQA","工银国债纯债债券A","债券型","GONGYINGUOZHAICHUNZHAIZHAIQUANA"],["003343","PHHHLHPZHHA","鹏华弘惠灵活配置混合A","混合型","PENGHUAHONGHUILINGHUOPEIZHIHUNHEA"],["003344","PHHHLHPZHHC","鹏华弘惠灵活配置混合C","混合型","PENGHUAHONGHUILINGHUOPEIZHIHUNHEC"],["003345","AXXCZHHA","安信新成长混合A","混合型","ANXINXINCHENGZHANGHUNHEA"],["003346","AXXCZHHC","安信新成长混合C","混合型","ANXINXINCHENGZHANGHUNHEC"],["003349","CXWYCZ","长信稳益纯债","债券型","CHANGXINWENYICHUNZHAI"],["003350","GFXS18GYDKHH","广发鑫盛18个月定开混合","混合型","GUANGFAXINSHENG18GEYUEDINGKAIHUNHE"],["003351","ZSWRDKHHA","招商稳荣定开混合A","混合型","ZHAOSHANGWENRONGDINGKAIHUNHEA"],["003352","ZSWRDKHHC","招商稳荣定开混合C","混合型","ZHAOSHANGWENRONGDINGKAIHUNHEC"],["003353","XCZYLHPZHHA","信诚至优灵活配置混合A","混合型","XINCHENGZHIYOULINGHUOPEIZHIHUNHEA"],["003354","XCZYLHPZHHC","信诚至优灵活配置混合C","混合型","XINCHENGZHIYOULINGHUOPEIZHIHUNHEC"],["003355","ZSWXDKLHHHA","招商稳祥定开灵活混合A","混合型","ZHAOSHANGWENXIANGDINGKAILINGHUOHUNHEA"],["003356","ZSWXDKLHHHC","招商稳祥定开灵活混合C","混合型","ZHAOSHANGWENXIANGDINGKAILINGHUOHUNHEC"],["003357","JSWXCZZQC","嘉实稳祥纯债债券C","债券型","JIASHIWENXIANGCHUNZHAIZHAIQUANC"],["003358","YFDZZ710NGKZZS","易方达中债7-10年国开债指数","债券指数","YIFANGDAZHONGZHAI710NIANGUOKAIZHAIZHISHU"],["003359","DC360HLWDSJ100C","大成360互联网+大数据100C","股票指数","DACHENG360HULIANWANGDASHUJU100C"],["003360","QHKYRHZQA","前海开源瑞和债券A","债券型","QIANHAIKAIYUANRUIHEZHAIQUANA"],["003361","QHKYRHZQC","前海开源瑞和债券C","债券型","QIANHAIKAIYUANRUIHEZHAIQUANC"],["003362","GLARLDKHH","国联安睿利定开混合","混合型","GUOLIANANRUILIDINGKAIHUNHE"],["003363","CJLXHBA","长江乐享货币A","货币型","CHANGJIANGLEXIANGHUOBIA"],["003364","CJLXHBB","长江乐享货币B","货币型","CHANGJIANGLEXIANGHUOBIB"],["003365","CJLXHBC","长江乐享货币C","货币型","CHANGJIANGLEXIANGHUOBIC"],["003366","ZSHJZZZXCZZS","浙商汇金中证转型成长指数","股票指数","ZHESHANGHUIJINZHONGZHENGZHUANXINGCHENGZHANGZHISHU"],["003367","PHXHDQKFHHA","鹏华兴合定期开放混合A","混合型","PENGHUAXINGHEDINGQIKAIFANGHUNHEA"],["003368","PHXHDQKFHHC","鹏华兴合定期开放混合C","混合型","PENGHUAXINGHEDINGQIKAIFANGHUNHEC"],["003369","ZSZQCZA","招商招庆纯债A","债券型","ZHAOSHANGZHAOQINGCHUNZHAIA"],["003370","ZSZQCZC","招商招庆纯债C","债券型","ZHAOSHANGZHAOQINGCHUNZHAIC"],["003371","ZSZXCZA","招商招轩纯债A","债券型","ZHAOSHANGZHAOXUANCHUNZHAIA"],["003372","ZSZXCZC","招商招轩纯债C","债券型","ZHAOSHANGZHAOXUANCHUNZHAIC"],["003373","DCJLLHPZHHA","大成景禄灵活配置混合A","混合型","DACHENGJINGLULINGHUOPEIZHIHUNHEA"],["003374","DCJLLHPZHHC","大成景禄灵活配置混合C","混合型","DACHENGJINGLULINGHUOPEIZHIHUNHEC"],["003376","GFZZ710NGKZZSA","广发中债7-10年国开债指数A","债券指数","GUANGFAZHONGZHAI710NIANGUOKAIZHAIZHISHUA"],["003377","GFZZ710NGKZZSC","广发中债7-10年国开债指数C","债券指数","GUANGFAZHONGZHAI710NIANGUOKAIZHAIZHISHUC"],["003378","TKCLYXHH","泰康策略优选混合","混合型","TAIKANGCELUEYOUXUANHUNHE"],["003379","XCZXHHA","信诚至选混合A","混合型","XINCHENGZHIXUANHUNHEA"],["003380","XCZXHHC","信诚至选混合C","混合型","XINCHENGZHIXUANHUNHEC"],["003381","BSYXCZZQ","博时裕信纯债债券","债券型","BOSHIYUXINCHUNZHAIZHAIQUAN"],["003382","MSJYXXZQA","民生加银鑫享债券A","债券型","MINSHENGJIAYINXINXIANGZHAIQUANA"],["003383","MSJYXXZQC","民生加银鑫享债券C","债券型","MINSHENGJIAYINXINXIANGZHAIQUANC"],["003384","JYTYCZZQ","金鹰添盈纯债债券","债券型","JINYINGTIANYINGCHUNZHAIZHAIQUAN"],["003385","GYQQMYZARMB","工银全球美元债A人民币","QDII","GONGYINQUANQIUMEIYUANZHAIARENMINBI"],["003386","GYQQMYZAMYXH","工银全球美元债A美元现汇","QDII","GONGYINQUANQIUMEIYUANZHAIAMEIYUANXIANHUI"],["003387","GYQQMYZC","工银全球美元债C","QDII","GONGYINQUANQIUMEIYUANZHAIC"],["003388","ZSZYBHBA","招商招益宝货币A","货币型","ZHAOSHANGZHAOYIBAOHUOBIA"],["003389","ZSZYBHBB","招商招益宝货币B","货币型","ZHAOSHANGZHAOYIBAOHUOBIB"],["003390","JXYNDK","江信一年定开","定开债券","JIANGXINYINIANDINGKAI"],["003391","JXTTYHBA","建信天添益货币A","货币型","JIANXINTIANTIANYIHUOBIA"],["003392","JXTTYHBB","建信天添益货币B","货币型","JIANXINTIANTIANYIHUOBIB"],["003393","JXTTYHBC","建信天添益货币C","货币型","JIANXINTIANTIANYIHUOBIC"],["003394","JXHAYNDKZ","建信恒安一年定开债","定开债券","JIANXINHENGANYINIANDINGKAIZHAI"],["003395","AXZXCZ","安信尊享纯债","债券型","ANXINZUNXIANGCHUNZHAI"],["003396","DFHYXHLHH","东方红优享红利混合","混合型","DONGFANGHONGYOUXIANGHONGLIHUNHE"],["003397","YHTYWHLHPZHH","银华体育文化灵活配置混合","混合型","YINHUATIYUWENHUALINGHUOPEIZHIHUNHE"],["003398","TPRRJHBA","太平日日金货币A","货币型","TAIPINGRIRIJINHUOBIA"],["003399","TPRRJHBB","太平日日金货币B","货币型","TAIPINGRIRIJINHUOBIB"],["003400","JXHRYNDKZ","建信恒瑞一年定开债","定开债券","JIANXINHENGRUIYINIANDINGKAIZHAI"],["003401","GYKZZZQ","工银可转债债券","债券型","GONGYINKEZHUANZHAIZHAIQUAN"],["003402","AXHQBHBA","安信活期宝货币A","货币型","ANXINHUOQIBAOHUOBIA"],["003403","HSRFHH","华商瑞丰混合","混合型","HUASHANGRUIFENGHUNHE"],["003404","ZSWSDKHHA","招商稳盛定开混合A","混合型","ZHAOSHANGWENSHENGDINGKAIHUNHEA"],["003405","ZSWSDKHHC","招商稳盛定开混合C","混合型","ZHAOSHANGWENSHENGDINGKAIHUNHEC"],["003406","NFDYZQ","南方多元债券","债券型","NANFANGDUOYUANZHAIQUAN"],["003407","JSCCJTFLCZA","景顺长城景泰丰利纯债A","债券型","JINGSHUNCHANGCHENGJINGTAIFENGLICHUNZHAIA"],["003408","JSCCJTFLCZC","景顺长城景泰丰利纯债C","债券型","JINGSHUNCHANGCHENGJINGTAIFENGLICHUNZHAIC"],["003409","JSCCJYSLZQA","景顺长城景颐盛利债券A","债券型","JINGSHUNCHANGCHENGJINGYISHENGLIZHAIQUANA"],["003410","JSJYSLC","景顺景颐盛利C","债券型","JINGSHUNJINGYISHENGLIC"],["003411","PHHKLHPZHHA","鹏华弘康灵活配置混合A","混合型","PENGHUAHONGKANGLINGHUOPEIZHIHUNHEA"],["003412","PHHKLHPZHHC","鹏华弘康灵活配置混合C","混合型","PENGHUAHONGKANGLINGHUOPEIZHIHUNHEC"],["003413","HTBRXJJHGSHH","华泰柏瑞新经济沪港深混合","混合型","HUATAIBAIRUIXINJINGJIHUGANGSHENHUNHE"],["003414","TDHLCJHHA","泰达宏利创金混合A","混合型","TAIDAHONGLICHUANGJINHUNHEA"],["003415","TDHLCJHHC","泰达宏利创金混合C","混合型","TAIDAHONGLICHUANGJINHUNHEC"],["003416","ZSCJDSJGP","招商财经大数据股票","股票型","ZHAOSHANGCAIJINGDASHUJUGUPIAO"],["003417","ZJFZCZZQ","中加丰泽纯债债券","债券型","ZHONGJIAFENGZECHUNZHAIZHAIQUAN"],["003418","HRYDRXZQ","华润元大润鑫债券","债券型","HUARUNYUANDARUNXINZHAIQUAN"],["003419","ZOHAYNDQKFZQ","中欧弘安一年定期开放债券","定开债券","ZHONGOUHONGANYINIANDINGQIKAIFANGZHAIQUAN"],["003420","DBQLZQA","德邦群利债券A","债券型","DEBANGQUNLIZHAIQUANA"],["003421","DBQLZQC","德邦群利债券C","债券型","DEBANGQUNLIZHAIQUANC"],["003422","GSABTLHBA","国寿安保添利货币A","货币型","GUOSHOUANBAOTIANLIHUOBIA"],["003423","GSABTLHBB","国寿安保添利货币B","货币型","GUOSHOUANBAOTIANLIHUOBIB"],["003424","JXHFCZ","江信洪福纯债","债券型","JIANGXINHONGFUCHUNZHAI"],["003425","JXTFA","江信添福A","债券型","JIANGXINTIANFUA"],["003426","JXTFC","江信添福C","债券型","JIANGXINTIANFUC"],["003427","JXHYYNDKZ","建信恒远一年定开债","定开债券","JIANXINHENGYUANYINIANDINGKAIZHAI"],["003428","ZJFYCZZQ","中加丰盈纯债债券","债券型","ZHONGJIAFENGYINGCHUNZHAIZHAIQUAN"],["003429","ZZXYZGDJXYZZS","中证兴业中高等级信用债指数","债券指数","ZHONGZHENGXINGYEZHONGGAODENGJIXINYONGZHAIZHISHU"],["003430","XY14TLCA","兴业14天理财A","理财型","XINGYE14TIANLICAIA"],["003431","XY14TLCB","兴业14天理财B","理财型","XINGYE14TIANLICAIB"],["003432","XCZRLHPZA","信诚至瑞灵活配置A","混合型","XINCHENGZHIRUILINGHUOPEIZHIA"],["003433","XCZRLHPZC","信诚至瑞灵活配置C","混合型","XINCHENGZHIRUILINGHUOPEIZHIC"],["003434","BSXZLHPZHHA","博时鑫泽灵活配置混合A","混合型","BOSHIXINZELINGHUOPEIZHIHUNHEA"],["003435","BSXZLHPZHHC","博时鑫泽灵活配置混合C","混合型","BOSHIXINZELINGHUOPEIZHIHUNHEC"],["003436","BSXFHHA","博时鑫丰混合A","混合型","BOSHIXINFENGHUNHEA"],["003437","BSXFHHC","博时鑫丰混合C","混合型","BOSHIXINFENGHUNHEC"],["003438","ZSZYCZA","招商招怡纯债A","债券型","ZHAOSHANGZHAOYICHUNZHAIA"],["003439","ZSZYCZC","招商招怡纯债C","债券型","ZHAOSHANGZHAOYICHUNZHAIC"],["003440","ZSZXCZA","招商招享纯债A","债券型","ZHAOSHANGZHAOXIANGCHUNZHAIA"],["003441","ZSZXCZC","招商招享纯债C","债券型","ZHAOSHANGZHAOXIANGCHUNZHAIC"],["003442","ZSZHCZA","招商招惠纯债A","债券型","ZHAOSHANGZHAOHUICHUNZHAIA"],["003443","ZSZHCZC","招商招惠纯债C","债券型","ZHAOSHANGZHAOHUICHUNZHAIC"],["003445","ZJFXCZZQ","中加丰享纯债债券","债券型","ZHONGJIAFENGXIANGCHUNZHAIZHAIQUAN"],["003446","YDRXA","英大睿鑫A","混合型","YINGDARUIXINA"],["003447","YDRXC","英大睿鑫C","混合型","YINGDARUIXINC"],["003448","ZSZHCZA","招商招华纯债A","债券型","ZHAOSHANGZHAOHUACHUNZHAIA"],["003449","ZSZHCZC","招商招华纯债C","债券型","ZHAOSHANGZHAOHUACHUNZHAIC"],["003450","ZSZXCZA","招商招信纯债A","债券型","ZHAOSHANGZHAOXINCHUNZHAIA"],["003451","ZSZXCZC","招商招信纯债C","债券型","ZHAOSHANGZHAOXINCHUNZHAIC"],["003452","ZSZSCZA","招商招盛纯债A","债券型","ZHAOSHANGZHAOSHENGCHUNZHAIA"],["003453","ZSZSCZC","招商招盛纯债C","债券型","ZHAOSHANGZHAOSHENGCHUNZHAIC"],["003454","ZSZTCZA","招商招通纯债A","债券型","ZHAOSHANGZHAOTONGCHUNZHAIA"],["003455","ZSZTCZC","招商招通纯债C","债券型","ZHAOSHANGZHAOTONGCHUNZHAIC"],["003456","XDAYXMBHH","信达澳银新目标混合","混合型","XINDAAOYINXINMUBIAOHUNHE"],["003457","GTRTCZZQ","国泰润泰纯债债券","债券型","GUOTAIRUNTAICHUNZHAIZHAIQUAN"],["003458","JSWHZQA","嘉实稳宏债券A","债券型","JIASHIWENHONGZHAIQUANA"],["003459","JSWHZQC","嘉实稳宏债券C","债券型","JIASHIWENHONGZHAIQUANC"],["003460","JSXJB","嘉实现金宝","货币型","JIASHIXIANJINBAO"],["003461","JSWYCZZQ","嘉实稳元纯债债券","债券型","JIASHIWENYUANCHUNZHAIZHAIQUAN"],["003462","XHXSLHPZHH","新华鑫盛灵活配置混合","混合型","XINHUAXINSHENGLINGHUOPEIZHIHUNHE"],["003463","TDHLYZZQQDIIA","泰达宏利亚洲债券(QDII)A","QDII","TAIDAHONGLIYAZHOUZHAIQUANQDIIA"],["003464","TDHLYZZQQDIIC","泰达宏利亚洲债券(QDII)C","QDII","TAIDAHONGLIYAZHOUZHAIQUANQDIIC"],["003465","PADHJGJHB","平安大华金管家货币","货币型","PINGANDAHUAJINGUANJIAHUOBI"],["003466","CCJSAWCZLNDKZ","长城久盛安稳纯债两年定开债","定开债券","CHANGCHENGJIUSHENGANWENCHUNZHAILIANGNIANDINGKAIZHAI"],["003467","FRHBA","富荣货币A","货币型","FURONGHUOBIA"],["003468","FRHBB","富荣货币B","货币型","FURONGHUOBIB"],["003469","DBDJYNDKZA","德邦德景一年定开债A","定开债券","DEBANGDEJINGYINIANDINGKAIZHAIA"],["003470","DBDJYNDKZC","德邦德景一年定开债C","定开债券","DEBANGDEJINGYINIANDINGKAIZHAIC"],["003471","XJQHLHTXZQA","新疆前海联合添鑫债券A","债券型","XINJIANGQIANHAILIANHETIANXINZHAIQUANA"],["003472","XJQHLHTXZQC","新疆前海联合添鑫债券C","债券型","XINJIANGQIANHAILIANHETIANXINZHAIQUANC"],["003473","NFTTLA","南方天天利A","货币型","NANFANGTIANTIANLIA"],["003474","NFTTLB","南方天天利B","货币型","NANFANGTIANTIANLIB"],["003475","XJQHLHHS300ZS","新疆前海联合沪深300指数","股票指数","XINJIANGQIANHAILIANHEHUSHEN300ZHISHU"],["003476","NFAYYL","南方安颐养老","混合型","NANFANGANYIYANGLAO"],["003477","NFRJHH","南方睿见混合","混合型","NANFANGRUIJIANHUNHE"],["003478","MSJYTYBHB","民生加银腾元宝货币","货币型","MINSHENGJIAYINTENGYUANBAOHUOBI"],["003479","CTZGXGJHBA","财通资管鑫管家货币A","货币型","CAITONGZIGUANXINGUANJIAHUOBIA"],["003480","CTZGXGJHBB","财通资管鑫管家货币B","货币型","CAITONGZIGUANXINGUANJIAHUOBIB"],["003481","GDYQBHBB","光大耀钱包货币B","货币型","GUANGDAYAOQIANBAOHUOBIB"],["003482","JYTXBHBA","交银天鑫宝货币A","货币型","JIAOYINTIANXINBAOHUOBIA"],["003483","JYTXBHBE","交银天鑫宝货币E","货币型","JIAOYINTIANXINBAOHUOBIE"],["003484","JYXYHHA","金鹰鑫益混合A","混合型","JINYINGXINYIHUNHEA"],["003485","JYXYHHC","金鹰鑫益混合C","混合型","JINYINGXINYIHUNHEC"],["003486","PADHHLCZ","平安大华惠隆纯债","债券型","PINGANDAHUAHUILONGCHUNZHAI"],["003487","PADHHRCZ","平安大华惠融纯债","债券型","PINGANDAHUAHUIRONGCHUNZHAI"],["003488","PADHHYA","平安大华惠裕A","债券型","PINGANDAHUAHUIYUA"],["003490","CSSPLHPZHHA","长盛盛平灵活配置混合A","混合型","CHANGSHENGSHENGPINGLINGHUOPEIZHIHUNHEA"],["003491","CSSPLHPZHHC","长盛盛平灵活配置混合C","混合型","CHANGSHENGSHENGPINGLINGHUOPEIZHIHUNHEC"],["003492","QHKYWXQYGP","前海开源外向企业股票","股票型","QIANHAIKAIYUANWAIXIANGQIYEGUPIAO"],["003493","SWLXAXYXHHA","申万菱信安鑫优选混合A","混合型","SHENWANLINGXINANXINYOUXUANHUNHEA"],["003494","FGTHCZHHC","富国天惠成长混合C","混合型","FUGUOTIANHUICHENGZHANGHUNHEC"],["003495","PHHSLHPZHHA","鹏华弘尚灵活配置混合A","混合型","PENGHUAHONGSHANGLINGHUOPEIZHIHUNHEA"],["003496","PHHSLHPZHHC","鹏华弘尚灵活配置混合C","混合型","PENGHUAHONGSHANGLINGHUOPEIZHIHUNHEC"],["003497","YHTZDKZ","银华添泽定开债","定开债券","YINHUATIANZEDINGKAIZHAI"],["003498","QHLHTHCZA","前海联合添和纯债A","债券型","QIANHAILIANHETIANHECHUNZHAIA"],["003499","QHLHTHCZC","前海联合添和纯债C","债券型","QIANHAILIANHETIANHECHUNZHAIC"],["003500","XYJLZQ","鑫元聚利债券","债券型","XINYUANJULIZHAIQUAN"],["003501","TDRZWJLHPZHH","泰达睿智稳健灵活配置混合","混合型","TAIDARUIZHIWENJIANLINGHUOPEIZHIHUNHE"],["003502","JYXRHHA","金鹰鑫瑞混合A","混合型","JINYINGXINRUIHUNHEA"],["003503","JYXRHHC","金鹰鑫瑞混合C","混合型","JINYINGXINRUIHUNHEC"],["003504","JSCCJYFLZQA","景顺长城景颐丰利债券A","债券型","JINGSHUNCHANGCHENGJINGYIFENGLIZHAIQUANA"],["003505","JSCCJYFLZQC","景顺长城景颐丰利债券C","债券型","JINGSHUNCHANGCHENGJINGYIFENGLIZHAIQUANC"],["003506","DBXJBA","德邦现金宝A","货币型","DEBANGXIANJINBAOA"],["003507","DBXJBB","德邦现金宝B","货币型","DEBANGXIANJINBAOB"],["003508","HARADKHHA","华安睿安定开混合A","混合型","HUAANRUIANDINGKAIHUNHEA"],["003509","HARADKHHC","华安睿安定开混合C","混合型","HUAANRUIANDINGKAIHUNHEC"],["003510","CSKZZZQA","长盛可转债债券A","债券型","CHANGSHENGKEZHUANZHAIZHAIQUANA"],["003511","CSKZZZQC","长盛可转债债券C","债券型","CHANGSHENGKEZHUANZHAIZHAIQUANC"],["003512","SWLXAXYXHHC","申万菱信安鑫优选混合C","混合型","SHENWANLINGXINANXINYOUXUANHUNHEC"],["003513","ZYXFSJ","中邮消费升级","混合型","ZHONGYOUXIAOFEISHENGJI"],["003514","GSABAXCZ","国寿安保安享纯债","债券型","GUOSHOUANBAOANXIANGCHUNZHAI"],["003515","GTLSBHB","国泰利是宝货币","货币型","GUOTAILISHIBAOHUOBI"],["003516","GTRADCLLHPZHH","国泰融安多策略灵活配置混合","混合型","GUOTAIRONGANDUOCELUELINGHUOPEIZHIHUNHE"],["003517","GTRLCZZQ","国泰润利纯债债券","债券型","GUOTAIRUNLICHUNZHAIZHAIQUAN"],["003518","WJXRCZA","万家鑫瑞纯债A","债券型","WANJIAXINRUICHUNZHAIA"],["003519","WJXRCZE","万家鑫瑞纯债E","债券型","WANJIAXINRUICHUNZHAIE"],["003520","WJXWCZA","万家鑫稳纯债A","债券型","WANJIAXINWENCHUNZHAIA"],["003521","WJXWCZC","万家鑫稳纯债C","债券型","WANJIAXINWENCHUNZHAIC"],["003522","WJXTCZA","万家鑫通纯债A","债券型","WANJIAXINTONGCHUNZHAIA"],["003523","WJXTCZC","万家鑫通纯债C","债券型","WANJIAXINTONGCHUNZHAIC"],["003524","YFDSZCZETFLJ","易方达深证成指ETF联接","联接基金","YIFANGDASHENZHENGCHENGZHIETFLIANJIE"],["003525","HFXJSYHB","华福现金收益货币","货币型","HUAFUXIANJINSHOUYIHUOBI"],["003526","NYJSCZZQ","农银金穗纯债债券","债券型","NONGYINJINSUICHUNZHAIZHAIQUAN"],["003527","PHFTZQ","鹏华丰腾债券","债券型","PENGHUAFENGTENGZHAIQUAN"],["003528","HTFCTLDKZA","汇添富长添利定开债A","定开债券","HUITIANFUCHANGTIANLIDINGKAIZHAIA"],["003529","HTFCTLDKZC","汇添富长添利定开债C","定开债券","HUITIANFUCHANGTIANLIDINGKAIZHAIC"],["003530","DFYX18GYDKZA","东方永熙18个月定开债A","定开债券","DONGFANGYONGXI18GEYUEDINGKAIZHAIA"],["003531","DFYX18GYDKZC","东方永熙18个月定开债C","定开债券","DONGFANGYONGXI18GEYUEDINGKAIZHAIC"],["003532","HTFXLZQA","汇添富鑫利债券A","债券型","HUITIANFUXINLIZHAIQUANA"],["003533","HTFXLZQC","汇添富鑫利债券C","债券型","HUITIANFUXINLIZHAIQUANC"],["003534","PYASRRFHBA","浦银安盛日日丰货币A","货币型","PUYINANSHENGRIRIFENGHUOBIA"],["003535","PYASRRFHBB","浦银安盛日日丰货币B","货币型","PUYINANSHENGRIRIFENGHUOBIB"],["003536","PYASRRFHBD","浦银安盛日日丰货币D","货币型","PUYINANSHENGRIRIFENGHUOBID"],["003537","ZSZLBHBA","招商招利宝货币A","货币型","ZHAOSHANGZHAOLIBAOHUOBIA"],["003538","ZSZLBHBB","招商招利宝货币B","货币型","ZHAOSHANGZHAOLIBAOHUOBIB"],["003539","AXXJZLHBB","安信现金增利货币B","货币型","ANXINXIANJINZENGLIHUOBIB"],["003541","GLARZDKHH","国联安睿智定开混合","混合型","GUOLIANANRUIZHIDINGKAIHUNHE"],["003545","DXXLZQ","东兴兴利债券","债券型","DONGXINGXINGLIZHAIQUAN"],["003546","CCJXZQ","长城久信债券","债券型","CHANGCHENGJIUXINZHAIQUAN"],["003547","PHFLZQ","鹏华丰禄债券","债券型","PENGHUAFENGLUZHAIQUAN"],["003548","TDHLCFDPZSC","泰达宏利财富大盘指数C","股票指数","TAIDAHONGLICAIFUDAPANZHISHUC"],["003549","ZSHYCZ","浙商惠裕纯债","债券型","ZHESHANGHUIYUCHUNZHAI"],["003550","TDGGDLHHC","泰达改革动力混合C","混合型","TAIDAGAIGEDONGLIHUNHEC"],["003551","GYHFCZZQ","工银恒丰纯债债券","债券型","GONGYINHENGFENGCHUNZHAIZHAIQUAN"],["003552","GTXJBHBA","国泰现金宝货币A","货币型","GUOTAIXIANJINBAOHUOBIA"],["003553","GTXJBHBB","国泰现金宝货币B","货币型","GUOTAIXIANJINBAOHUOBIB"],["003554","TDHLDSJHHC","泰达宏利大数据混合C","混合型","TAIDAHONGLIDASHUJUHUNHEC"],["003555","HTBRRLHHA","华泰柏瑞睿利混合A","混合型","HUATAIBAIRUIRUILIHUNHEA"],["003556","HTBRRLHHC","华泰柏瑞睿利混合C","混合型","HUATAIBAIRUIRUILIHUNHEC"],["003557","BSTAZQA","博时泰安债券A","债券型","BOSHITAIANZHAIQUANA"],["003558","BSTAZQC","博时泰安债券C","债券型","BOSHITAIANZHAIQUANC"],["003559","PADHLHCZHHA","平安大华量化成长混合A","混合型","PINGANDAHUALIANGHUACHENGZHANGHUNHEA"],["003560","PADHLHCZHHC","平安大华量化成长混合C","混合型","PINGANDAHUALIANGHUACHENGZHANGHUNHEC"],["003561","NDCZJXA","诺德成长精选A","混合型","NUODECHENGZHANGJINGXUANA"],["003562","NDCZJXC","诺德成长精选C","混合型","NUODECHENGZHANGJINGXUANC"],["003563","GYGJYYMYXH","工银国际原油美元现汇","QDII","GONGYINGUOJIYUANYOUMEIYUANXIANHUI"],["003564","BSAC18GYDKZA","博时安诚18个月定开债A","定开债券","BOSHIANCHENG18GEYUEDINGKAIZHAIA"],["003565","BSAC18GYDKZC","博时安诚18个月定开债C","定开债券","BOSHIANCHENG18GEYUEDINGKAIZHAIC"],["003566","BSZXCZZQ","博时臻选纯债债券","债券型","BOSHIZHENXUANCHUNZHAIZHAIQUAN"],["003567","HXHYJQHH","华夏行业景气混合","混合型","HUAXIAHANGYEJINGQIHUNHE"],["003568","PADHHLCZ","平安大华惠利纯债","债券型","PINGANDAHUAHUILICHUNZHAI"],["003569","ZSZFCZA","招商招丰纯债A","债券型","ZHAOSHANGZHAOFENGCHUNZHAIA"],["003570","ZSZFCZC","招商招丰纯债C","债券型","ZHAOSHANGZHAOFENGCHUNZHAIC"],["003571","ZSZQCZA","招商招琪纯债A","债券型","ZHAOSHANGZHAOQICHUNZHAIA"],["003572","ZSZQCZC","招商招琪纯债C","债券型","ZHAOSHANGZHAOQICHUNZHAIC"],["003573","ZXJTWYDKZ","中信建投稳裕定开债","定开债券","ZHONGXINJIANTOUWENYUDINGKAIZHAI"],["003574","DCHLCZ","大成惠利纯债","债券型","DACHENGHUILICHUNZHAI"],["003575","DCHYCZ","大成惠益纯债","债券型","DACHENGHUIYICHUNZHAI"],["003576","ZSZHCZA","招商招弘纯债A","债券型","ZHAOSHANGZHAOHONGCHUNZHAIA"],["003577","ZSZHCZC","招商招弘纯债C","债券型","ZHAOSHANGZHAOHONGCHUNZHAIC"],["003578","ZJZZ500C","中金中证500C","股票指数","ZHONGJINZHONGZHENG500C"],["003579","ZJHS300C","中金沪深300C","股票指数","ZHONGJINHUSHEN300C"],["003580","TKHGSJZYXHH","泰康沪港深价值优选混合","混合型","TAIKANGHUGANGSHENJIAZHIYOUXUANHUNHE"],["003581","QHLHGMJKHH","前海联合国民健康混合","混合型","QIANHAILIANHEGUOMINJIANKANGHUNHE"],["003582","ZJLHDCLHH","中金量化多策略混合","混合型","ZHONGJINLIANGHUADUOCELUEHUNHE"],["003583","JXWDXLZQA","建信稳定鑫利债券A","债券型","JIANXINWENDINGXINLIZHAIQUANA"],["003584","JXWDXLZQC","建信稳定鑫利债券C","债券型","JIANXINWENDINGXINLIZHAIQUANC"],["003585","XFXJBHB","先锋现金宝货币","货币型","XIANFENGXIANJINBAOHUOBI"],["003586","XFJYHHA","先锋精一混合A","混合型","XIANFENGJINGYIHUNHEA"],["003587","XFJYHHC","先锋精一混合C","混合型","XIANFENGJINGYIHUNHEC"],["003588","DWZXBHBA","东吴增鑫宝货币A","货币型","DONGWUZENGXINBAOHUOBIA"],["003589","DWZXBHBB","东吴增鑫宝货币B","货币型","DONGWUZENGXINBAOHUOBIB"],["003590","JXRFCZZQ","建信睿富纯债债券","债券型","JIANXINRUIFUCHUNZHAIZHAIQUAN"],["003591","HTBRXLHHA","华泰柏瑞享利混合A","混合型","HUATAIBAIRUIXIANGLIHUNHEA"],["003592","HTBRXLHHC","华泰柏瑞享利混合C","混合型","HUATAIBAIRUIXIANGLIHUNHEC"],["003593","GTJQHYLHPZHH","国泰景气行业灵活配置混合","混合型","GUOTAIJINGQIHANGYELINGHUOPEIZHIHUNHE"],["003594","CSSCLHPZHHA","长盛盛崇灵活配置混合A","混合型","CHANGSHENGSHENGCHONGLINGHUOPEIZHIHUNHEA"],["003595","CSSCLHPZHHC","长盛盛崇灵活配置混合C","混合型","CHANGSHENGSHENGCHONGLINGHUOPEIZHIHUNHEC"],["003596","CSSTHHA","长盛盛腾混合A","混合型","CHANGSHENGSHENGTENGHUNHEA"],["003597","CSSTHHC","长盛盛腾混合C","混合型","CHANGSHENGSHENGTENGHUNHEC"],["003598","HSRFLHPZHH","华商润丰灵活配置混合","混合型","HUASHANGRUNFENGLINGHUOPEIZHIHUNHE"],["003601","SWLXAXJXHHA","申万菱信安鑫精选混合A","混合型","SHENWANLINGXINANXINJINGXUANHUNHEA"],["003602","SWLXAXJXHHC","申万菱信安鑫精选混合C","混合型","SHENWANLINGXINANXINJINGXUANHUNHEC"],["003603","JSCCTAHBHHA","景顺长城泰安回报混合A","混合型","JINGSHUNCHANGCHENGTAIANHUIBAOHUNHEA"],["003604","JSCCTAHBHHC","景顺长城泰安回报混合C","混合型","JINGSHUNCHANGCHENGTAIANHUIBAOHUNHEC"],["003605","JSCCJTHLDKZ","景顺长城景泰汇利定开债","定开债券","JINGSHUNCHANGCHENGJINGTAIHUILIDINGKAIZHAI"],["003606","HFTQQSYZQMY","海富通全球收益债券美元","QDII","HAIFUTONGQUANQIUSHOUYIZHAIQUANMEIYUAN"],["003607","BSFYCZZQ","博时富益纯债债券","债券型","BOSHIFUYICHUNZHAIZHAIQUAN"],["003610","NFRAA","南方荣安A","混合型","NANFANGRONGANA"],["003611","NFRAC","南方荣安C","混合型","NANFANGRONGANC"],["003612","NFZYZQA","南方卓元债券A","债券型","NANFANGZHUOYUANZHAIQUANA"],["003613","NFZYZQC","南方卓元债券C","债券型","NANFANGZHUOYUANZHAIQUANC"],["003614","XCJRZQA","信诚景瑞债券A","债券型","XINCHENGJINGRUIZHAIQUANA"],["003615","XCJRZQC","信诚景瑞债券C","债券型","XINCHENGJINGRUIZHAIQUANC"],["003616","ZSZXCZA","招商招熹纯债A","债券型","ZHAOSHANGZHAOXICHUNZHAIA"],["003617","ZSZXCZC","招商招熹纯债C","债券型","ZHAOSHANGZHAOXICHUNZHAIC"],["003618","ZSZWCZA","招商招旺纯债A","债券型","ZHAOSHANGZHAOWANGCHUNZHAIA"],["003619","ZSZWCZC","招商招旺纯债C","债券型","ZHAOSHANGZHAOWANGCHUNZHAIC"],["003622","CJHXYJCZGPA","创金合信优价成长股票A","股票型","CHUANGJINHEXINYOUJIACHENGZHANGGUPIAOA"],["003623","CJHXYJCZGPC","创金合信优价成长股票C","股票型","CHUANGJINHEXINYOUJIACHENGZHANGGUPIAOC"],["003624","CJHXZYGPFQSA","创金合信资源股票发起式A","股票型","CHUANGJINHEXINZIYUANGUPIAOFAQISHIA"],["003625","CJHXZYGPFQSC","创金合信资源股票发起式C","股票型","CHUANGJINHEXINZIYUANGUPIAOFAQISHIC"],["003626","PAXLDK","平安鑫利定开","混合型","PINGANXINLIDINGKAI"],["003627","HFCFYNDKZ","华福长富一年定开债","定开债券","HUAFUCHANGFUYINIANDINGKAIZHAI"],["003628","HFSYZQZQ","华福收益增强债券","债券型","HUAFUSHOUYIZENGQIANGZHAIQUAN"],["003629","STMGQQDYPZRMB","上投摩根全球多元配置人民币","QDII","SHANGTOUMOGENQUANQIUDUOYUANPEIZHIRENMINBI"],["003630","STMGQQDYPZMYXC","上投摩根全球多元配置美元现钞","QDII","SHANGTOUMOGENQUANQIUDUOYUANPEIZHIMEIYUANXIANCHAO"],["003631","STMGQQDYPZMYXH","上投摩根全球多元配置美元现汇","QDII","SHANGTOUMOGENQUANQIUDUOYUANPEIZHIMEIYUANXIANHUI"],["003632","ZSWQDKHHA","招商稳乾定开混合A","混合型","ZHAOSHANGWENQIANDINGKAIHUNHEA"],["003633","ZSWQDKHHC","招商稳乾定开混合C","混合型","ZHAOSHANGWENQIANDINGKAIHUNHEC"],["003634","JSNYCYGP","嘉实农业产业股票","股票型","JIASHINONGYECHANYEGUPIAO"],["003637","AXYXDKZA","安信永鑫定开债A","定开债券","ANXINYONGXINDINGKAIZHAIA"],["003638","AXYXDKZC","安信永鑫定开债C","定开债券","ANXINYONGXINDINGKAIZHAIC"],["003639","GYRYBNDKZQ","工银瑞盈半年定开债券","定开债券","GONGYINRUIYINGBANNIANDINGKAIZHAIQUAN"],["003640","XYYFZQ","兴业裕丰债券","债券型","XINGYEYUFENGZHAIQUAN"],["003641","CSSFLHPZHHA","长盛盛丰灵活配置混合A","混合型","CHANGSHENGSHENGFENGLINGHUOPEIZHIHUNHEA"],["003642","CSSFLHPZHHC","长盛盛丰灵活配置混合C","混合型","CHANGSHENGSHENGFENGLINGHUOPEIZHIHUNHEC"],["003643","GYGZCZZQC","工银国债纯债债券C","债券型","GONGYINGUOZHAICHUNZHAIZHAIQUANC"],["003645","RTTHZQ","融通通弘债券","债券型","RONGTONGTONGHONGZHAIQUAN"],["003646","CJHXZZ1000ZSZQA","创金合信中证1000指数增强A","股票指数","CHUANGJINHEXINZHONGZHENG1000ZHISHUZENGQIANGA"],["003647","CJHXZZ1000ZSZQC","创金合信中证1000指数增强C","股票指数","CHUANGJINHEXINZHONGZHENG1000ZHISHUZENGQIANGC"],["003648","RTTQZQ","融通通祺债券","债券型","RONGTONGTONGQIZHAIQUAN"],["003650","RTTRZQ","融通通润债券","债券型","RONGTONGTONGRUNZHAIQUAN"],["003651","BSFDCZZQ","博时丰达纯债债券","债券型","BOSHIFENGDACHUNZHAIZHAIQUAN"],["003652","ZSZT6GYDKZA","招商招泰6个月定开债A","定开债券","ZHAOSHANGZHAOTAI6GEYUEDINGKAIZHAIA"],["003653","ZSZT6GYDKZC","招商招泰6个月定开债C","定开债券","ZHAOSHANGZHAOTAI6GEYUEDINGKAIZHAIC"],["003654","BSJLCZZQ","博时锦禄纯债债券","债券型","BOSHIJINLUCHUNZHAIZHAIQUAN"],["003655","XDAYXCFHH","信达澳银新财富混合","混合型","XINDAAOYINXINCAIFUHUNHE"],["003656","MSJYXYCZA","民生加银鑫元纯债A","债券型","MINSHENGJIAYINXINYUANCHUNZHAIA"],["003657","MSJYXYCZC","民生加银鑫元纯债C","债券型","MINSHENGJIAYINXINYUANCHUNZHAIC"],["003658","CSLHDCLLHPZHH","长盛量化多策略灵活配置混合","混合型","CHANGSHENGLIANGHUADUOCELUELINGHUOPEIZHIHUNHE"],["003659","SXCLLHPZHH","山西策略灵活配置混合","混合型","SHANXICELUELINGHUOPEIZHIHUNHE"],["003660","ZJCZLNZQA","中加纯债两年债券A","定开债券","ZHONGJIACHUNZHAILIANGNIANZHAIQUANA"],["003661","ZJCZLNZQC","中加纯债两年债券C","定开债券","ZHONGJIACHUNZHAILIANGNIANZHAIQUANC"],["003662","PHYSYNDKZ","鹏华永盛一年定开债","定开债券","PENGHUAYONGSHENGYINIANDINGKAIZHAI"],["003663","PHXTDQKFHH","鹏华兴泰定期开放混合","混合型","PENGHUAXINGTAIDINGQIKAIFANGHUNHE"],["003664","XWTLCZA","新沃通利纯债A","债券型","XINWOTONGLICHUNZHAIA"],["003665","XWTLCZC","新沃通利纯债C","债券型","XINWOTONGLICHUNZHAIC"],["003666","THJMLHPZHH","天弘金明灵活配置混合","混合型","TIANHONGJINMINGLINGHUOPEIZHIHUNHE"],["003667","THAYHH","天弘安盈混合","混合型","TIANHONGANYINGHUNHE"],["003668","DFHYXCZA","东方红益鑫纯债A","债券型","DONGFANGHONGYIXINCHUNZHAIA"],["003669","DFHYXCZC","东方红益鑫纯债C","债券型","DONGFANGHONGYIXINCHUNZHAIC"],["003670","ZRWLWZTLHPZHH","中融物联网主题灵活配置混合","混合型","ZHONGRONGWULIANWANGZHUTILINGHUOPEIZHIHUNHE"],["003671","XYYHZQ","兴业裕恒债券","债券型","XINGYEYUHENGZHAIQUAN"],["003672","XYYHZQ","兴业裕华债券","债券型","XINGYEYUHUAZHAIQUAN"],["003673","ZJFYCZZQ","中加丰裕纯债债券","债券型","ZHONGJIAFENGYUCHUNZHAIZHAIQUAN"],["003674","RTTXZQ","融通通玺债券","债券型","RONGTONGTONGXIZHAIQUAN"],["003675","BSAH18GYDKZA","博时安慧18个月定开债A","定开债券","BOSHIANHUI18GEYUEDINGKAIZHAIA"],["003676","BSAH18GYDKZC","博时安慧18个月定开债C","定开债券","BOSHIANHUI18GEYUEDINGKAIZHAIC"],["003677","RTTSZQ","融通通穗债券","债券型","RONGTONGTONGSUIZHAIQUAN"],["003678","ZRXJZLHBA","中融现金增利货币A","货币型","ZHONGRONGXIANJINZENGLIHUOBIA"],["003679","ZRXJZLHBC","中融现金增利货币C","货币型","ZHONGRONGXIANJINZENGLIHUOBIC"],["003680","HRYDSXZQA","华润元大双鑫债券A","债券型","HUARUNYUANDASHUANGXINZHAIQUANA"],["003681","JXRXCZZQ","建信睿享纯债债券","债券型","JIANXINRUIXIANGCHUNZHAIZHAIQUAN"],["003682","BSAHYNDKZA","博时安弘一年定开债A","定开债券","BOSHIANHONGYINIANDINGKAIZHAIA"],["003683","BSAHYNDKZC","博时安弘一年定开债C","定开债券","BOSHIANHONGYINIANDINGKAIZHAIC"],["003684","HAFRHHA","汇安丰融混合A","混合型","HUIANFENGRONGHUNHEA"],["003685","HAFRHHC","汇安丰融混合C","混合型","HUIANFENGRONGHUNHEC"],["003686","GTFYLHPZHHA","国泰丰益灵活配置混合A","混合型","GUOTAIFENGYILINGHUOPEIZHIHUNHEA"],["003687","GTFYLHPZHHC","国泰丰益灵活配置混合C","混合型","GUOTAIFENGYILINGHUOPEIZHIHUNHEC"],["003689","GTHYLHPZHHA","国泰鸿益灵活配置混合A","混合型","GUOTAIHONGYILINGHUOPEIZHIHUNHEA"],["003690","GTHYLHPZHHC","国泰鸿益灵活配置混合C","混合型","GUOTAIHONGYILINGHUOPEIZHIHUNHEC"],["003691","NYJTYNDKZ","农银金泰一年定开债","定开债券","NONGYINJINTAIYINIANDINGKAIZHAI"],["003692","DCJSLHPZHHA","大成景尚灵活配置混合A","混合型","DACHENGJINGSHANGLINGHUOPEIZHIHUNHEA"],["003693","DCJSLHPZHHC","大成景尚灵活配置混合C","混合型","DACHENGJINGSHANGLINGHUOPEIZHIHUNHEC"],["003694","GTJYLHPZHHA","国泰景益灵活配置混合A","混合型","GUOTAIJINGYILINGHUOPEIZHIHUNHEA"],["003695","GTJYLHPZHHC","国泰景益灵活配置混合C","混合型","GUOTAIJINGYILINGHUOPEIZHIHUNHEC"],["003697","HXRPTSDKHH","华夏睿磐泰盛定开混合","混合型","HUAXIARUIPANTAISHENGDINGKAIHUNHE"],["003698","HXXJXHHA","华夏新锦祥混合A","混合型","HUAXIAXINJINXIANGHUNHEA"],["003699","HXXJXHHC","华夏新锦祥混合C","混合型","HUAXIAXINJINXIANGHUNHEC"],["003702","PAZZHGSGGX","平安中证沪港深高股息","股票指数","PINGANZHONGZHENGHUGANGSHENGAOGUXI"],["003703","BSFXCZ","博时富鑫纯债","债券型","BOSHIFUXINCHUNZHAI"],["003704","GDBDXSJQDHH","光大保德信事件驱动混合","混合型","GUANGDABAODEXINSHIJIANQUDONGHUNHE"],["003705","GYHTCZZQ","工银恒泰纯债债券","债券型","GONGYINHENGTAICHUNZHAIZHAIQUAN"],["003708","BSMFCZA","博时民丰纯债A","债券型","BOSHIMINFENGCHUNZHAIA"],["003709","BSMFCZC","博时民丰纯债C","债券型","BOSHIMINFENGCHUNZHAIC"],["003710","GTRYHSZQ","国投瑞银和顺债券","债券型","GUOTOURUIYINHESHUNZHAIQUAN"],["003711","TDHLJYBHBA","泰达宏利京元宝货币A","货币型","TAIDAHONGLIJINGYUANBAOHUOBIA"],["003712","TDHLJYBHBB","泰达宏利京元宝货币B","货币型","TAIDAHONGLIJINGYUANBAOHUOBIB"],["003713","YDRSA","英大睿盛A","混合型","YINGDARUISHENGA"],["003714","YDRSC","英大睿盛C","混合型","YINGDARUISHENGC"],["003715","BYXFZTHH","宝盈消费主题混合","混合型","BAOYINGXIAOFEIZHUTIHUNHE"],["003716","PADHHYCZ","平安大华惠益纯债","债券型","PINGANDAHUAHUIYICHUNZHAI"],["003717","ZYLHJXHH","中银量化精选混合","混合型","ZHONGYINLIANGHUAJINGXUANHUNHE"],["003718","YFDBP500ZSMYH","易方达标普500指数美元汇","QDII-指数","YIFANGDABIAOPU500ZHISHUMEIYUANHUI"],["003719","YFDBPYLBJMYH","易方达标普医疗保健美元汇","QDII-指数","YIFANGDABIAOPUYILIAOBAOJIANMEIYUANHUI"],["003720","YBPSWKJMYH","易标普生物科技美元汇","QDII-指数","YIBIAOPUSHENGWUKEJIMEIYUANHUI"],["003721","YBPXXKJMYH","易标普信息科技美元汇","QDII-指数","YIBIAOPUXINXIKEJIMEIYUANHUI"],["003723","HRYDSXZQC","华润元大双鑫债券C","债券型","HUARUNYUANDASHUANGXINZHAIQUANC"],["003726","RTTYDKZQA","融通通颐定开债券A","定开债券","RONGTONGTONGYIDINGKAIZHAIQUANA"],["003727","RTTYDKZQC","融通通颐定开债券C","定开债券","RONGTONGTONGYIDINGKAIZHAIQUANC"],["003728","RTTCZQ","融通通宸债券","债券型","RONGTONGTONGCHENZHAIQUAN"],["003730","BSFHCZZQ","博时富华纯债债券","债券型","BOSHIFUHUACHUNZHAIZHAIQUAN"],["003731","CAHZCZZQA","长安泓泽纯债债券A","债券型","CHANGANHONGZECHUNZHAIZHAIQUANA"],["003732","CAHZCZZQC","长安泓泽纯债债券C","债券型","CHANGANHONGZECHUNZHAIZHAIQUANC"],["003733","JYTYCZZQ","金鹰添裕纯债债券","债券型","JINYINGTIANYUCHUNZHAIZHAIQUAN"],["003734","WJRYLHPZHHA","万家瑞盈灵活配置混合A","混合型","WANJIARUIYINGLINGHUOPEIZHIHUNHEA"],["003735","WJRYLHPZHHC","万家瑞盈灵活配置混合C","混合型","WANJIARUIYINGLINGHUOPEIZHIHUNHEC"],["003738","XHHRLHPZHH","新华华瑞灵活配置混合","混合型","XINHUAHUARUILINGHUOPEIZHIHUNHE"],["003739","XHXHLHPZHH","新华鑫弘灵活配置混合","混合型","XINHUAXINHONGLINGHUOPEIZHIHUNHE"],["003741","PHFYZQ","鹏华丰盈债券","债券型","PENGHUAFENGYINGZHAIQUAN"],["003742","HAJHCZZQ","汇安嘉汇纯债债券","债券型","HUIANJIAHUICHUNZHAIZHAIQUAN"],["003743","GFHPYNDKZA","广发汇平一年定开债A","定开债券","GUANGFAHUIPINGYINIANDINGKAIZHAIA"],["003744","GFHPYNDKZC","广发汇平一年定开债C","定开债券","GUANGFAHUIPINGYINIANDINGKAIZHAIC"],["003745","GFDYXXGP","广发多元新兴股票","股票型","GUANGFADUOYUANXINXINGGUPIAO"],["003746","GFHRYNDKZQ","广发汇瑞一年定开债券","定开债券","GUANGFAHUIRUIYINIANDINGKAIZHAIQUAN"],["003747","WJXXCZA","万家鑫享纯债A","债券型","WANJIAXINXIANGCHUNZHAIA"],["003748","WJXXCZC","万家鑫享纯债C","债券型","WANJIAXINXIANGCHUNZHAIC"],["003749","CJHXXSYHHA","创金合信鑫收益混合A","混合型","CHUANGJINHEXINXINSHOUYIHUNHEA"],["003750","CJHXXSYHHC","创金合信鑫收益混合C","混合型","CHUANGJINHEXINXINSHOUYIHUNHEC"],["003751","WJRLLHPZHH","万家瑞隆灵活配置混合","混合型","WANJIARUILONGLINGHUOPEIZHIHUNHE"],["003752","GYRYHBA","工银如意货币A","货币型","GONGYINRUYIHUOBIA"],["003753","GYRYHBB","工银如意货币B","货币型","GONGYINRUYIHUOBIB"],["003754","GTPYHHA","国泰普益混合A","混合型","GUOTAIPUYIHUNHEA"],["003755","GTPYHHC","国泰普益混合C","混合型","GUOTAIPUYIHUNHEC"],["003756","GTJYLHPZHHA","国泰嘉益灵活配置混合A","混合型","GUOTAIJIAYILINGHUOPEIZHIHUNHEA"],["003757","GTJYLHPZHHC","国泰嘉益灵活配置混合C","混合型","GUOTAIJIAYILINGHUOPEIZHIHUNHEC"],["003762","GKKTLHPZHHA","国开开泰灵活配置混合A","混合型","GUOKAIKAITAILINGHUOPEIZHIHUNHEA"],["003763","GKKTLHPZHHC","国开开泰灵活配置混合C","混合型","GUOKAIKAITAILINGHUOPEIZHIHUNHEC"],["003767","TDHLCLZQA","泰达宏利纯利债券A","债券型","TAIDAHONGLICHUNLIZHAIQUANA"],["003768","TDHLCLZQC","泰达宏利纯利债券C","债券型","TAIDAHONGLICHUNLIZHAIQUANC"],["003769","ZYPZSHHH","中银品质生活混合","混合型","ZHONGYINPINZHISHENGHUOHUNHE"],["003770","ZYFQDQKFZQ","中银丰庆定期开放债券","定开债券","ZHONGYINFENGQINGDINGQIKAIFANGZHAIQUAN"],["003772","GLAXSHHA","国联安鑫盛混合A","混合型","GUOLIANANXINSHENGHUNHEA"],["003773","GLAXSHHC","国联安鑫盛混合C","混合型","GUOLIANANXINSHENGHUNHEC"],["003774","GLAXLHHA","国联安鑫利混合A","混合型","GUOLIANANXINLIHUNHEA"],["003775","GLAXLHHC","国联安鑫利混合C","混合型","GUOLIANANXINLIHUNHEC"],["003776","NFXLDKZA","南方宣利定开债A","定开债券","NANFANGXUANLIDINGKAIZHAIA"],["003777","NFXLDKZC","南方宣利定开债C","定开债券","NANFANGXUANLIDINGKAIZHAIC"],["003778","STARHBA","上投安瑞回报A","混合型","SHANGTOUANRUIHUIBAOA"],["003779","STARHBC","上投安瑞回报C","混合型","SHANGTOUANRUIHUIBAOC"],["003780","PHXYDQKFHH","鹏华兴悦定期开放混合","混合型","PENGHUAXINGYUEDINGQIKAIFANGHUNHE"],["003781","PHXYDQKFHH","鹏华兴裕定期开放混合","混合型","PENGHUAXINGYUDINGQIKAIFANGHUNHE"],["003782","ZSWYDKHHA","招商稳阳定开混合A","混合型","ZHAOSHANGWENYANGDINGKAIHUNHEA"],["003783","ZSWYDKHHC","招商稳阳定开混合C","混合型","ZHAOSHANGWENYANGDINGKAIHUNHEC"],["003784","ZSWTDKHH","招商稳泰定开混合","混合型","ZHAOSHANGWENTAIDINGKAIHUNHE"],["003787","FZFBHLCZA","方正富邦惠利纯债A","债券型","FANGZHENGFUBANGHUILICHUNZHAIA"],["003788","FZFBHLCZC","方正富邦惠利纯债C","债券型","FANGZHENGFUBANGHUILICHUNZHAIC"],["003789","GYFYYNDKZQ","工银丰益一年定开债券","定开债券","GONGYINFENGYIYINIANDINGKAIZHAIQUAN"],["003793","TDHLYLZQA","泰达宏利溢利债券A","债券型","TAIDAHONGLIYILIZHAIQUANA"],["003794","TDHLYLZQC","泰达宏利溢利债券C","债券型","TAIDAHONGLIYILIZHAIQUANC"],["003795","FZFBRLCZA","方正富邦睿利纯债A","债券型","FANGZHENGFUBANGRUILICHUNZHAIA"],["003796","FZFBRLCZC","方正富邦睿利纯债C","债券型","FANGZHENGFUBANGRUILICHUNZHAIC"],["003797","HAXRLHHA","华安新瑞利混合A","混合型","HUAANXINRUILIHUNHEA"],["003798","HAXRLHHC","华安新瑞利混合C","混合型","HUAANXINRUILIHUNHEC"],["003799","HAXTLLHPZHHA","华安新泰利灵活配置混合A","混合型","HUAANXINTAILILINGHUOPEIZHIHUNHEA"],["003800","HAXTLLHPZHHC","华安新泰利灵活配置混合C","混合型","HUAANXINTAILILINGHUOPEIZHIHUNHEC"],["003801","HAXAPHHA","华安新安平混合A","混合型","HUAANXINANPINGHUNHEA"],["003802","HAXAPHHC","华安新安平混合C","混合型","HUAANXINANPINGHUNHEC"],["003803","HAXFLLHPZHHA","华安新丰利灵活配置混合A","混合型","HUAANXINFENGLILINGHUOPEIZHIHUNHEA"],["003804","HAXFLLHPZHHC","华安新丰利灵活配置混合C","混合型","HUAANXINFENGLILINGHUOPEIZHIHUNHEC"],["003805","HAXHLHHA","华安新恒利混合A","混合型","HUAANXINHENGLIHUNHEA"],["003806","HAXHLHHC","华安新恒利混合C","混合型","HUAANXINHENGLIHUNHEC"],["003807","NFRYXNXDKHHA","南方荣优鑫年享定开混合A","混合型","NANFANGRONGYOUXINNIANXIANGDINGKAIHUNHEA"],["003808","NFRYXNXDKHHC","南方荣优鑫年享定开混合C","混合型","NANFANGRONGYOUXINNIANXIANGDINGKAIHUNHEC"],["003809","ZSZSCZA","招商招顺纯债A","债券型","ZHAOSHANGZHAOSHUNCHUNZHAIA"],["003810","ZSZSCZC","招商招顺纯债C","债券型","ZHAOSHANGZHAOSHUNCHUNZHAIC"],["003811","ZJJLA","中金金利A","债券型","ZHONGJINJINLIA"],["003812","ZJJLC","中金金利C","债券型","ZHONGJINJINLIC"],["003813","TKJT3YDKHH","泰康金泰3月定开混合","混合型","TAIKANGJINTAI3YUEDINGKAIHUNHE"],["003814","YHSZ10NQGZA","银华上证10年期国债A","债券指数","YINHUASHANGZHENG10NIANQIGUOZHAIA"],["003815","YHSZ10NQGZC","银华上证10年期国债C","债券指数","YINHUASHANGZHENG10NIANQIGUOZHAIC"],["003816","YHRLB","银华日利B","货币型","YINHUARILIB"],["003817","YHSZ5NQGZZSA","银华上证5年期国债指数A","债券指数","YINHUASHANGZHENG5NIANQIGUOZHAIZHISHUA"],["003818","YHSZ5NQGZZSC","银华上证5年期国债指数C","债券指数","YINHUASHANGZHENG5NIANQIGUOZHAIZHISHUC"],["003819","GFJHCZ","广发景华纯债","债券型","GUANGFAJINGHUACHUNZHAI"],["003820","HXXJHHHA","华夏新锦鸿混合A","混合型","HUAXIAXINJINHONGHUNHEA"],["003821","HXXJHHHC","华夏新锦鸿混合C","混合型","HUAXIAXINJINHONGHUNHEC"],["003824","THXLZQA","天弘信利债券A","债券型","TIANHONGXINLIZHAIQUANA"],["003825","THXLZQC","天弘信利债券C","债券型","TIANHONGXINLIZHAIQUANC"],["003826","HXDHZQA","华夏鼎汇债券A","债券型","HUAXIADINGHUIZHAIQUANA"],["003827","HXDHZQC","华夏鼎汇债券C","债券型","HUAXIADINGHUIZHAIQUANC"],["003828","PHXHDQKFHH","鹏华兴惠定期开放混合","混合型","PENGHUAXINGHUIDINGQIKAIFANGHUNHE"],["003830","JXXYHBLHPZHH","建信鑫悦回报灵活配置混合","混合型","JIANXINXINYUEHUIBAOLINGHUOPEIZHIHUNHE"],["003831","JXXRHBLHPZHH","建信鑫瑞回报灵活配置混合","混合型","JIANXINXINRUIHUIBAOLINGHUOPEIZHIHUNHE"],["003832","ZYFRDQKFZQ","中银丰润定期开放债券","定开债券","ZHONGYINFENGRUNDINGQIKAIFANGZHAIQUAN"],["003833","JYTFCZZQ","金鹰添富纯债债券","债券型","JINYINGTIANFUCHUNZHAIZHAIQUAN"],["003835","PHHSGXXCZHH","鹏华沪深港新兴成长混合","混合型","PENGHUAHUSHENGANGXINXINGCHENGZHANGHUNHE"],["003836","XWXXZQ","新沃鑫禧债券","债券型","XINWOXINXIZHAIQUAN"],["003837","DFZXCZZQA","东方臻享纯债债券A","债券型","DONGFANGZHENXIANGCHUNZHAIZHAIQUANA"],["003838","DFZXCZZQC","东方臻享纯债债券C","债券型","DONGFANGZHENXIANGCHUNZHAIZHAIQUANC"],["003839","YFDRTLHPZHHA","易方达瑞通灵活配置混合A","混合型","YIFANGDARUITONGLINGHUOPEIZHIHUNHEA"],["003840","YFDRTLHPZHHC","易方达瑞通灵活配置混合C","混合型","YIFANGDARUITONGLINGHUOPEIZHIHUNHEC"],["003841","DCHYDKCZZQ","大成惠裕定开纯债债券","定开债券","DACHENGHUIYUDINGKAICHUNZHAIZHAIQUAN"],["003842","ZYJTLHPZHHA","中邮景泰灵活配置混合A","混合型","ZHONGYOUJINGTAILINGHUOPEIZHIHUNHEA"],["003843","ZYJTLHPZHHC","中邮景泰灵活配置混合C","混合型","ZHONGYOUJINGTAILINGHUOPEIZHIHUNHEC"],["003845","HAFHLHPZHHA","汇安丰恒灵活配置混合A","混合型","HUIANFENGHENGLINGHUOPEIZHIHUNHEA"],["003846","HAFHLHPZHHC","汇安丰恒灵活配置混合C","混合型","HUIANFENGHENGLINGHUOPEIZHIHUNHEC"],["003847","HADFZQ","华安鼎丰债券","债券型","HUAANDINGFENGZHAIQUAN"],["003848","ZYGLLHPZHHA","中银广利灵活配置混合A","混合型","ZHONGYINGUANGLILINGHUOPEIZHIHUNHEA"],["003849","ZYGLLHPZHHC","中银广利灵活配置混合C","混合型","ZHONGYINGUANGLILINGHUOPEIZHIHUNHEC"],["003850","ZYJLLHPZHHA","中银锦利灵活配置混合A","混合型","ZHONGYINJINLILINGHUOPEIZHIHUNHEA"],["003851","ZYJLLHPZHHC","中银锦利灵活配置混合C","混合型","ZHONGYINJINLILINGHUOPEIZHIHUNHEC"],["003852","JYTXCZZQ","金鹰添享纯债债券","债券型","JINYINGTIANXIANGCHUNZHAIZHAIQUAN"],["003853","JYTHCZZQ","金鹰添惠纯债债券","债券型","JINYINGTIANHUICHUNZHAIZHAIQUAN"],["003854","HAFHHHA","汇安丰华混合A","混合型","HUIANFENGHUAHUNHEA"],["003855","HAFHHHC","汇安丰华混合C","混合型","HUIANFENGHUAHUNHEC"],["003856","GDJXDQKFHH","国都聚鑫定期开放混合","混合型","GUODOUJUXINDINGQIKAIFANGHUNHE"],["003857","QHKYZQYXHHA","前海开源周期优选混合A","混合型","QIANHAIKAIYUANZHOUQIYOUXUANHUNHEA"],["003858","QHKYZQYXHHC","前海开源周期优选混合C","混合型","QIANHAIKAIYUANZHOUQIYOUXUANHUNHEC"],["003859","ZSZXCZA","招商招旭纯债A","债券型","ZHAOSHANGZHAOXUCHUNZHAIA"],["003860","ZSZXCZC","招商招旭纯债C","债券型","ZHAOSHANGZHAOXUCHUNZHAIC"],["003861","ZSXFHHA","招商兴福混合A","混合型","ZHAOSHANGXINGFUHUNHEA"],["003862","ZSXFHHC","招商兴福混合C","混合型","ZHAOSHANGXINGFUHUNHEC"],["003863","ZSZXCZA","招商招祥纯债A","债券型","ZHAOSHANGZHAOXIANGCHUNZHAIA"],["003864","ZSZXCZC","招商招祥纯债C","债券型","ZHAOSHANGZHAOXIANGCHUNZHAIC"],["003865","CJHXLHDYZGPC","创金合信量化多因子股票C","股票型","CHUANGJINHEXINLIANGHUADUOYINZIGUPIAOC"],["003866","BSFCCZZQ","博时富诚纯债债券","债券型","BOSHIFUCHENGCHUNZHAIZHAIQUAN"],["003867","ZSZJCZA","招商招景纯债A","债券型","ZHAOSHANGZHAOJINGCHUNZHAIA"],["003868","ZSZJCZC","招商招景纯债C","债券型","ZHAOSHANGZHAOJINGCHUNZHAIC"],["003871","HTBRTTBHBB","华泰柏瑞天添宝货币B","货币型","HUATAIBAIRUITIANTIANBAOHUOBIB"],["003874","ZSRTJHBA","浙商日添金货币A","货币型","ZHESHANGRITIANJINHUOBIA"],["003875","ZSRTJHBB","浙商日添金货币B","货币型","ZHESHANGRITIANJINHUOBIB"],["003876","HBHS300ZQ","华宝沪深300增强","股票指数","HUABAOHUSHEN300ZENGQIANG"],["003877","FGJLWJPZHHA","富国久利稳健配置混合A","混合型","FUGUOJIULIWENJIANPEIZHIHUNHEA"],["003878","FGJLWJPZHHC","富国久利稳健配置混合C","混合型","FUGUOJIULIWENJIANPEIZHIHUNHEC"],["003880","JSDQB6GYLCZQA","嘉实定期宝6个月理财债券A","理财型","JIASHIDINGQIBAO6GEYUELICAIZHAIQUANA"],["003881","JSDQB6GYLCZQB","嘉实定期宝6个月理财债券B","理财型","JIASHIDINGQIBAO6GEYUELICAIZHAIQUANB"],["003882","YFDRHHHA","易方达瑞弘混合A","混合型","YIFANGDARUIHONGHUNHEA"],["003883","YFDRHHHC","易方达瑞弘混合C","混合型","YIFANGDARUIHONGHUNHEC"],["003884","HAFTLHPZHHA","汇安丰泰灵活配置混合A","混合型","HUIANFENGTAILINGHUOPEIZHIHUNHEA"],["003885","HAFTLHPZHHC","汇安丰泰灵活配置混合C","混合型","HUIANFENGTAILINGHUOPEIZHIHUNHEC"],["003886","HAFLHHA","汇安丰利混合A","混合型","HUIANFENGLIHUNHEA"],["003887","HAFLHHC","汇安丰利混合C","混合型","HUIANFENGLIHUNHEC"],["003888","HAJYCZZQ","汇安嘉源纯债债券","债券型","HUIANJIAYUANCHUNZHAIZHAIQUAN"],["003889","HAFZHHA","汇安丰泽混合A","混合型","HUIANFENGZEHUNHEA"],["003890","HAFZHHC","汇安丰泽混合C","混合型","HUIANFENGZEHUNHEC"],["003891","HAJYCZZQ","汇安嘉裕纯债债券","债券型","HUIANJIAYUCHUNZHAIZHAIQUAN"],["003892","PHPTZQ","鹏华普泰债券","债券型","PENGHUAPUTAIZHAIQUAN"],["003895","AXXSYLHPZHHA","安信新视野灵活配置混合A","混合型","ANXINXINSHIYELINGHUOPEIZHIHUNHEA"],["003896","AXXSYLHPZHHC","安信新视野灵活配置混合C","混合型","ANXINXINSHIYELINGHUOPEIZHIHUNHEC"],["003898","YYFYZQ","永赢丰益债券","债券型","YONGYINGFENGYIZHAIQUAN"],["003899","GTMHSYDKZ","国泰民惠收益定开债","定开债券","GUOTAIMINHUISHOUYIDINGKAIZHAI"],["003900","JYRXDKHH","交银瑞鑫定开混合","混合型","JIAOYINRUIXINDINGKAIHUNHE"],["003901","JYRJDKHH","交银瑞景定开混合","混合型","JIAOYINRUIJINGDINGKAIHUNHE"],["003902","DBRJZQA","德邦锐璟债券A","债券型","DEBANGRUIJINGZHAIQUANA"],["003903","DBRJZQC","德邦锐璟债券C","债券型","DEBANGRUIJINGZHAIQUANC"],["003906","HXXJTHHA","华夏新锦图混合A","混合型","HUAXIAXINJINTUHUNHEA"],["003907","HXXJTHHC","华夏新锦图混合C","混合型","HUAXIAXINJINTUHUNHEC"],["003908","WJJTZQA","万家家泰债券A","债券型","WANJIAJIATAIZHAIQUANA"],["003909","WJJTZQC","万家家泰债券C","债券型","WANJIAJIATAIZHAIQUANC"],["003910","WJJSZQA","万家家盛债券A","债券型","WANJIAJIASHENGZHAIQUANA"],["003911","WJJSZQC","万家家盛债券C","债券型","WANJIAJIASHENGZHAIQUANC"],["003912","TDHLQFHHA","泰达宏利启富混合A","混合型","TAIDAHONGLIQIFUHUNHEA"],["003913","TDHLQFHHC","泰达宏利启富混合C","混合型","TAIDAHONGLIQIFUHUNHEC"],["003914","TDHLQDLHPZHHA","泰达宏利启迪灵活配置混合A","混合型","TAIDAHONGLIQIDILINGHUOPEIZHIHUNHEA"],["003915","TDHLQDLHPZHHC","泰达宏利启迪灵活配置混合C","混合型","TAIDAHONGLIQIDILINGHUOPEIZHIHUNHEC"],["003916","TDHLQZLHPZHHA","泰达宏利启泽灵活配置混合A","混合型","TAIDAHONGLIQIZELINGHUOPEIZHIHUNHEA"],["003917","TDHLQZLHPZHHC","泰达宏利启泽灵活配置混合C","混合型","TAIDAHONGLIQIZELINGHUOPEIZHIHUNHEC"],["003918","TDHLQMLHPZHHA","泰达宏利启明灵活配置混合A","混合型","TAIDAHONGLIQIMINGLINGHUOPEIZHIHUNHEA"],["003919","TDHLQMLHPZHHC","泰达宏利启明灵活配置混合C","混合型","TAIDAHONGLIQIMINGLINGHUOPEIZHIHUNHEC"],["003922","CSSKLHPZHHA","长盛盛康灵活配置混合A","混合型","CHANGSHENGSHENGKANGLINGHUOPEIZHIHUNHEA"],["003923","CSSKLHPZHHC","长盛盛康灵活配置混合C","混合型","CHANGSHENGSHENGKANGLINGHUOPEIZHIHUNHEC"],["003924","CSSTLHPZHHA","长盛盛泰灵活配置混合A","混合型","CHANGSHENGSHENGTAILINGHUOPEIZHIHUNHEA"],["003925","CSSTLHPZHHC","长盛盛泰灵活配置混合C","混合型","CHANGSHENGSHENGTAILINGHUOPEIZHIHUNHEC"],["003929","ZYZQAJZQA","中银证券安进债券A","债券型","ZHONGYINZHENGQUANANJINZHAIQUANA"],["003930","ZYZQAJZQC","中银证券安进债券C","债券型","ZHONGYINZHENGQUANANJINZHAIQUANC"],["003936","NFHLA","南方和利A","定开债券","NANFANGHELIA"],["003937","NFHLC","南方和利C","定开债券","NANFANGHELIC"],["003940","YHSSJXLHPZHHFQS","银华盛世精选灵活配置混合发起式","混合型","YINHUASHENGSHIJINGXUANLINGHUOPEIZHIHUNHEFAQISHI"],["003941","GTXYLHPZHHA","国泰鑫益灵活配置混合A","混合型","GUOTAIXINYILINGHUOPEIZHIHUNHEA"],["003942","GTXYLHPZHHC","国泰鑫益灵活配置混合C","混合型","GUOTAIXINYILINGHUOPEIZHIHUNHEC"],["003943","GTZYLHPZHHA","国泰泽益灵活配置混合A","混合型","GUOTAIZEYILINGHUOPEIZHIHUNHEA"],["003944","GTZYLHPZHHC","国泰泽益灵活配置混合C","混合型","GUOTAIZEYILINGHUOPEIZHIHUNHEC"],["003945","GTZYLHPZHHA","国泰众益灵活配置混合A","混合型","GUOTAIZHONGYILINGHUOPEIZHIHUNHEA"],["003946","GTZYLHPZHHC","国泰众益灵活配置混合C","混合型","GUOTAIZHONGYILINGHUOPEIZHIHUNHEC"],["003947","BSJXCZZQ","博时聚享纯债债券","债券型","BOSHIJUXIANGCHUNZHAIZHAIQUAN"],["003949","XQWTZQ","兴全稳泰债券","债券型","XINGQUANWENTAIZHAIQUAN"],["003950","BSXRHHA","博时鑫润混合A","混合型","BOSHIXINRUNHUNHEA"],["003951","BSXRHHC","博时鑫润混合C","混合型","BOSHIXINRUNHUNHEC"],["003952","XY18GYDKZA","兴业18个月定开债A","定开债券","XINGYE18GEYUEDINGKAIZHAIA"],["003953","XY18GYDKZC","兴业18个月定开债C","定开债券","XINGYE18GEYUEDINGKAIZHAIC"],["003954","HTBRJZJX30HH","华泰柏瑞价值精选30混合","混合型","HUATAIBAIRUIJIAZHIJINGXUAN30HUNHE"],["003955","GTMFHBDKHH","国泰民丰回报定开混合","混合型","GUOTAIMINFENGHUIBAODINGKAIHUNHE"],["003956","NFJYGP","南方教育股票","股票型","NANFANGJIAOYUGUPIAO"],["003957","AXXQDHHA","安信新起点混合A","混合型","ANXINXINQIDIANHUNHEA"],["003958","AXXQDHHC","安信新起点混合C","混合型","ANXINXINQIDIANHUNHEC"],["003959","PADHLHHHA","平安大华量化混合A","混合型","PINGANDAHUALIANGHUAHUNHEA"],["003960","PADHLHHHC","平安大华量化混合C","混合型","PINGANDAHUALIANGHUAHUNHEC"],["003961","YFDRCLHPZHHA","易方达瑞程灵活配置混合A","混合型","YIFANGDARUICHENGLINGHUOPEIZHIHUNHEA"],["003962","YFDRCLHPZHHC","易方达瑞程灵活配置混合C","混合型","YIFANGDARUICHENGLINGHUOPEIZHIHUNHEC"],["003963","BSHXCZZQ","博时慧选纯债债券","债券型","BOSHIHUIXUANCHUNZHAIZHAIQUAN"],["003964","HXXJLHHA","华夏新锦略混合A","混合型","HUAXIAXINJINLUEHUNHEA"],["003965","HXXJLHHC","华夏新锦略混合C","混合型","HUAXIAXINJINLUEHUNHEC"],["003966","ZYRLHHA","中银润利混合A","混合型","ZHONGYINRUNLIHUNHEA"],["003967","ZYRLHHC","中银润利混合C","混合型","ZHONGYINRUNLIHUNHEC"],["003968","JYTYBHBA","交银天益宝货币A","货币型","JIAOYINTIANYIBAOHUOBIA"],["003969","JYTYBHBE","交银天益宝货币E","货币型","JIAOYINTIANYIBAOHUOBIE"],["003970","HTBRXLHHA","华泰柏瑞兴利混合A","混合型","HUATAIBAIRUIXINGLIHUNHEA"],["003971","HTBRXLHHC","华泰柏瑞兴利混合C","混合型","HUATAIBAIRUIXINGLIHUNHEC"],["003972","GFMYZDKZRMB","国富美元债定开债人民币","QDII","GUOFUMEIYUANZHAIDINGKAIZHAIRENMINBI"],["003973","GFMYZDKZMYXH","国富美元债定开债美元现汇","QDII","GUOFUMEIYUANZHAIDINGKAIZHAIMEIYUANXIANHUI"],["003974","ZXJTRTLHPZHHA","中信建投睿泰灵活配置混合A","混合型","ZHONGXINJIANTOURUITAILINGHUOPEIZHIHUNHEA"],["003975","ZXJTRTLHPZHHC","中信建投睿泰灵活配置混合C","混合型","ZHONGXINJIANTOURUITAILINGHUOPEIZHIHUNHEC"],["003976","ZXJTWHZQA","中信建投稳惠债券A","债券型","ZHONGXINJIANTOUWENHUIZHAIQUANA"],["003977","ZXJTWHZQC","中信建投稳惠债券C","债券型","ZHONGXINJIANTOUWENHUIZHAIQUANC"],["003978","ZXJTWXA","中信建投稳祥A","债券型","ZHONGXINJIANTOUWENXIANGA"],["003979","ZXJTWXC","中信建投稳祥C","债券型","ZHONGXINJIANTOUWENXIANGC"],["003980","ZYZQRYHHA","中银证券瑞益混合A","混合型","ZHONGYINZHENGQUANRUIYIHUNHEA"],["003981","ZYZQRYHHC","中银证券瑞益混合C","混合型","ZHONGYINZHENGQUANRUIYIHUNHEC"],["003982","GTRYSYCZZQ","国投瑞银顺益纯债债券","债券型","GUOTOURUIYINSHUNYICHUNZHAIZHAIQUAN"],["003983","PHFHZQ","鹏华丰惠债券","债券型","PENGHUAFENGHUIZHAIQUAN"],["003984","JSXNYXCLGPA","嘉实新能源新材料股票A","股票型","JIASHIXINNENGYUANXINCAILIAOGUPIAOA"],["003985","JSXNYXCLGPC","嘉实新能源新材料股票C","股票型","JIASHIXINNENGYUANXINCAILIAOGUPIAOC"],["003986","SWLXZZ500ZSYXZQ","申万菱信中证500指数优选增强","股票指数","SHENWANLINGXINZHONGZHENG500ZHISHUYOUXUANZENGQIANG"],["003991","FGFLWJPZHHA","富国富利稳健配置混合A","混合型","FUGUOFULIWENJIANPEIZHIHUNHEA"],["003992","FGFLWJPZHHC","富国富利稳健配置混合C","混合型","FUGUOFULIWENJIANPEIZHIHUNHEC"],["003993","QHKYHGSHXQDHH","前海开源沪港深核心驱动混合","混合型","QIANHAIKAIYUANHUGANGSHENHEXINQUDONGHUNHE"],["003999","FRFXCZ","富荣富祥纯债","债券型","FURONGFUXIANGCHUNZHAI"],["004000","TDRXWJHH","泰达睿选稳健混合","混合型","TAIDARUIXUANWENJIANHUNHE"],["004001","TDHLHLZQA","泰达宏利恒利债券A","债券型","TAIDAHONGLIHENGLIZHAIQUANA"],["004002","TDHLHLZQC","泰达宏利恒利债券C","债券型","TAIDAHONGLIHENGLIZHAIQUANC"],["004003","TDHLQHLHPZHHA","泰达宏利启惠灵活配置混合A","混合型","TAIDAHONGLIQIHUILINGHUOPEIZHIHUNHEA"],["004004","TDHLQHLHPZHHC","泰达宏利启惠灵活配置混合C","混合型","TAIDAHONGLIQIHUILINGHUOPEIZHIHUNHEC"],["004005","DFMFHBYADKHHA","东方民丰回报赢安定开混合A","混合型","DONGFANGMINFENGHUIBAOYINGANDINGKAIHUNHEA"],["004006","DFMFHBYADKHHC","东方民丰回报赢安定开混合C","混合型","DONGFANGMINFENGHUIBAOYINGANDINGKAIHUNHEC"],["004008","ZRXSLHHA","中融鑫思路混合A","混合型","ZHONGRONGXINSILUHUNHEA"],["004009","ZRXSLHHC","中融鑫思路混合C","混合型","ZHONGRONGXINSILUHUNHEC"],["004010","HTBRDLLHPZHHA","华泰柏瑞鼎利灵活配置混合A","混合型","HUATAIBAIRUIDINGLILINGHUOPEIZHIHUNHEA"],["004011","HTBRDLLHPZHHC","华泰柏瑞鼎利灵活配置混合C","混合型","HUATAIBAIRUIDINGLILINGHUOPEIZHIHUNHEC"],["004012","HTBRYLHHA","华泰柏瑞裕利混合A","混合型","HUATAIBAIRUIYULIHUNHEA"],["004013","HTBRYLHHC","华泰柏瑞裕利混合C","混合型","HUATAIBAIRUIYULIHUNHEC"],["004014","HTBRJLHHA","华泰柏瑞锦利混合A","混合型","HUATAIBAIRUIJINLIHUNHEA"],["004015","HTBRJLHHC","华泰柏瑞锦利混合C","混合型","HUATAIBAIRUIJINLIHUNHEC"],["004018","ZSXHLHPZHHA","招商兴华灵活配置混合A","混合型","ZHAOSHANGXINGHUALINGHUOPEIZHIHUNHEA"],["004019","ZSXHLHPZHHC","招商兴华灵活配置混合C","混合型","ZHAOSHANGXINGHUALINGHUOPEIZHIHUNHEC"],["004020","GFJXCZ","广发景祥纯债","债券型","GUANGFAJINGXIANGCHUNZHAI"],["004021","GFHFYNDQZQA","广发汇富一年定期债券A","定开债券","GUANGFAHUIFUYINIANDINGQIZHAIQUANA"],["004022","GFHFYNDQZQC","广发汇富一年定期债券C","定开债券","GUANGFAHUIFUYINIANDINGQIZHAIQUANC"],["004024","HTBXZCYNDKZ","华泰保兴尊诚一年定开债","定开债券","HUATAIBAOXINGZUNCHENGYINIANDINGKAIZHAI"],["004027","GFJYCZA","广发景源纯债A","债券型","GUANGFAJINGYUANCHUNZHAIA"],["004028","GFJYCZC","广发景源纯债C","债券型","GUANGFAJINGYUANCHUNZHAIC"],["004029","JSWKCZZQ","嘉实稳康纯债债券","债券型","JIASHIWENKANGCHUNZHAIZHAIQUAN"],["004030","JSFA6GYDQZQ","嘉实丰安6个月定期债券","定开债券","JIASHIFENGAN6GEYUEDINGQIZHAIQUAN"],["004031","XYTLZQ","鑫元添利债券","债券型","XINYUANTIANLIZHAIQUAN"],["004032","GYFCBNDKZQ","工银丰淳半年定开债券","定开债券","GONGYINFENGCHUNBANNIANDINGKAIZHAIQUAN"],["004033","JYTRCZZQ","金鹰添荣纯债债券","债券型","JINYINGTIANRONGCHUNZHAIZHAIQUAN"],["004034","BSHK18GYDKZA","博时弘康18个月定开债A","定开债券","BOSHIHONGKANG18GEYUEDINGKAIZHAIA"],["004035","BSHK18GYDKZC","博时弘康18个月定开债C","定开债券","BOSHIHONGKANG18GEYUEDINGKAIZHAIC"],["004036","PHHZLHPZHHA","鹏华弘樽灵活配置混合A","混合型","PENGHUAHONGZUNLINGHUOPEIZHIHUNHEA"],["004037","PHHZLHPZHHC","鹏华弘樽灵活配置混合C","混合型","PENGHUAHONGZUNLINGHUOPEIZHIHUNHEC"],["004038","ZYFXZQ","中银富享债券","债券型","ZHONGYINFUXIANGZHAIQUAN"],["004039","ZOJTHB","中欧骏泰货币","货币型","ZHONGOUJUNTAIHUOBI"],["004042","HXDMZQA","华夏鼎茂债券A","债券型","HUAXIADINGMAOZHAIQUANA"],["004043","HXDMZQC","华夏鼎茂债券C","债券型","HUAXIADINGMAOZHAIQUANC"],["004045","JYTRCZZQ","金鹰添润纯债债券","债券型","JINYINGTIANRUNCHUNZHAIZHAIQUAN"],["004046","HXXJSHHA","华夏新锦顺混合A","混合型","HUAXIAXINJINSHUNHUNHEA"],["004047","HXXJSHHC","华夏新锦顺混合C","混合型","HUAXIAXINJINSHUNHUNHEC"],["004048","HXXJHHHA","华夏新锦汇混合A","混合型","HUAXIAXINJINHUIHUNHEA"],["004049","HXXJHHHC","华夏新锦汇混合C","混合型","HUAXIAXINJINHUIHUNHEC"],["004052","HXDZZQA","华夏鼎智债券A","债券型","HUAXIADINGZHIZHAIQUANA"],["004053","HXDZZQC","华夏鼎智债券C","债券型","HUAXIADINGZHIZHAIQUANC"],["004054","HXDSZQA","华夏鼎实债券A","债券型","HUAXIADINGSHIZHAIQUANA"],["004055","HXDSZQC","华夏鼎实债券C","债券型","HUAXIADINGSHIZHAIQUANC"],["004056","HXHLHBA","华夏惠利货币A","货币型","HUAXIAHUILIHUOBIA"],["004059","XYZLZQ","鑫元招利债券","债券型","XINYUANZHAOLIZHAIQUAN"],["004060","BSXSHB","博时兴盛货币","货币型","BOSHIXINGSHENGHUOBI"],["004061","HXDLZQA","华夏鼎隆债券A","债券型","HUAXIADINGLONGZHAIQUANA"],["004062","HXDLZQC","华夏鼎隆债券C","债券型","HUAXIADINGLONGZHAIQUANC"],["004063","HXHRYNDKZ","华夏恒融一年定开债","定开债券","HUAXIAHENGRONGYINIANDINGKAIZHAI"],["004064","JYRLDQKFLHPZHH","交银瑞利定期开放灵活配置混合","混合型","JIAOYINRUILIDINGQIKAIFANGLINGHUOPEIZHIHUNHE"],["004065","ZRLHDYZHH","中融量化多因子混合","混合型","ZHONGRONGLIANGHUADUOYINZIHUNHE"],["004066","JSWXCZZQ","嘉实稳熙纯债债券","债券型","JIASHIWENXICHUNZHAIZHAIQUAN"],["004067","ZRXHBHHA","中融鑫回报混合A","混合型","ZHONGRONGXINHUIBAOHUNHEA"],["004068","ZRXHBHHC","中融鑫回报混合C","混合型","ZHONGRONGXINHUIBAOHUNHEC"],["004069","NFZZQZZQETFLJA","南方中证全指证券ETF联接A","联接基金","NANFANGZHONGZHENGQUANZHIZHENGQUANETFLIANJIEA"],["004070","NFZZQZZQETFLJC","南方中证全指证券ETF联接C","联接基金","NANFANGZHONGZHENGQUANZHIZHENGQUANETFLIANJIEC"],["004072","JYSAJTBHBA","金元顺安金通宝货币A","货币型","JINYUANSHUNANJINTONGBAOHUOBIA"],["004073","JYSAJTBHBB","金元顺安金通宝货币B","货币型","JINYUANSHUNANJINTONGBAOHUOBIB"],["004074","JYRADQKFLHPZHH","交银瑞安定期开放灵活配置混合","混合型","JIAOYINRUIANDINGQIKAIFANGLINGHUOPEIZHIHUNHE"],["004075","JYYYCXGP","交银医药创新股票","股票型","JIAOYINYIYAOCHUANGXINGUPIAO"],["004076","GLARYCZHH","国联安锐意成长混合","混合型","GUOLIANANRUIYICHENGZHANGHUNHE"],["004077","JXMFHBA","金信民发货币A","货币型","JINXINMINFAHUOBIA"],["004078","JXMFHBB","金信民发货币B","货币型","JINXINMINFAHUOBIB"],["004079","WJXFCZA","万家鑫丰纯债A","债券型","WANJIAXINFENGCHUNZHAIA"],["004080","WJXFCZC","万家鑫丰纯债C","债券型","WANJIAXINFENGCHUNZHAIC"],["004081","GLAXQHHA","国联安鑫乾混合A","混合型","GUOLIANANXINQIANHUNHEA"],["004082","GLAXQHHC","国联安鑫乾混合C","混合型","GUOLIANANXINQIANHUNHEC"],["004083","GLAXLHHA","国联安鑫隆混合A","混合型","GUOLIANANXINLONGHUNHEA"],["004084","GLAXLHHC","国联安鑫隆混合C","混合型","GUOLIANANXINLONGHUNHEC"],["004085","GYGZ710NZSA","工银国债(7-10年)指数A","债券指数","GONGYINGUOZHAI710NIANZHISHUA"],["004086","GYGZ710NZSC","工银国债(7-10年)指数C","债券指数","GONGYINGUOZHAI710NIANZHISHUC"],["004087","YHTRDQKFZQ","银华添润定期开放债券","定开债券","YINHUATIANRUNDINGQIKAIFANGZHAIQUAN"],["004089","HTFXRZQA","汇添富鑫瑞债券A","债券型","HUITIANFUXINRUIZHAIQUANA"],["004090","HTFXRZQC","汇添富鑫瑞债券C","债券型","HUITIANFUXINRUIZHAIQUANC"],["004091","BSHGSJZYXA","博时沪港深价值优选A","混合型","BOSHIHUGANGSHENJIAZHIYOUXUANA"],["004092","BSHGSJZYXC","博时沪港深价值优选C","混合型","BOSHIHUGANGSHENJIAZHIYOUXUANC"],["004093","JYSAASZQ","金元顺安桉盛债券","债券型","JINYUANSHUNANANSHENGZHAIQUAN"],["004094","ZSFCLHHHA","招商丰诚灵活混合A","混合型","ZHAOSHANGFENGCHENGLINGHUOHUNHEA"],["004095","ZSFCLHHHC","招商丰诚灵活混合C","混合型","ZHAOSHANGFENGCHENGLINGHUOHUNHEC"],["004096","PHXKDQKFHH","鹏华兴康定期开放混合","混合型","PENGHUAXINGKANGDINGQIKAIFANGHUNHE"],["004097","NYHLRRXJYXHBA","农银汇理日日鑫交易型货币A","货币型","NONGYINHUILIRIRIXINJIAOYIXINGHUOBIA"],["004099","QHKYHGSJQHYJXHH","前海开源沪港深景气行业精选混合","混合型","QIANHAIKAIYUANHUGANGSHENJINGQIHANGYEJINGXUANHUNHE"],["004100","PHAYZQHH","鹏华安益增强混合","混合型","PENGHUAANYIZENGQIANGHUNHE"],["004102","XCWYZQA","信诚稳悦债券A","债券型","XINCHENGWENYUEZHAIQUANA"],["004103","XCWYZQC","信诚稳悦债券C","债券型","XINCHENGWENYUEZHAIQUANC"],["004104","XCWXA","信诚稳鑫A","债券型","XINCHENGWENXINA"],["004105","XCWXC","信诚稳鑫C","债券型","XINCHENGWENXINC"],["004106","XCWFA","信诚稳丰A","债券型","XINCHENGWENFENGA"],["004107","XCWFC","信诚稳丰C","债券型","XINCHENGWENFENGC"],["004108","XCWTA","信诚稳泰A","债券型","XINCHENGWENTAIA"],["004109","XCWTC","信诚稳泰C","债券型","XINCHENGWENTAIC"],["004112","CJHXGQHLHH","创金合信国企活力混合","混合型","CHUANGJINHEXINGUOQIHUOLIHUNHE"],["004113","HTBRTLHHA","华泰柏瑞泰利混合A","混合型","HUATAIBAIRUITAILIHUNHEA"],["004114","HTBRTLHHC","华泰柏瑞泰利混合C","混合型","HUATAIBAIRUITAILIHUNHEC"],["004115","JSXTCHH","嘉实新添程混合","混合型","JIASHIXINTIANCHENGHUNHE"],["004116","JSXTRHH","嘉实新添瑞混合","混合型","JIASHIXINTIANRUIHUNHE"],["004117","DCHXDKCZZQ","大成惠祥定开纯债债券","定开债券","DACHENGHUIXIANGDINGKAICHUNZHAIZHAIQUAN"],["004118","BSYPCZZQ","博时裕鹏纯债债券","债券型","BOSHIYUPENGCHUNZHAIZHAIQUAN"],["004119","GFCXQDLHPZHH","广发创新驱动灵活配置混合","混合型","GUANGFACHUANGXINQUDONGLINGHUOPEIZHIHUNHE"],["004121","HFXJTL","华福现金添利","货币型","HUAFUXIANJINTIANLI"],["004122","HFCYDKZ","华福长益定开债","定开债券","HUAFUCHANGYIDINGKAIZHAI"],["004123","HFCYDKZ","华福长盈定开债","定开债券","HUAFUCHANGYINGDINGKAIZHAI"],["004124","MSJYXSCZ","民生加银鑫升纯债","债券型","MINSHENGJIAYINXINSHENGCHUNZHAI"],["004126","PYASWJZLZQA","浦银安盛稳健增利债券A","债券型","PUYINANSHENGWENJIANZENGLIZHAIQUANA"],["004127","PHFKZQ","鹏华丰康债券","债券型","PENGHUAFENGKANGZHAIQUAN"],["004129","GLAXHHHA","国联安鑫汇混合A","混合型","GUOLIANANXINHUIHUNHEA"],["004130","GLAXHHHC","国联安鑫汇混合C","混合型","GUOLIANANXINHUIHUNHEC"],["004131","GLAXFHHA","国联安鑫发混合A","混合型","GUOLIANANXINFAHUNHEA"],["004132","GLAXFHHC","国联安鑫发混合C","混合型","GUOLIANANXINFAHUNHEC"],["004133","ZHHXBHB","中航航行宝货币","货币型","ZHONGHANGHANGXINGBAOHUOBI"],["004134","NYJA18GYDKZ","农银金安18个月定开债","定开债券","NONGYINJINAN18GEYUEDINGKAIZHAI"],["004135","SWLXLHCZHH","申万菱信量化成长混合","混合型","SHENWANLINGXINLIANGHUACHENGZHANGHUNHE"],["004136","BSMZCZZQ","博时民泽纯债债券","债券型","BOSHIMINZECHUNZHAIZHAIQUAN"],["004137","BSHHHB","博时合惠货币","货币型","BOSHIHEHUIHUOBI"],["004138","SYXDHH","上银鑫达混合","混合型","SHANGYINXINDAHUNHE"],["004139","ZYJMRHLHPZHH","中邮军民融合灵活配置混合","混合型","ZHONGYOUJUNMINRONGHELINGHUOPEIZHIHUNHE"],["004140","XYFXZQ","兴业福鑫债券","债券型","XINGYEFUXINZHAIQUAN"],["004141","XYRF6GYDKZ","兴业瑞丰6个月定开债","定开债券","XINGYERUIFENG6GEYUEDINGKAIZHAI"],["004142","ZSSHLHHHA","招商盛合灵活混合A","混合型","ZHAOSHANGSHENGHELINGHUOHUNHEA"],["004143","ZSSHLHHHC","招商盛合灵活混合C","混合型","ZHAOSHANGSHENGHELINGHUOHUNHEC"],["004144","STAFHBA","上投安丰回报A","混合型","SHANGTOUANFENGHUIBAOA"],["004145","STAFHBC","上投安丰回报C","混合型","SHANGTOUANFENGHUIBAOC"],["004146","STAZHBHHA","上投安泽回报混合A","混合型","SHANGTOUANZEHUIBAOHUNHEA"],["004147","STAZHBHHC","上投安泽回报混合C","混合型","SHANGTOUANZEHUIBAOHUNHEC"],["004148","YXYFDCL","圆信永丰多策略","混合型","YUANXINYONGFENGDUOCELUE"],["004149","BSXHHHA","博时鑫惠混合A","混合型","BOSHIXINHUIHUNHEA"],["004150","BSXHHHC","博时鑫惠混合C","混合型","BOSHIXINHUIHUNHEC"],["004151","XFRTLA","先锋日添利A","货币型","XIANFENGRITIANLIA"],["004152","XFRTLB","先锋日添利B","货币型","XIANFENGRITIANLIB"],["004153","XCXYHBLHPZHHA","信诚新悦回报灵活配置混合A","混合型","XINCHENGXINYUEHUIBAOLINGHUOPEIZHIHUNHEA"],["004154","XCXYHBLHPZHHB","信诚新悦回报灵活配置混合B","混合型","XINCHENGXINYUEHUIBAOLINGHUOPEIZHIHUNHEB"],["004155","XCZTLHPZHHA","信诚至泰灵活配置混合A","混合型","XINCHENGZHITAILINGHUOPEIZHIHUNHEA"],["004156","XCZTLHPZHHC","信诚至泰灵活配置混合C","混合型","XINCHENGZHITAILINGHUOPEIZHIHUNHEC"],["004157","XCZCLHPZHHA","信诚至诚灵活配置混合A","混合型","XINCHENGZHICHENGLINGHUOPEIZHIHUNHEA"],["004158","XCZCLHPZHHB","信诚至诚灵活配置混合B","混合型","XINCHENGZHICHENGLINGHUOPEIZHIHUNHEB"],["004159","ZOTQZQA","中欧天启债券A","定开债券","ZHONGOUTIANQIZHAIQUANA"],["004160","ZOTQZQC","中欧天启债券C","定开债券","ZHONGOUTIANQIZHAIQUANC"],["004165","BXRFZQHB","北信瑞丰增强回报","混合型","BEIXINRUIFENGZENGQIANGHUIBAO"],["004167","AXHQBHBB","安信活期宝货币B","货币型","ANXINHUOQIBAOHUOBIB"],["004168","BSFJCZZQ","博时富嘉纯债债券","债券型","BOSHIFUJIACHUNZHAIZHAIQUAN"],["004169","WJXJZLHBA","万家现金增利货币A","货币型","WANJIAXIANJINZENGLIHUOBIA"],["004170","WJXJZLHBB","万家现金增利货币B","货币型","WANJIAXIANJINZENGLIHUOBIB"],["004171","XCYYYNDKHHA","信诚永益一年定开混合A","混合型","XINCHENGYONGYIYINIANDINGKAIHUNHEA"],["004172","XCYYYNDKHHC","信诚永益一年定开混合C","混合型","XINCHENGYONGYIYINIANDINGKAIHUNHEC"],["004173","JSZYBHB","嘉实增益宝货币","货币型","JIASHIZENGYIBAOHUOBI"],["004175","BSXTHHA","博时鑫泰混合A","混合型","BOSHIXINTAIHUNHEA"],["004176","BSXTHHC","博时鑫泰混合C","混合型","BOSHIXINTAIHUNHEC"],["004177","PADHHYC","平安大华惠裕C","债券型","PINGANDAHUAHUIYUC"],["004178","YXYFFRHBA","圆信永丰丰润货币A","货币型","YUANXINYONGFENGFENGRUNHUOBIA"],["004179","YXYFFRHBB","圆信永丰丰润货币B","货币型","YUANXINYONGFENGFENGRUNHUOBIB"],["004180","NFHYZQA","南方宏元债券A","债券型","NANFANGHONGYUANZHAIQUANA"],["004181","NFHYZQC","南方宏元债券C","债券型","NANFANGHONGYUANZHAIQUANC"],["004187","JHRJDKHHA","嘉合睿金定开混合A","混合型","JIAHERUIJINDINGKAIHUNHEA"],["004188","JHRJDKHHC","嘉合睿金定开混合C","混合型","JIAHERUIJINDINGKAIHUNHEC"],["004189","HSMYHLLHPZHH","华商民营活力灵活配置混合","混合型","HUASHANGMINYINGHUOLILINGHUOPEIZHIHUNHE"],["004190","ZSHS300ZSZQA","招商沪深300指数增强A","股票指数","ZHAOSHANGHUSHEN300ZHISHUZENGQIANGA"],["004191","ZSHS300ZSZQC","招商沪深300指数增强C","股票指数","ZHAOSHANGHUSHEN300ZHISHUZENGQIANGC"],["004192","ZSZZ500ZSA","招商中证500指数A","股票指数","ZHAOSHANGZHONGZHENG500ZHISHUA"],["004193","ZSZZ500ZSC","招商中证500指数C","股票指数","ZHAOSHANGZHONGZHENG500ZHISHUC"],["004194","ZSZZ1000ZSZQA","招商中证1000指数增强A","股票指数","ZHAOSHANGZHONGZHENG1000ZHISHUZENGQIANGA"],["004195","ZSZZ1000ZSZQC","招商中证1000指数增强C","股票指数","ZHAOSHANGZHONGZHENG1000ZHISHUZENGQIANGC"],["004198","HFTYHBA","华富天益货币A","货币型","HUAFUTIANYIHUOBIA"],["004199","HFTYHBB","华富天益货币B","货币型","HUAFUTIANYIHUOBIB"],["004200","BSFRCZZQ","博时富瑞纯债债券","债券型","BOSHIFURUICHUNZHAIZHAIQUAN"],["004201","HXCFBHBB","华夏财富宝货币B","货币型","HUAXIACAIFUBAOHUOBIB"],["004203","STMGSSJDKZA","上投摩根岁岁金定开债A","定开债券","SHANGTOUMOGENSUISUIJINDINGKAIZHAIA"],["004204","STMGSSJDKZC","上投摩根岁岁金定开债C","定开债券","SHANGTOUMOGENSUISUIJINDINGKAIZHAIC"],["004206","HSYHLHPZHH","华商元亨灵活配置混合","混合型","HUASHANGYUANHENGLINGHUOPEIZHIHUNHE"],["004207","JYQTLHPZHHA","交银启通灵活配置混合A","混合型","JIAOYINQITONGLINGHUOPEIZHIHUNHEA"],["004208","JYQTLHPZHHC","交银启通灵活配置混合C","混合型","JIAOYINQITONGLINGHUOPEIZHIHUNHEC"],["004209","DCZHLHDCLHH","大成智惠量化多策略混合","混合型","DACHENGZHIHUILIANGHUADUOCELUEHUNHE"],["004210","QHKYHBE","前海开源货币E","货币型","QIANHAIKAIYUANHUOBIE"],["004212","ZRLHZXHH","中融量化智选混合","混合型","ZHONGRONGLIANGHUAZHIXUANHUNHE"],["004213","ZOJYHB","中欧骏益货币","货币型","ZHONGOUJUNYIHUOBI"],["004214","FZFBXLBHBA","方正富邦鑫利宝货币A","货币型","FANGZHENGFUBANGXINLIBAOHUOBIA"],["004215","FZFBXLBHBB","方正富邦鑫利宝货币B","货币型","FANGZHENGFUBANGXINLIBAOHUOBIB"],["004216","XYARHBA","兴业安润货币A","货币型","XINGYEANRUNHUOBIA"],["004217","XYARHBB","兴业安润货币B","货币型","XINGYEANRUNHUOBIB"],["004218","QHKYYHDQKFHH","前海开源裕和定期开放混合","混合型","QIANHAIKAIYUANYUHEDINGQIKAIFANGHUNHE"],["004219","ZHTSDQKFHH","中海添顺定期开放混合","混合型","ZHONGHAITIANSHUNDINGQIKAIFANGHUNHE"],["004220","CXCZYHZQC","长信纯债壹号债券C","债券型","CHANGXINCHUNZHAIYIHAOZHAIQUANC"],["004221","CXLHXFHHC","长信量化先锋混合C","混合型","CHANGXINLIANGHUAXIANFENGHUNHEC"],["004223","JXDCLJXLHPZ","金信多策略精选灵活配置","混合型","JINXINDUOCELUEJINGXUANLINGHUOPEIZHI"],["004224","NFJGGGLHPZHH","南方军工改革灵活配置混合","混合型","NANFANGJUNGONGGAIGELINGHUOPEIZHIHUNHE"],["004225","GSABWCHHA","国寿安保稳诚混合A","混合型","GUOSHOUANBAOWENCHENGHUNHEA"],["004226","GSABWCHHC","国寿安保稳诚混合C","混合型","GUOSHOUANBAOWENCHENGHUNHEC"],["004229","PHXNYCYHH","鹏华新能源产业混合","混合型","PENGHUAXINNENGYUANCHANYEHUNHE"],["004230","YYTYZQ","永赢添益债券","债券型","YONGYINGTIANYIZHAIQUAN"],["004231","ZOHYCZHHLOFC","中欧行业成长混合(LOF)C","混合型","ZHONGOUHANGYECHENGZHANGHUNHELOFC"],["004232","ZOJZFXHHC","中欧价值发现混合C","混合型","ZHONGOUJIAZHIFAXIANHUNHEC"],["004233","ZOSSCZHHLOFC","中欧盛世成长混合(LOF)C","混合型","ZHONGOUSHENGSHICHENGZHANGHUNHELOFC"],["004234","ZOSJWJHHC","中欧数据挖掘混合C","混合型","ZHONGOUSHUJUWAJUEHUNHEC"],["004235","ZOJZZXHHC","中欧价值智选混合C","混合型","ZHONGOUJIAZHIZHIXUANHUNHEC"],["004236","ZOXDLHHLOFC","中欧新动力混合(LOF)C","混合型","ZHONGOUXINDONGLIHUNHELOFC"],["004237","ZOXLCHHC","中欧新蓝筹混合C","混合型","ZHONGOUXINLANCHOUHUNHEC"],["004238","YYRYZQ","永赢瑞益债券","债券型","YONGYINGRUIYIZHAIQUAN"],["004241","ZOSDXFGPC","中欧时代先锋股票C","股票型","ZHONGOUSHIDAIXIANFENGGUPIAOC"],["004242","XYZYSNDKZQ","兴业增益三年定开债券","定开债券","XINGYEZENGYISANNIANDINGKAIZHAIQUAN"],["004243","GFDQSSYZSC","广发道琼斯石油指数C","QDII-指数","GUANGFADAOQIONGSISHIYOUZHISHUC"],["004244","DFZQYXLHPZHH","东方周期优选灵活配置混合","混合型","DONGFANGZHOUQIYOUXUANLINGHUOPEIZHIHUNHE"],["004246","DBRQZQA","德邦锐乾债券A","债券型","DEBANGRUIQIANZHAIQUANA"],["004247","DBRQZQC","德邦锐乾债券C","债券型","DEBANGRUIQIANZHAIQUANC"],["004248","HBXDLHH","华宝新动力混合","混合型","HUABAOXINDONGLIHUNHE"],["004249","AXZGZZ2025HH","安信中国制造2025混合","混合型","ANXINZHONGGUOZHIZAO2025HUNHE"],["004250","YHLHYXHH","银河量化优选混合","混合型","YINHELIANGHUAYOUXUANHUNHE"],["004251","HXHLHBB","华夏惠利货币B","货币型","HUAXIAHUILIHUOBIB"],["004252","GTAYLHPZHHC","国泰安益灵活配置混合C","混合型","GUOTAIANYILINGHUOPEIZHIHUNHEC"],["004254","MSJYHXYNDKZA","民生加银汇鑫一年定开债A","定开债券","MINSHENGJIAYINHUIXINYINIANDINGKAIZHAIA"],["004255","MSJYHXYNDKZC","民生加银汇鑫一年定开债C","定开债券","MINSHENGJIAYINHUIXINYINIANDINGKAIZHAIC"],["004256","MSJYHXYNDKZD","民生加银汇鑫一年定开债D","定开债券","MINSHENGJIAYINHUIXINYINIANDINGKAIZHAID"],["004258","GSABWJHHA","国寿安保稳嘉混合A","混合型","GUOSHOUANBAOWENJIAHUNHEA"],["004259","GSABWJHHC","国寿安保稳嘉混合C","混合型","GUOSHOUANBAOWENJIAHUNHEC"],["004260","DBWYZZLHPZHH","德邦稳盈增长灵活配置混合","混合型","DEBANGWENYINGZENGZHANGLINGHUOPEIZHIHUNHE"],["004261","ZSZXBHBA","招商招禧宝货币A","货币型","ZHAOSHANGZHAOXIBAOHUOBIA"],["004262","ZSZXBHBB","招商招禧宝货币B","货币型","ZHAOSHANGZHAOXIBAOHUOBIB"],["004264","HFTRHCZ","海富通瑞合纯债","债券型","HAIFUTONGRUIHECHUNZHAI"],["004266","ZSHGSKJCXHH","招商沪港深科技创新混合","混合型","ZHAOSHANGHUGANGSHENKEJICHUANGXINHUNHE"],["004267","JYCJZLZQLOFE","金鹰持久增利债券(LOF)E","债券型","JINYINGCHIJIUZENGLIZHAIQUANLOFE"],["004268","ZXJTRKA","中信建投睿康A","混合型","ZHONGXINJIANTOURUIKANGA"],["004269","ZXJTRKC","中信建投睿康C","混合型","ZHONGXINJIANTOURUIKANGC"],["004276","PYAHHBDKHHA","浦银安和回报定开混合A","混合型","PUYINANHEHUIBAODINGKAIHUNHEA"],["004277","PYAHHBDKHHC","浦银安和回报定开混合C","混合型","PUYINANHEHUIBAODINGKAIHUNHEC"],["004279","GSABWRHHA","国寿安保稳荣混合A","混合型","GUOSHOUANBAOWENRONGHUNHEA"],["004280","GSABWRHHC","国寿安保稳荣混合C","混合型","GUOSHOUANBAOWENRONGHUNHEC"],["004281","HBXHBYNDKHH","华宝新回报一年定开混合","混合型","HUABAOXINHUIBAOYINIANDINGKAIHUNHE"],["004282","BSXRHB","博时兴荣货币","货币型","BOSHIXINGRONGHUOBI"],["004283","ZODAYNDKHH","中欧达安一年定开混合","混合型","ZHONGOUDAANYINIANDINGKAIHUNHE"],["004284","HBXYXDKHH","华宝新优选定开混合","混合型","HUABAOXINYOUXUANDINGKAIHUNHE"],["004285","HFTYHBA","华富天盈货币A","货币型","HUAFUTIANYINGHUOBIA"],["004286","HFTYHBB","华富天盈货币B","货币型","HUAFUTIANYINGHUOBIB"],["004287","GTRYAYDCLHH","国投瑞银安颐多策略混合","混合型","GUOTOURUIYINANYIDUOCELUEHUNHE"],["004289","BSXCFHHC","博时新财富混合C","混合型","BOSHIXINCAIFUHUNHEC"],["004292","PHHSGHLWGP","鹏华沪深港互联网股票","股票型","PENGHUAHUSHENGANGHULIANWANGGUPIAO"],["004295","ZOTSDKZQA","中欧天尚定开债券A","定开债券","ZHONGOUTIANSHANGDINGKAIZHAIQUANA"],["004296","ZOTSDKZQC","中欧天尚定开债券C","定开债券","ZHONGOUTIANSHANGDINGKAIZHAIQUANC"],["004297","CSSCLHPZHHA","长盛盛淳灵活配置混合A","混合型","CHANGSHENGSHENGCHUNLINGHUOPEIZHIHUNHEA"],["004298","CSSCLHPZHHC","长盛盛淳灵活配置混合C","混合型","CHANGSHENGSHENGCHUNLINGHUOPEIZHIHUNHEC"],["004299","CSSZHHA","长盛盛泽混合A","混合型","CHANGSHENGSHENGZEHUNHEA"],["004300","CSSZHHC","长盛盛泽混合C","混合型","CHANGSHENGSHENGZEHUNHEC"],["004301","GSABWXHHA","国寿安保稳信混合A","混合型","GUOSHOUANBAOWENXINHUNHEA"],["004302","GSABWXHHC","国寿安保稳信混合C","混合型","GUOSHOUANBAOWENXINHUNHEC"],["004303","CSSDLHPZHHA","长盛盛德灵活配置混合A","混合型","CHANGSHENGSHENGDELINGHUOPEIZHIHUNHEA"],["004304","CSSDLHPZHHC","长盛盛德灵活配置混合C","混合型","CHANGSHENGSHENGDELINGHUOPEIZHIHUNHEC"],["004305","CSSXLHPZHHA","长盛盛禧灵活配置混合A","混合型","CHANGSHENGSHENGXILINGHUOPEIZHIHUNHEA"],["004306","CSSXLHPZHHC","长盛盛禧灵活配置混合C","混合型","CHANGSHENGSHENGXILINGHUOPEIZHIHUNHEC"],["004307","BSFYCZZQ","博时富元纯债债券","债券型","BOSHIFUYUANCHUNZHAIZHAIQUAN"],["004308","CSSXLHPZHHA","长盛盛享灵活配置混合A","混合型","CHANGSHENGSHENGXIANGLINGHUOPEIZHIHUNHEA"],["004309","CSSXLHPZHHC","长盛盛享灵活配置混合C","混合型","CHANGSHENGSHENGXIANGLINGHUOPEIZHIHUNHEC"],["004310","CSSRLHPZHHA","长盛盛瑞灵活配置混合A","混合型","CHANGSHENGSHENGRUILINGHUOPEIZHIHUNHEA"],["004311","CSSRLHPZHHC","长盛盛瑞灵活配置混合C","混合型","CHANGSHENGSHENGRUILINGHUOPEIZHIHUNHEC"],["004312","CSSXHHA","长盛盛兴混合A","混合型","CHANGSHENGSHENGXINGHUNHEA"],["004313","CSSXHHC","长盛盛兴混合C","混合型","CHANGSHENGSHENGXINGHUNHEC"],["004314","QHKYHGSXYJA","前海开源沪港深新硬件A","混合型","QIANHAIKAIYUANHUGANGSHENXINYINGJIANA"],["004315","QHKYHGSXYJC","前海开源沪港深新硬件C","混合型","QIANHAIKAIYUANHUGANGSHENXINYINGJIANC"],["004316","QHKYHGSYXA","前海开源沪港深裕鑫A","混合型","QIANHAIKAIYUANHUGANGSHENYUXINA"],["004317","QHKYHGSYXC","前海开源沪港深裕鑫C","混合型","QIANHAIKAIYUANHUGANGSHENYUXINC"],["004318","GSABZYYHHBZQA","国寿安保尊裕优化回报债券A","债券型","GUOSHOUANBAOZUNYUYOUHUAHUIBAOZHAIQUANA"],["004319","GSABZYYHHBZQC","国寿安保尊裕优化回报债券C","债券型","GUOSHOUANBAOZUNYUYOUHUAHUIBAOZHAIQUANC"],["004320","QHKYHGSLXSH","前海开源沪港深乐享生活","混合型","QIANHAIKAIYUANHUGANGSHENLEXIANGSHENGHUO"],["004321","QHKYHGSQGCYHH","前海开源沪港深强国产业混合","混合型","QIANHAIKAIYUANHUGANGSHENQIANGGUOCHANYEHUNHE"],["004322","CJHXZLCZ","创金合信尊隆纯债","债券型","CHUANGJINHEXINZUNLONGCHUNZHAI"],["004323","BSFHCZ","博时富海纯债","债券型","BOSHIFUHAICHUNZHAI"],["004326","GLAXYHHA","国联安鑫怡混合A","混合型","GUOLIANANXINYIHUNHEA"],["004327","GLAXYHHC","国联安鑫怡混合C","混合型","GUOLIANANXINYIHUNHEC"],["004328","XCYXDKHHA","信诚永鑫定开混合A","混合型","XINCHENGYONGXINDINGKAIHUNHEA"],["004329","XCYXDKHHC","信诚永鑫定开混合C","混合型","XINCHENGYONGXINDINGKAIHUNHEC"],["004330","TPRRXHBA","太平日日鑫货币A","货币型","TAIPINGRIRIXINHUOBIA"],["004331","TPRRXHBB","太平日日鑫货币B","货币型","TAIPINGRIRIXINHUOBIB"],["004332","HSHGSXXCYJXHH","恒生沪港深新兴产业精选混合","混合型","HENGSHENGHUGANGSHENXINXINGCHANYEJINGXUANHUNHE"],["004333","JYYSZQXFQSE","金鹰元盛债券型发起式E","债券型","JINYINGYUANSHENGZHAIQUANXINGFAQISHIE"],["004334","BSGLCZ","博时广利纯债","债券型","BOSHIGUANGLICHUNZHAI"],["004335","HBXFYLHPZHH","华宝新飞跃灵活配置混合","混合型","HUABAOXINFEIYUELINGHUOPEIZHIHUNHE"],["004336","CSSQLHPZHHA","长盛盛乾灵活配置混合A","混合型","CHANGSHENGSHENGQIANLINGHUOPEIZHIHUNHEA"],["004337","CSSQLHPZHHC","长盛盛乾灵活配置混合C","混合型","CHANGSHENGSHENGQIANLINGHUOPEIZHIHUNHEC"],["004338","CSSHHHA","长盛盛弘混合A","混合型","CHANGSHENGSHENGHONGHUNHEA"],["004339","CSSHHHC","长盛盛弘混合C","混合型","CHANGSHENGSHENGHONGHUNHEC"],["004341","NYHLJDKJHH","农银汇理尖端科技混合","混合型","NONGYINHUILIJIANDUANKEJIHUNHE"],["004342","NFKYHS300ETFLJC","南方开元沪深300ETF联接C","联接基金","NANFANGKAIYUANHUSHEN300ETFLIANJIEC"],["004343","NFCYBETFLJC","南方创业板ETF联接C","联接基金","NANFANGCHUANGYEBANETFLIANJIEC"],["004344","NFDSJ100C","南方大数据100C","股票指数","NANFANGDASHUJU100C"],["004345","NFSZCFETFLJC","南方深证成份ETF联接C","联接基金","NANFANGSHENZHENGCHENGFENETFLIANJIEC"],["004346","NFXKETFLJC","南方小康ETF联接C","联接基金","NANFANGXIAOKANGETFLIANJIEC"],["004347","NFZZ500XXJSLJC","南方中证500信息技术联接C","联接基金","NANFANGZHONGZHENG500XINXIJISHULIANJIEC"],["004348","NFZZ500ETFLJC","南方中证500ETF联接C","联接基金","NANFANGZHONGZHENG500ETFLIANJIEC"],["004353","JSXTHDQHH","嘉实新添华定期混合","混合型","JIASHIXINTIANHUADINGQIHUNHE"],["004355","JSFHLHPZHH","嘉实丰和灵活配置混合","混合型","JIASHIFENGHELINGHUOPEIZHIHUNHE"],["004357","NFZHHH","南方智慧混合","混合型","NANFANGZHIHUIHUNHE"],["004358","HTBRGQGGHH","华泰柏瑞国企改革混合","混合型","HUATAIBAIRUIGUOQIGAIGEHUNHE"],["004359","CJHXLHHXHHA","创金合信量化核心混合A","混合型","CHUANGJINHEXINLIANGHUAHEXINHUNHEA"],["004360","CJHXLHHXHHC","创金合信量化核心混合C","混合型","CHUANGJINHEXINLIANGHUAHEXINHUNHEC"],["004361","STATHBA","上投安通回报A","混合型","SHANGTOUANTONGHUIBAOA"],["004362","STATHBC","上投安通回报C","混合型","SHANGTOUANTONGHUIBAOC"],["004363","DFZYCZZQA","东方臻悦纯债债券A","债券型","DONGFANGZHENYUECHUNZHAIZHAIQUANA"],["004364","DFZYCZZQC","东方臻悦纯债债券C","债券型","DONGFANGZHENYUECHUNZHAIZHAIQUANC"],["004366","BSHXCZZQA","博时汇享纯债债券A","债券型","BOSHIHUIXIANGCHUNZHAIZHAIQUANA"],["004367","BSHXCZZQC","博时汇享纯债债券C","债券型","BOSHIHUIXIANGCHUNZHAIZHAIQUANC"],["004368","QHKYJCBA","前海开源聚财宝A","货币型","QIANHAIKAIYUANJUCAIBAOA"],["004369","QHKYJCBB","前海开源聚财宝B","货币型","QIANHAIKAIYUANJUCAIBAOB"],["004372","JYZYHBA","金鹰增益货币A","货币型","JINYINGZENGYIHUOBIA"],["004373","JYZYHBB","金鹰增益货币B","货币型","JINYINGZENGYIHUOBIB"],["004374","HTBXJNFHHFQA","华泰保兴吉年丰混合发起A","混合型","HUATAIBAOXINGJINIANFENGHUNHEFAQIA"],["004375","HTBXJNFHHFQC","华泰保兴吉年丰混合发起C","混合型","HUATAIBAOXINGJINIANFENGHUNHEFAQIC"],["004378","XCYFDKHHA","信诚永丰定开混合A","混合型","XINCHENGYONGFENGDINGKAIHUNHEA"],["004379","XCYFDKHHC","信诚永丰定开混合C","混合型","XINCHENGYONGFENGDINGKAIHUNHEC"],["004380","XCYLYNDKHHA","信诚永利一年定开混合A","混合型","XINCHENGYONGLIYINIANDINGKAIHUNHEA"],["004381","XCYLYNDKHHC","信诚永利一年定开混合C","混合型","XINCHENGYONGLIYINIANDINGKAIHUNHEC"],["004383","PADHTYZQA","平安大华添益债券A","债券型","PINGANDAHUATIANYIZHAIQUANA"],["004384","PADHTYZQC","平安大华添益债券C","债券型","PINGANDAHUATIANYIZHAIQUANC"],["004385","ZJXALHPZHH","中金新安灵活配置混合","混合型","ZHONGJINXINANLINGHUOPEIZHIHUNHE"],["004386","GFHA18GYDKZA","广发汇安18个月定开债A","定开债券","GUANGFAHUIAN18GEYUEDINGKAIZHAIA"],["004387","GFHA18GYDKZC","广发汇安18个月定开债C","定开债券","GUANGFAHUIAN18GEYUEDINGKAIZHAIC"],["004388","PHFXZQ","鹏华丰享债券","债券型","PENGHUAFENGXIANGZHAIQUAN"],["004389","DCHMDKCZZQ","大成惠明定开纯债债券","定开债券","DACHENGHUIMINGDINGKAICHUNZHAIZHAIQUAN"],["004390","PADHZXCXHHA","平安大华转型创新混合A","混合型","PINGANDAHUAZHUANXINGCHUANGXINHUNHEA"],["004391","PADHZXCXHHC","平安大华转型创新混合C","混合型","PINGANDAHUAZHUANXINGCHUANGXINHUNHEC"],["004392","GYRLLNFBZQ","工银瑞利两年封闭债券","债券型","GONGYINRUILILIANGNIANFENGBIZHAIQUAN"],["004393","AXHZCXLHPZHH","安信合作创新灵活配置混合","混合型","ANXINHEZUOCHUANGXINLINGHUOPEIZHIHUNHE"],["004395","GFHTCZZQ","国富恒通纯债债券","债券型","GUOFUHENGTONGCHUNZHAIZHAIQUAN"],["004396","ZYWTYLHH","中银文体娱乐混合","混合型","ZHONGYINWENTIYULEHUNHE"],["004397","CSXXAQLHCLHH","长盛信息安全量化策略混合","混合型","CHANGSHENGXINXIANQUANLIANGHUACELUEHUNHE"],["004398","RTXJBHBB","融通现金宝货币B","货币型","RONGTONGXIANJINBAOHUOBIB"],["004399","RTHCBHBE","融通汇财宝货币E","货币型","RONGTONGHUICAIBAOHUOBIE"],["004400","JXMXZQA","金信民兴债券A","债券型","JINXINMINXINGZHAIQUANA"],["004401","JXMXZQC","金信民兴债券C","债券型","JINXINMINXINGZHAIQUANC"],["004403","PADHGXJXHGSA","平安大华股息精选沪港深A","股票型","PINGANDAHUAGUXIJINGXUANHUGANGSHENA"],["004404","PADHGXJXHGSC","平安大华股息精选沪港深C","股票型","PINGANDAHUAGUXIJINGXUANHUGANGSHENC"],["004407","ZSSZXF80ETFLJC","招商上证消费80ETF联接C","联接基金","ZHAOSHANGSHANGZHENGXIAOFEI80ETFLIANJIEC"],["004408","ZSSZ100ZSC","招商深证100指数C","股票指数","ZHAOSHANGSHENZHENG100ZHISHUC"],["004409","ZSSZTMT50ETFLJC","招商深证TMT50ETF联接C","联接基金","ZHAOSHANGSHENZHENGTMT50ETFLIANJIEC"],["004410","ZSYSCJ50ZSC","招商央视财经50指数C","股票指数","ZHAOSHANGYANGSHICAIJING50ZHISHUC"],["004411","SWLXZX6GYDQKFHH","申万菱信臻选6个月定期开放混合","混合型","SHENWANLINGXINZHENXUAN6GEYUEDINGQIKAIFANGHUNHE"],["004412","SWLXZXYNDK","申万菱信智选一年定开","混合型","SHENWANLINGXINZHIXUANYINIANDINGKAI"],["004413","JXMFHBHH","建信民丰回报混合","混合型","JIANXINMINFENGHUIBAOHUNHE"],["004414","TDHLJTBHBA","泰达宏利京天宝货币A","货币型","TAIDAHONGLIJINGTIANBAOHUOBIA"],["004415","TDHLJTBHBB","泰达宏利京天宝货币B","货币型","TAIDAHONGLIJINGTIANBAOHUOBIB"],["004419","HTFMYZZQRMBA","汇添富美元债债券人民币A","QDII","HUITIANFUMEIYUANZHAIZHAIQUANRENMINBIA"],["004420","HTFMYZZQRMBC","汇添富美元债债券人民币C","QDII","HUITIANFUMEIYUANZHAIZHAIQUANRENMINBIC"],["004421","HTFMYZZQMYXHA","汇添富美元债债券美元现汇A","QDII","HUITIANFUMEIYUANZHAIZHAIQUANMEIYUANXIANHUIA"],["004422","HTFMYZZQMYXHC","汇添富美元债债券美元现汇C","QDII","HUITIANFUMEIYUANZHAIZHAIQUANMEIYUANXIANHUIC"],["004425","DBRQZQA","德邦锐祺债券A","债券型","DEBANGRUIQIZHAIQUANA"],["004426","DBRQZQC","德邦锐祺债券C","债券型","DEBANGRUIQIZHAIQUANC"],["004434","BSNXTZHHA","博时逆向投资混合A","混合型","BOSHINIXIANGTOUZIHUNHEA"],["004435","BSNXTZHHC","博时逆向投资混合C","混合型","BOSHINIXIANGTOUZIHUNHEC"],["004436","TFNNTDKHHA","添富年年泰定开混合A","混合型","TIANFUNIANNIANTAIDINGKAIHUNHEA"],["004437","TFNNTDKHHC","添富年年泰定开混合C","混合型","TIANFUNIANNIANTAIDINGKAIHUNHEC"],["004438","PHYADQKFZQ","鹏华永安定期开放债券","定开债券","PENGHUAYONGANDINGQIKAIFANGZHAIQUAN"],["004441","FRFXCZ","富荣富兴纯债","债券型","FURONGFUXINGCHUNZHAI"],["004442","ZOKYHHA","中欧康裕混合A","混合型","ZHONGOUKANGYUHUNHEA"],["004445","PHFJZQ","鹏华丰嘉债券","债券型","PENGHUAFENGJIAZHAIQUAN"],["004448","BSHZHBLHPZHH","博时汇智回报灵活配置混合","混合型","BOSHIHUIZHIHUIBAOLINGHUOPEIZHIHUNHE"],["004449","SYHZLHB","上银慧增利货币","货币型","SHANGYINHUIZENGLIHUOBI"],["004451","HTFNNFDKHHA","汇添富年年丰定开混合A","混合型","HUITIANFUNIANNIANFENGDINGKAIHUNHEA"],["004452","HTFNNFDKHHC","汇添富年年丰定开混合C","混合型","HUITIANFUNIANNIANFENGDINGKAIHUNHEC"],["004453","QHKYYXA","前海开源盈鑫A","混合型","QIANHAIKAIYUANYINGXINA"],["004454","QHKYYXC","前海开源盈鑫C","混合型","QIANHAIKAIYUANYINGXINC"],["004455","ZOKYHHC","中欧康裕混合C","混合型","ZHONGOUKANGYUHUNHEC"],["004456","HFXFXQSLHPZ","华福消费新趋势灵活配置","混合型","HUAFUXIAOFEIXINQUSHILINGHUOPEIZHI"],["004458","BSHYCZZQ","博时华盈纯债债券","债券型","BOSHIHUAYINGCHUNZHAIZHAIQUAN"],["004459","XYRLZQ","鑫元瑞利债券","债券型","XINYUANRUILIZHAIQUAN"],["004463","PHFYZQ","鹏华丰玉债券","债券型","PENGHUAFENGYUZHAIQUAN"],["004464","WJJS9GYDKZA","万家玖盛9个月定开债A","定开债券","WANJIAJIUSHENG9GEYUEDINGKAIZHAIA"],["004465","WJJS9GYDKZC","万家玖盛9个月定开债C","定开债券","WANJIAJIUSHENG9GEYUEDINGKAIZHAIC"],["004466","CSSJYNQDKHH","长盛盛杰一年期定开混合","混合型","CHANGSHENGSHENGJIEYINIANQIDINGKAIHUNHE"],["004469","HTFXYDKZA","汇添富鑫益定开债A","定开债券","HUITIANFUXINYIDINGKAIZHAIA"],["004470","HTFXYDKZC","汇添富鑫益定开债C","定开债券","HUITIANFUXINYIDINGKAIZHAIC"],["004473","QHKYZXHBA","前海开源尊享货币A","货币型","QIANHAIKAIYUANZUNXIANGHUOBIA"],["004474","QHKYZXHBB","前海开源尊享货币B","货币型","QIANHAIKAIYUANZUNXIANGHUOBIB"],["004477","JSHGSHBHH","嘉实沪港深回报混合","混合型","JIASHIHUGANGSHENHUIBAOHUNHE"],["004480","HBZHCYHH","华宝智慧产业混合","混合型","HUABAOZHIHUICHANYEHUNHE"],["004486","JSWYZQ","嘉实稳怡债券","债券型","JIASHIWENYIZHAIQUAN"],["004488","JSFSZGA50ETFLJ","嘉实富时中国A50ETF联接","联接基金","JIASHIFUSHIZHONGGUOA50ETFLIANJIE"],["004492","XCZX","信诚至信","混合型","XINCHENGZHIXIN"],["004495","BSLHPHHH","博时量化平衡混合","混合型","BOSHILIANGHUAPINGHENGHUNHE"],["004496","QHKYDYCLHHA","前海开源多元策略混合A","混合型","QIANHAIKAIYUANDUOYUANCELUEHUNHEA"],["004497","QHKYDYCLHHC","前海开源多元策略混合C","混合型","QIANHAIKAIYUANDUOYUANCELUEHUNHEC"],["004498","PHFYZQ","鹏华丰源债券","债券型","PENGHUAFENGYUANZHAIQUAN"],["004499","PHFRZQ","鹏华丰瑞债券","债券型","PENGHUAFENGRUIZHAIQUAN"],["004501","JSXJTLHB","嘉实现金添利货币","货币型","JIASHIXIANJINTIANLIHUOBI"],["004503","PHYTDQKFZQ","鹏华永泰定期开放债券","定开债券","PENGHUAYONGTAIDINGQIKAIFANGZHAIQUAN"],["004505","BSXXXFZTHH","博时新兴消费主题混合","混合型","BOSHIXINXINGXIAOFEIZHUTIHUNHE"],["004514","PHXKJCMHH","鹏华新科技传媒混合","混合型","PENGHUAXINKEJICHUANMEIHUNHE"],["020001","GTJYZZLHPZ","国泰金鹰增长灵活配置","混合型","GUOTAIJINYINGZENGZHANGLINGHUOPEIZHI"],["020002","GTJLZQA","国泰金龙债券A","债券型","GUOTAIJINLONGZHAIQUANA"],["020003","GTJLHYJX","国泰金龙行业精选","混合型","GUOTAIJINLONGHANGYEJINGXUAN"],["020005","GTJMWJ","国泰金马稳健","混合型","GUOTAIJINMAWENJIAN"],["020007","GTHB","国泰货币","货币型","GUOTAIHUOBI"],["020009","GTJPLC","国泰金鹏蓝筹","混合型","GUOTAIJINPENGLANCHOU"],["020010","GTJNCXCZHH","国泰金牛创新成长混合","混合型","GUOTAIJINNIUCHUANGXINCHENGZHANGHUNHE"],["020011","GTHS300","国泰沪深300","股票指数","GUOTAIHUSHEN300"],["020012","GTJLZQC","国泰金龙债券C","债券型","GUOTAIJINLONGZHAIQUANC"],["020015","GTQWYSGP","国泰区位优势混合","混合型","GUOTAIQUWEIYOUSHIHUNHE"],["020018","GTJLBBHH","国泰金鹿保本混合","保本型","GUOTAIJINLUBAOBENHUNHE"],["020019","GTSLZQA","国泰双利债券A","债券型","GUOTAISHUANGLIZHAIQUANA"],["020020","GTSLZQC","国泰双利债券C","债券型","GUOTAISHUANGLIZHAIQUANC"],["020021","GTSZ180JRLJ","国泰上证180金融联接","联接基金","GUOTAISHANGZHENG180JINRONGLIANJIE"],["020022","GTBB","国泰保本","保本型","GUOTAIBAOBEN"],["020023","GTSJQDCLHH","国泰事件驱动策略混合","混合型","GUOTAISHIJIANQUDONGCELUEHUNHE"],["020026","GTCZYXHH","国泰成长优选混合","混合型","GUOTAICHENGZHANGYOUXUANHUNHE"],["020027","GTXYZQA","国泰信用债券A","债券型","GUOTAIXINYONGZHAIQUANA"],["020028","GTXYZQC","国泰信用债券C","债券型","GUOTAIXINYONGZHAIQUANC"],["020029","GTCLZQ","国泰创利债券","债券型","GUOTAICHUANGLIZHAIQUAN"],["020031","GTXJGLHBA","国泰现金管理货币A","货币型","GUOTAIXIANJINGUANLIHUOBIA"],["020032","GTXJGLHBB","国泰现金管理货币B","货币型","GUOTAIXIANJINGUANLIHUOBIB"],["020033","GTMAZLZQA","国泰民安增利债券A","债券型","GUOTAIMINANZENGLIZHAIQUANA"],["020034","GTMAZLZQC","国泰民安增利债券C","债券型","GUOTAIMINANZENGLIZHAIQUANC"],["020035","GTSZ5NQGZLJA","国泰上证5年期国债联接A","联接基金","GUOTAISHANGZHENG5NIANQIGUOZHAILIANJIEA"],["020036","GTSZ5NQGZLJC","国泰上证5年期国债联接C","联接基金","GUOTAISHANGZHENG5NIANQIGUOZHAILIANJIEC"],["020037","GTXJGLHBR","国泰现金管理货币R","货币型","GUOTAIXIANJINGUANLIHUOBIR"],["040001","HACX","华安创新","混合型","HUAANCHUANGXIN"],["040002","HAZGAGZQZS","华安中国A股增强指数","股票指数","HUAANZHONGGUOAGUZENGQIANGZHISHU"],["040003","HAXJFLHBA","华安现金富利货币A","货币型","HUAANXIANJINFULIHUOBIA"],["040004","HABLPZ","华安宝利配置","混合型","HUAANBAOLIPEIZHI"],["040005","HAHLHH","华安宏利混合","混合型","HUAANHONGLIHUNHE"],["040007","HAZXPCZHH","华安中小盘成长混合","混合型","HUAANZHONGXIAOPANCHENGZHANGHUNHE"],["040008","HACLYXHH","华安策略优选混合","混合型","HUAANCELUEYOUXUANHUNHE"],["040009","HAWDZQA","华安稳定债券A","债券型","HUAANWENDINGZHAIQUANA"],["040010","HAWDZQB","华安稳定债券B","债券型","HUAANWENDINGZHAIQUANB"],["040011","HAHXYXHH","华安核心优选混合","混合型","HUAANHEXINYOUXUANHUNHE"],["040012","HAQHZQA","华安强化债券A","债券型","HUAANQIANGHUAZHAIQUANA"],["040013","HAQHZQB","华安强化债券B","债券型","HUAANQIANGHUAZHAIQUANB"],["040015","HADTLHPZ","华安动态灵活配置","混合型","HUAANDONGTAILINGHUOPEIZHI"],["040016","HAHYLDHH","华安行业轮动混合","混合型","HUAANHANGYELUNDONGHUNHE"],["040018","HAXGJX","华安香港精选","QDII","HUAANXIANGGANGJINGXUAN"],["040019","HAWGSYZQC","华安稳固收益债券C","债券型","HUAANWENGUSHOUYIZHAIQUANC"],["040020","HASJZTHH","华安升级主题混合","混合型","HUAANSHENGJIZHUTIHUNHE"],["040021","HADZHSJ","华安大中华升级","QDII","HUAANDAZHONGHUASHENGJI"],["040022","HAKZZZQA","华安可转债债券A","债券型","HUAANKEZHUANZHAIZHAIQUANA"],["040023","HAKZZZQB","华安可转债债券B","债券型","HUAANKEZHUANZHAIZHAIQUANB"],["040025","HAKJDLHH","华安科技动力混合","混合型","HUAANKEJIDONGLIHUNHE"],["040026","HAXYSJHZQ","华安信用四季红债券","债券型","HUAANXINYONGSIJIHONGZHAIQUAN"],["040027","HAYYXDQLCZQA","华安月月鑫短期理财债券A","理财型","HUAANYUEYUEXINDUANQILICAIZHAIQUANA"],["040028","HAYYXDQLCZQA","华安月月鑫短期理财债券A","理财型","HUAANYUEYUEXINDUANQILICAIZHAIQUANA"],["040029","HAYYXDQLCZQB","华安月月鑫短期理财债券B","理财型","HUAANYUEYUEXINDUANQILICAIZHAIQUANB"],["040030","HAJJXDQLCZQA","华安季季鑫短期理财债券A","理财型","HUAANJIJIXINDUANQILICAIZHAIQUANA"],["040031","HAJJXDQLCZQB","华安季季鑫短期理财债券B","理财型","HUAANJIJIXINDUANQILICAIZHAIQUANB"],["040032","HAYAXDQLCZQA","华安月安鑫短期理财债券A","理财型","HUAANYUEANXINDUANQILICAIZHAIQUANA"],["040033","HAYAXDQLCZQA","华安月安鑫短期理财债券A","理财型","HUAANYUEANXINDUANQILICAIZHAIQUANA"],["040034","HAYAXDQLCZQB","华安月安鑫短期理财债券B","理财型","HUAANYUEANXINDUANQILICAIZHAIQUANB"],["040035","HANXCLHH","华安逆向策略混合","混合型","HUAANNIXIANGCELUEHUNHE"],["040036","HAAXSYZQA","华安安心收益债券A","债券型","HUAANANXINSHOUYIZHAIQUANA"],["040037","HAAXSYZQB","华安安心收益债券B","债券型","HUAANANXINSHOUYIZHAIQUANB"],["040038","HARRXHBA","华安日日鑫货币A","货币型","HUAANRIRIXINHUOBIA"],["040039","HARRXHBB","华安日日鑫货币B","货币型","HUAANRIRIXINHUOBIB"],["040040","HACZZQA","华安纯债债券A","债券型","HUAANCHUNZHAIZHAIQUANA"],["040041","HACZZQC","华安纯债债券C","债券型","HUAANCHUNZHAIZHAIQUANC"],["040045","HAXYZQZQ","华安信用增强债券","债券型","HUAANXINYONGZENGQIANGZHAIQUAN"],["040046","HANSDK100ZS","华安纳斯达克100指数","QDII-指数","HUAANNASIDAKE100ZHISHU"],["040047","HANSDK100ZSXC","华安纳斯达克100指数现钞","QDII-指数","HUAANNASIDAKE100ZHISHUXIANCHAO"],["040048","HANSDK100ZSXH","华安纳斯达克100指数现汇","QDII-指数","HUAANNASIDAKE100ZHISHUXIANHUI"],["040180","HASZ180LJ","华安上证180联接","联接基金","HUAANSHANGZHENG180LIANJIE"],["040190","HASZLTLJ","华安上证龙头联接","联接基金","HUAANSHANGZHENGLONGTOULIANJIE"],["041001","HACX","华安创新(后端)","混合型","HUAANCHUANGXIN"],["041002","HAZGAGZQZS","华安中国A股增强指数(后端)","股票指数","HUAANZHONGGUOAGUZENGQIANGZHISHU"],["041003","HAXJFLHBB","华安现金富利货币B","货币型","HUAANXIANJINFULIHUOBIB"],["041004","HABLPZ","华安宝利配置(后端)","混合型","HUAANBAOLIPEIZHI"],["041005","HAHLHH","华安宏利混合(后端)","混合型","HUAANHONGLIHUNHE"],["041007","HAZXPCZHH","华安中小盘成长混合(后端)","混合型","HUAANZHONGXIAOPANCHENGZHANGHUNHE"],["041008","HACLYXHH","华安策略优选混合(后端)","混合型","HUAANCELUEYOUXUANHUNHE"],["041009","HAWDZQA","华安稳定债券A(后端)","债券型","HUAANWENDINGZHAIQUANA"],["041011","HAHXYXHH","华安核心优选混合(后端)","混合型","HUAANHEXINYOUXUANHUNHE"],["050001","BSJZZZ","博时价值增长","混合型","BOSHIJIAZHIZENGZHANG"],["050002","BSHS300ZSA","博时沪深300指数A","股票指数","BOSHIHUSHEN300ZHISHUA"],["050003","BSXJSYHBA","博时现金收益货币A","货币型","BOSHIXIANJINSHOUYIHUOBIA"],["050004","BSJXHHA","博时精选混合A","混合型","BOSHIJINGXUANHUNHEA"],["050006","BSWDJZZQB","博时稳定价值债券B","债券型","BOSHIWENDINGJIAZHIZHAIQUANB"],["050007","BSPHPZ","博时平衡配置","混合型","BOSHIPINGHENGPEIZHI"],["050008","BSDSCYHH","博时第三产业混合","混合型","BOSHIDISANCHANYEHUNHE"],["050009","BSXXCZHH","博时新兴成长混合","混合型","BOSHIXINXINGCHENGZHANGHUNHE"],["050010","BSTXJZHHA","博时特许价值混合A","混合型","BOSHITEXUJIAZHIHUNHEA"],["050011","BSXYZQA/B","博时信用债券A/B","债券型","BOSHIXINYONGZHAIQUANAB"],["050012","BSCLPZ","博时策略配置","混合型","BOSHICELUEPEIZHI"],["050013","BSSZCDPLJ","博时上证超大盘联接","联接基金","BOSHISHANGZHENGCHAODAPANLIANJIE"],["050014","BSCYCZHHA","博时创业成长混合A","混合型","BOSHICHUANGYECHENGZHANGHUNHEA"],["050015","BSDZHYTJXGP","博时大中华亚太精选股票","QDII","BOSHIDAZHONGHUAYATAIJINGXUANGUPIAO"],["050016","BSHGZQA/B","博时宏观债券A/B","债券型","BOSHIHONGGUANZHAIQUANA/B"],["050018","BSHYLDHH","博时行业轮动混合","混合型","BOSHIHANGYELUNDONGHUNHE"],["050019","BSZZZQZQA","博时转债增强债券A","债券型","BOSHIZHUANZHAIZENGQIANGZHAIQUANA"],["050020","BSKTZZQ","博时抗通胀增强","QDII","BOSHIKANGTONGZHANGZENGQIANG"],["050021","BSSZ200LJ","博时深证200联接","联接基金","BOSHISHENZHENG200LIANJIE"],["050022","BSHBLHPZ","博时回报灵活配置","混合型","BOSHIHUIBAOLINGHUOPEIZHI"],["050023","BSTYZQA","博时天颐债券A","债券型","BOSHITIANYIZHAIQUANA"],["050024","BSSZZRZYLJ","博时上证自然资源联接","联接基金","BOSHISHANGZHENGZIRANZIYUANLIANJIE"],["050025","BSBP500ETFLJ","博时标普500ETF联接","QDII-指数","BOSHIBIAOPU500ETFLIANJIE"],["050026","BSYLBJHYHHA","博时医疗保健行业混合A","混合型","BOSHIYILIAOBAOJIANHANGYEHUNHEA"],["050027","BSXYZCZZQA","博时信用债纯债债券A","债券型","BOSHIXINYONGZHAICHUNZHAIZHAIQUANA"],["050028","BSAXSYDQZQA","博时安心收益定期债券A","定开债券","BOSHIANXINSHOUYIDINGQIZHAIQUANA"],["050029","BSXJYHHA","博时新机遇混合A","混合型","BOSHIXINJIYUHUNHEA"],["050030","BSYZPXSYZQ","博时亚洲票息收益债券","QDII","BOSHIYAZHOUPIAOXISHOUYIZHAIQUAN"],["050106","BSWDJZZQA","博时稳定价值债券A","债券型","BOSHIWENDINGJIAZHIZHAIQUANA"],["050111","BSXYZQC","博时信用债券C","债券型","BOSHIXINYONGZHAIQUANC"],["050116","BSHGZQC","博时宏观债券C","债券型","BOSHIHONGGUANZHAIQUANC"],["050119","BSZZZQZQC","博时转债增强债券C","债券型","BOSHIZHUANZHAIZENGQIANGZHAIQUANC"],["050123","BSTYZQC","博时天颐债券C","债券型","BOSHITIANYIZHAIQUANC"],["050128","BSAXSYDQZQC","博时安心收益定期债券C","定开债券","BOSHIANXINSHOUYIDINGQIZHAIQUANC"],["050201","BSJZZZEH","博时价值增长二号","混合型","BOSHIJIAZHIZENGZHANGERHAO"],["050202","BSYZPXSYZQXH","博时亚洲票息收益债券现汇","QDII","BOSHIYAZHOUPIAOXISHOUYIZHAIQUANXIANHUI"],["050203","BSYZPXSYZQXC","博时亚洲票息收益债券现钞","QDII","BOSHIYAZHOUPIAOXISHOUYIZHAIQUANXIANCHAO"],["051001","BSJZZZ","博时价值增长(后端)","混合型","BOSHIJIAZHIZENGZHANG"],["051010","BSTXJZHHA","博时特许价值混合A(后端)","混合型","BOSHITEXUJIAZHIHUNHEA"],["051011","BSXYZQA/B","博时信用债券A/B(后端)","债券型","BOSHIXINYONGZHAIQUANAB"],["051014","BSCYCZHHA","博时创业成长混合A(后端)","混合型","BOSHICHUANGYECHENGZHANGHUNHEA"],["051016","BSHGZQA/B","博时宏观债券A/B(后端)","债券型","BOSHIHONGGUANZHAIQUANA/B"],["051106","BSWDJZZQA","博时稳定价值债券A(后端)","债券型","BOSHIWENDINGJIAZHIZHAIQUANA"],["051201","BSJZZZEH","博时价值增长二号(后端)","混合型","BOSHIJIAZHIZENGZHANGERHAO"],["070001","JSCZSYHHA","嘉实成长收益混合A","混合型","JIASHICHENGZHANGSHOUYIHUNHEA"],["070002","JSZZ","嘉实增长","混合型","JIASHIZENGZHANG"],["070003","JSWJ","嘉实稳健","混合型","JIASHIWENJIAN"],["070005","JSZQ","嘉实债券","债券型","JIASHIZHAIQUAN"],["070006","JSFWZZHY","嘉实服务增值行业","混合型","JIASHIFUWUZENGZHIHANGYE"],["070008","JSHBA","嘉实货币A","货币型","JIASHIHUOBIA"],["070009","JSCDZZQ","嘉实超短债债券","债券型","JIASHICHAODUANZHAIZHAIQUAN"],["070010","JSZTJX","嘉实主题精选","混合型","JIASHIZHUTIJINGXUAN"],["070011","JSCLZZ","嘉实策略增长","混合型","JIASHICELUEZENGZHANG"],["070012","JSHWZGGPHH","嘉实海外中国股票混合","QDII","JIASHIHAIWAIZHONGGUOGUPIAOHUNHE"],["070013","JSYJJXHHA","嘉实研究精选混合A","混合型","JIASHIYANJIUJINGXUANHUNHEA"],["070015","JSDYZQA","嘉实多元债券A","债券型","JIASHIDUOYUANZHAIQUANA"],["070016","JSDYZQB","嘉实多元债券B","债券型","JIASHIDUOYUANZHAIQUANB"],["070017","JSLHAEFHH","嘉实量化阿尔法混合","混合型","JIASHILIANGHUAAERFAHUNHE"],["070018","JSHB","嘉实回报","混合型","JIASHIHUIBAO"],["070019","JSJZYSHH","嘉实价值优势混合","混合型","JIASHIJIAZHIYOUSHIHUNHE"],["070020","JSWGZQ","嘉实稳固债券","债券型","JIASHIWENGUZHAIQUAN"],["070021","JSZTXDLHH","嘉实主题新动力混合","混合型","JIASHIZHUTIXINDONGLIHUNHE"],["070022","JSLXCZHH","嘉实领先成长混合","混合型","JIASHILINGXIANCHENGZHANGHUNHE"],["070023","JSSZ120LJ","嘉实深证120联接","联接基金","JIASHISHENZHENG120LIANJIE"],["070025","JSXYZQA","嘉实信用债券A","债券型","JIASHIXINYONGZHAIQUANA"],["070026","JSXYZQC","嘉实信用债券C","债券型","JIASHIXINYONGZHAIQUANC"],["070027","JSZQYXHH","嘉实周期优选混合","混合型","JIASHIZHOUQIYOUXUANHUNHE"],["070028","JSAXHBSCA","嘉实安心货币市场A","货币型","JIASHIANXINHUOBISHICHANGA"],["070029","JSAXHBSCB","嘉实安心货币市场B","货币型","JIASHIANXINHUOBISHICHANGB"],["070030","JSZC400LJ","嘉实中创400联接","联接基金","JIASHIZHONGCHUANG400LIANJIE"],["070031","JSQQFDC","嘉实全球房地产","QDII","JIASHIQUANQIUFANGDECHAN"],["070032","JSYHHLHH","嘉实优化红利混合","混合型","JIASHIYOUHUAHONGLIHUNHE"],["070033","JSZQSYDQZQA","嘉实增强收益定期债券A","定开债券","JIASHIZENGQIANGSHOUYIDINGQIZHAIQUANA"],["070035","JSLCB7TZQA","嘉实理财宝7天债券A","理财型","JIASHILICAIBAO7TIANZHAIQUANA"],["070036","JSLCB7TZQB","嘉实理财宝7天债券B","理财型","JIASHILICAIBAO7TIANZHAIQUANB"],["070037","JSCZZQA","嘉实纯债债券A","债券型","JIASHICHUNZHAIZHAIQUANA"],["070038","JSCZZQC","嘉实纯债债券C","债券型","JIASHICHUNZHAIZHAIQUANC"],["070088","JSHBB","嘉实货币B","货币型","JIASHIHUOBIB"],["070099","JSYZQYHH","嘉实优质企业混合","混合型","JIASHIYOUZHIQIYEHUNHE"],["080001","CSCZJZ","长盛成长价值","混合型","CHANGSHENGCHENGZHANGJIAZHI"],["080002","CSCXXF","长盛创新先锋","混合型","CHANGSHENGCHUANGXINXIANFENG"],["080003","CSJJPZZQ","长盛积极配置债券","债券型","CHANGSHENGJIJIPEIZHIZHAIQUAN"],["080005","CSLHHLHH","长盛量化红利混合","混合型","CHANGSHENGLIANGHUAHONGLIHUNHE"],["080006","CSHQHYHHQDII","长盛环球行业混合(QDII)","QDII","CHANGSHENGHUANQIUHANGYEHUNHEQDII"],["080007","CSTXHYPZHH","长盛同鑫行业配置混合","混合型","CHANGSHENGTONGXINHANGYEPEIZHIHUNHE"],["080008","CSZLXXCYHHA","长盛战略新兴产业混合A","混合型","CHANGSHENGZHANLUEXINXINGCHANYEHUNHEA"],["080009","CSTXZQA","长盛同禧债券A","债券型","CHANGSHENGTONGXIZHAIQUANA"],["080010","CSTXZQC","长盛同禧债券C","债券型","CHANGSHENGTONGXIZHAIQUANC"],["080011","CSHB","长盛货币","货币型","CHANGSHENGHUOBI"],["080012","CSDZXXCYHH","长盛电子信息产业混合","混合型","CHANGSHENGDIANZIXINXICHANYEHUNHE"],["080015","CSZXPJXHH","长盛中小盘精选混合","混合型","CHANGSHENGZHONGXIAOPANJINGXUANHUNHE"],["090001","DCJZZZ","大成价值增长","混合型","DACHENGJIAZHIZENGZHANG"],["090002","DCZQA/B","大成债券A/B","债券型","DACHENGZHAIQUANAB"],["090003","DCLCWJ","大成蓝筹稳健","混合型","DACHENGLANCHOUWENJIAN"],["090004","DCJXZZ","大成精选增值","混合型","DACHENGJINGXUANZENGZHI"],["090005","DCHBA","大成货币A","货币型","DACHENGHUOBIA"],["090006","DC2020SMZQ","大成2020生命周期","混合型","DACHENG2020SHENGMINGZHOUQI"],["090007","DCCLHBHH","大成策略回报混合","混合型","DACHENGCELUEHUIBAOHUNHE"],["090008","DCQHSYDQKFZQ","大成强化收益定期开放债券","定开债券","DACHENGQIANGHUASHOUYIDINGKAIZHAI"],["090009","DCHYLDHH","大成行业轮动混合","混合型","DACHENGHANGYELUNDONGHUNHE"],["090010","DCZZHLZS","大成中证红利指数","股票指数","DACHENGZHONGZHENGHONGLIZHISHU"],["090011","DCHXSDLHH","大成核心双动力混合","混合型","DACHENGHEXINSHUANGDONGLIHUNHE"],["090012","DCSZCZ40LJ","大成深证成长40联接","联接基金","DACHENGSHENZHENGCHENGZHANG40LIANJIE"],["090013","DCJZYSHH","大成竞争优势混合","混合型","DACHENGJINGZHENGYOUSHIHUNHE"],["090015","DCNXZZHH","大成内需增长混合","混合型","DACHENGNEIXUZENGZHANGHUNHE"],["090016","DCXFZTHH","大成消费主题混合","混合型","DACHENGXIAOFEIZHUTIHUNHE"],["090017","DCKZZZQZQ","大成可转债增强债券","债券型","DACHENGKEZHUANZHAIZENGQIANGZHAIQUAN"],["090018","DCXRCYHH","大成新锐产业混合","混合型","DACHENGXINRUICHANYEHUNHE"],["090019","DCJHBBHH","大成景恒保本混合","保本型","DACHENGJINGHENGBAOBENHUNHE"],["090020","DCJKCYHH","大成健康产业混合","混合型","DACHENGJIANKANGCHANYEHUNHE"],["090021","DCYTLZQA","大成月添利债券A","理财型","DACHENGYUETIANLIZHAIQUANA"],["090022","DCXJZLHBA","大成现金增利货币A","货币型","DACHENGXIANJINZENGLIHUOBIA"],["090023","DCYYYDQLCZQA","大成月月盈短期理财债券A","理财型","DACHENGYUEYUEYINGDUANQILICAIZHAIQUANA"],["091001","DCJZZZ","大成价值增长(后端)","混合型","DACHENGJIAZHIZENGZHANG"],["091002","DCZQA/B","大成债券A/B(后端)","债券型","DACHENGZHAIQUANAB"],["091003","DCLCWJ","大成蓝筹稳健(后端)","混合型","DACHENGLANCHOUWENJIAN"],["091005","DCHBB","大成货币B","货币型","DACHENGHUOBIB"],["091006","DC2020SMZQ","大成2020生命周期(后端)","混合型","DACHENG2020SHENGMINGZHOUQI"],["091008","DCQHSYDQKFZQ","大成强化收益定期开放债券(后端)","定开债券","DACHENGQIANGHUASHOUYIDINGKAIZHAI"],["091021","DCYTLZQB","大成月添利债券B","理财型","DACHENGYUETIANLIZHAIQUANB"],["091022","DCXJZLHBB","大成现金增利货币B","货币型","DACHENGXIANJINZENGLIHUOBIB"],["091023","DCYYYDQLCZQB","大成月月盈短期理财债券B","理财型","DACHENGYUEYUEYINGDUANQILICAIZHAIQUANB"],["092002","DCZQC","大成债券C","债券型","DACHENGZHAIQUANC"],["096001","DCBP500","大成标普500","QDII-指数","DACHENGBIAOPU500"],["100016","FGTYHGSPHHH","富国天源沪港深平衡混合","混合型","FUGUOTIANYUANHUGANGSHENPINGHENGHUNHE"],["100017","FGTYHGSPHHH","富国天源沪港深平衡混合(后端)","混合型","FUGUOTIANYUANHUGANGSHENPINGHENGHUNHE"],["100018","FGTLZZZQ","富国天利增长债券","债券型","FUGUOTIANLIZENGZHANGZHAIQUAN"],["100019","FGTLZZZQ","富国天利增长债券(后端)","债券型","FUGUOTIANLIZENGZHANGZHAIQUAN"],["100020","FGTYJZHH","富国天益价值混合","混合型","FUGUOTIANYIJIAZHIHUNHE"],["100021","FGTYJZHH","富国天益价值混合(后端)","混合型","FUGUOTIANYIJIAZHIHUNHE"],["100022","FGTRQS","富国天瑞强势","混合型","FUGUOTIANRUIQIANGSHI"],["100023","FGTRQS","富国天瑞强势(后端)","混合型","FUGUOTIANRUIQIANGSHI"],["100025","FGTSHBA","富国天时货币A","货币型","FUGUOTIANSHIHUOBIA"],["100026","FGTHWJYXHH","富国天合稳健优选混合","混合型","FUGUOTIANHEWENJIANYOUXUANHUNHE"],["100027","FGTHWJYXHH","富国天合稳健优选混合(后端)","混合型","FUGUOTIANHEWENJIANYOUXUANHUNHE"],["100028","FGTSHBB","富国天时货币B","货币型","FUGUOTIANSHIHUOBIB"],["100029","FGTCHL","富国天成红利","混合型","FUGUOTIANCHENGHONGLI"],["100030","FGTCHL","富国天成红利(后端)","混合型","FUGUOTIANCHENGHONGLI"],["100032","FGZZHLZSZQ","富国中证红利指数增强","股票指数","FUGUOZHONGZHENGHONGLIZHISHUZENGQIANG"],["100033","FGZZHLZSZQ","富国中证红利指数增强(后端)","股票指数","FUGUOZHONGZHENGHONGLIZHISHUZENGQIANG"],["100035","FGYHQZA/B","富国优化强债A/B","债券型","FUGUOYOUHUAQIANGZHAIA/B"],["100036","FGYHQZA/B","富国优化强债A/B(后端)","债券型","FUGUOYOUHUAQIANGZHAIA/B"],["100037","FGYHZQZQC","富国优化增强债券C","债券型","FUGUOYOUHUAZENGQIANGZHAIQUANC"],["100038","FGLHHS300","富国量化沪深300","股票指数","FUGUOLIANGHUAHUSHEN300"],["100039","FGTZTSZTLDHH","富国通胀通缩主题轮动混合","混合型","FUGUOTONGZHANGTONGSUOZHUTILUNDONGHUNHE"],["100050","FGQQZQ","富国全球债券","QDII","FUGUOQUANQIUZHAIQUAN"],["100051","FGKZHZQ","富国可转换债券","债券型","FUGUOKEZHUANHUANZHAIQUAN"],["100052","FGKZHZQ","富国可转换债券(后端)","债券型","FUGUOKEZHUANHUANZHAIQUAN"],["100053","FGSZZZLJ","富国上证综指联接","联接基金","FUGUOSHANGZHENGZENGZHILIANJIE"],["100055","FGQQDJXFPHH","富国全球顶级消费品混合","QDII","FUGUOQUANQIUDINGJIXIAOFEIPINHUNHE"],["100056","FGDTHBHH","富国低碳环保混合","混合型","FUGUODITANHUANBAOHUNHE"],["100058","FGCYZZQ","富国产业债债券","债券型","FUGUOCHANYEZHAIZHAIQUAN"],["100059","FGCYZZQ","富国产业债债券(后端)","债券型","FUGUOCHANYEZHAIZHAIQUAN"],["100060","FGGXJSCYHH","富国高新技术产业混合","混合型","FUGUOGAOXINJISHUCHANYEHUNHE"],["100061","FGZGZXPHH","富国中国中小盘混合","QDII","FUGUOZHONGGUOZHONGXIAOPANHUNHE"],["100066","FGCZA","富国纯债A","债券型","FUGUOCHUNZHAIA"],["100067","FGCZA","富国纯债A(后端)","债券型","FUGUOCHUNZHAIA"],["100068","FGCZC","富国纯债C","债券型","FUGUOCHUNZHAIC"],["100072","FGQHBABJ","富国强回报A/B级","定开债券","FUGUOQIANGHUIBAOA/BJI"],["100073","FGQHBCJ","富国强回报C级","定开债券","FUGUOQIANGHUIBAOCJI"],["110001","YFDPWZZ","易方达平稳增长","混合型","YIFANGDAPINGWENZENGZHANG"],["110002","YFDCLCZ","易方达策略成长","混合型","YIFANGDACELUECHENGZHANG"],["110003","YFDSZ50","易方达上证50","股票指数","YIFANGDASHANGZHENG50"],["110005","YFDJJCZ","易方达积极成长","混合型","YIFANGDAJIJICHENGZHANG"],["110006","YFDHBA","易方达货币A","货币型","YIFANGDAHUOBIA"],["110007","YFDWJSYZQA","易方达稳健收益债券A","债券型","YIFANGDAWENJIANSHOUYIZHAIQUANA"],["110008","YFDWJSYZQB","易方达稳健收益债券B","债券型","YIFANGDAWENJIANSHOUYIZHAIQUANB"],["110009","YFDJZJXHH","易方达价值精选混合","混合型","YIFANGDAJIAZHIJINGXUANHUNHE"],["110010","YFDJZCZHHA","易方达价值成长混合A","混合型","YIFANGDAJIAZHICHENGZHANGHUNHEA"],["110011","YFDZXPHH","易方达中小盘混合","混合型","YIFANGDAZHONGXIAOPANHUNHE"],["110012","YFDKHLHPZ","易方达科汇灵活配置","混合型","YIFANGDAKEHUILINGHUOPEIZHI"],["110013","YFDKXHH","易方达科翔混合","混合型","YIFANGDAKEXIANGHUNHE"],["110015","YFDHYLXHH","易方达行业领先混合","混合型","YIFANGDAHANGYELINGXIANHUNHE"],["110016","YFDHBB","易方达货币B","货币型","YIFANGDAHUOBIB"],["110017","YFDZQZQA","易方达增强债券A","债券型","YIFANGDAZENGQIANGZHAIQUANA"],["110018","YFDZQZQB","易方达增强债券B","债券型","YIFANGDAZENGQIANGZHAIQUANB"],["110019","YFDSZ100LJ","易方达深证100联接","联接基金","YIFANGDASHENZHENG100LIANJIE"],["110020","YFDHS300ETFLJ","易方达沪深300ETF联接","联接基金","YIFANGDAHUSHEN300ETFLIANJIE"],["110021","YFDSZZPLJ","易方达上证中盘联接","联接基金","YIFANGDASHANGZHENGZHONGPANLIANJIE"],["110022","YFDXFHY","易方达消费行业","股票型","YIFANGDAXIAOFEIHANGYE"],["110023","YFDYLBJHYHH","易方达医疗保健行业混合","混合型","YIFANGDAYILIAOBAOJIANHANGYEHUNHE"],["110025","YFDZYHYHH","易方达资源行业混合","混合型","YIFANGDAZIYUANHANGYEHUNHE"],["110026","YFDCYBLJ","易方达创业板联接","联接基金","YIFANGDACHUANGYEBANLIANJIE"],["110027","YFDAXZQA","易方达安心债券A","债券型","YIFANGDAANXINZHAIQUANA"],["110028","YFDAXZQB","易方达安心债券B","债券型","YIFANGDAANXINZHAIQUANB"],["110029","YFDKXHH","易方达科讯混合","混合型","YIFANGDAKEXUNHUNHE"],["110030","YFDHS300LHZQ","易方达沪深300量化增强","股票指数","YIFANGDAHUSHEN300LIANGHUAZENGQIANG"],["110031","YFDHSETFLJ","易方达恒生ETF联接","QDII-指数","YIFANGDAHENGSHENGETFLIANJIE"],["110032","YFDHSLJXH","易方达恒生联接现汇","QDII-指数","YIFANGDAHENGSHENGLIANJIEXIANHUI"],["110033","YFDHSLJXC","易方达恒生联接现钞","QDII-指数","YIFANGDAHENGSHENGLIANJIEXIANCHAO"],["110035","YFDSZQZA","易方达双债强债A","债券型","YIFANGDASHUANGZHAIQIANGZHAIA"],["110036","YFDSZQZC","易方达双债强债C","债券型","YIFANGDASHUANGZHAIQIANGZHAIC"],["110037","YFDCZZQA","易方达纯债债券A","债券型","YIFANGDACHUNZHAIZHAIQUANA"],["110038","YFDCZZQC","易方达纯债债券C","债券型","YIFANGDACHUNZHAIZHAIQUANC"],["110050","YFDYYLLCZQA","易方达月月利理财债券A","理财型","YIFANGDAYUEYUELILICAIZHAIQUANA"],["110051","YFDYYLLCZQB","易方达月月利理财债券B","理财型","YIFANGDAYUEYUELILICAIZHAIQUANB"],["110052","YFDSYLLCZQA","易方达双月利理财债券A","理财型","YIFANGDASHUANGYUELILICAIZHAIQUANA"],["110053","YFDSYLLCZQB","易方达双月利理财债券B","理财型","YIFANGDASHUANGYUELILICAIZHAIQUANB"],["112002","YFDCLCZEH","易方达策略成长二号","混合型","YIFANGDACELUECHENGZHANGERHAO"],["118001","YFDYZJX","易方达亚洲精选","QDII","YIFANGDAYAZHOUJINGXUAN"],["118002","YFDBPXFPZS","易方达标普消费品指数","QDII-指数","YIFANGDABIAOPUXIAOFEIPINZHISHU"],["121001","GTRYRHZQ","国投瑞银融华债券","混合型","GUOTOURUIYINRONGHUAZHAIQUAN"],["121002","GTRYJQHYHH","国投瑞银景气行业混合","混合型","GUOTOURUIYINJINGQIHANGYEHUNHE"],["121003","GTRYHXQYHH","国投瑞银核心企业混合","混合型","GUOTOURUIYINHEXINQIYEHUNHE"],["121005","GTRYCXDLHH","国投瑞银创新动力混合","混合型","GUOTOURUIYINCHUANGXINDONGLIHUNHE"],["121006","GTRYWJZZ","国投瑞银稳健增长","混合型","GUOTOURUIYINWENJIANZENGZHANG"],["121008","GTRYCZYXHH","国投瑞银成长优选混合","混合型","GUOTOURUIYINCHENGZHANGYOUXUANHUNHE"],["121009","GTRYWDZLZQA","国投瑞银稳定增利债券A","债券型","GUOTOURUIYINWENDINGZENGLIZHAIQUANA"],["121010","GTRYRYBB","国投瑞银瑞源保本","保本型","GUOTOURUIYINRUIYUANBAOBEN"],["121011","GTRYHBA","国投瑞银货币A","货币型","GUOTOURUIYINHUOBIA"],["121012","GTRYYHQZA/B","国投瑞银优化强债A/B","债券型","GUOTOURUIYINYOUHUAQIANGZHAIA/B"],["121013","GTRYCZA","国投瑞银纯债A","债券型","GUOTOURUIYINCHUNZHAIA"],["128001","GTRYRHZQ","国投瑞银融华债券(后端)","混合型","GUOTOURUIYINRONGHUAZHAIQUAN"],["128002","GTRYJQHYHH","国投瑞银景气行业混合(后端)","混合型","GUOTOURUIYINJINGQIHANGYEHUNHE"],["128005","GTRYCXDLHH","国投瑞银创新动力混合(后端)","混合型","GUOTOURUIYINCHUANGXINDONGLIHUNHE"],["128006","GTRYWJZZ","国投瑞银稳健增长(后端)","混合型","GUOTOURUIYINWENJIANZENGZHANG"],["128008","GTRYCZYXHH","国投瑞银成长优选混合(后端)","混合型","GUOTOURUIYINCHENGZHANGYOUXUANHUNHE"],["128011","GTRYHBB","国投瑞银货币B","货币型","GUOTOURUIYINHUOBIB"],["128012","GTRYYHQZA/B","国投瑞银优化强债A/B(后端)","债券型","GUOTOURUIYINYOUHUAQIANGZHAIA/B"],["128013","GTRYCZB","国投瑞银纯债B","债券型","GUOTOURUIYINCHUNZHAIB"],["128112","GTRYYHQZC","国投瑞银优化强债C","债券型","GUOTOURUIYINYOUHUAQIANGZHAIC"],["150005","YHYFHBA","银河银富货币A","货币型","YINHEYINFUHUOBIA"],["150008","GTRYRHXK","国投瑞银瑞和小康","固定收益","GUOTOURUIYINRUIHEXIAOKANG"],["150009","GTRYRHYJ","国投瑞银瑞和远见","分级杠杆","GUOTOURUIYINRUIHEYUANJIAN"],["150012","GLASXZZ100A","国联安双禧中证100A","固定收益","GUOLIANANSHUANGXIZHONGZHENG100A"],["150013","GLASXZZ100B","国联安双禧中证100B","分级杠杆","GUOLIANANSHUANGXIZHONGZHENG100B"],["150015","YHYFHBB","银河银富货币B","货币型","YINHEYINFUHUOBIB"],["150016","XQHRFJHHA","兴全合润分级混合A","固定收益","XINGQUANHERUNFENJIHUNHEA"],["150017","XQHRFJHHB","兴全合润分级混合B","分级杠杆","XINGQUANHERUNFENJIHUNHEB"],["150018","YHWJ","银华稳进","固定收益","YINHUAWENJIN"],["150019","YHRJ","银华锐进","分级杠杆","YINHUARUIJIN"],["150020","FGHLHBFJZQA","富国汇利回报分级债券A","固定收益","FUGUOHUILIHUIBAOFENJIZHAIQUANA"],["150021","FGHLHBFJZQB","富国汇利回报分级债券B","分级杠杆","FUGUOHUILIHUIBAOFENJIZHAIQUANB"],["150022","SWLXSZCZFJSY","申万菱信深证成指分级收益","固定收益","SHENWANLINGXINSHENZHENGCHENGZHIFENJISHOUYI"],["150023","SWLXSZCZFJJQ","申万菱信深证成指分级进取","分级杠杆","SHENWANLINGXINSHENZHENGCHENGZHIFENJIJINQU"],["150028","XCZZ500A","信诚中证500A","固定收益","XINCHENGZHONGZHENG500A"],["150029","XCZZ500B","信诚中证500B","分级杠杆","XINCHENGZHONGZHENG500B"],["150030","YHZZDQ90JL","银华中证等权90金利","固定收益","YINHUAZHONGZHENGDENGQUAN90JINLI"],["150031","YHZZDQ90XL","银华中证等权90鑫利","分级杠杆","YINHUAZHONGZHENGDENGQUAN90XINLI"],["150032","JSDLYX","嘉实多利优先","固定收益","JIASHIDUOLIYOUXIAN"],["150033","JSDLJQ","嘉实多利进取","分级杠杆","JIASHIDUOLIJINQU"],["150036","JXWJ","建信稳健","固定收益","JIANXINWENJIAN"],["150037","JXJQ","建信进取","分级杠杆","JIANXINJINQU"],["150039","ZODLFJZQA","中欧鼎利分级债券A","固定收益","ZHONGOUDINGLIFENJIZHAIQUANA"],["150040","ZODLFJZQB","中欧鼎利分级债券B","分级杠杆","ZHONGOUDINGLIFENJIZHAIQUANB"],["150047","YHXFA","银华消费A","固定收益","YINHUAXIAOFEIA"],["150048","YHXFB","银华消费B","分级杠杆","YINHUAXIAOFEIB"],["150049","NFXFSY","南方消费收益","固定收益","NANFANGXIAOFEISHOUYI"],["150050","NFXFJQ","南方消费进取","分级杠杆","NANFANGXIAOFEIJINQU"],["150051","XCHS300FJA","信诚沪深300分级A","固定收益","XINCHENGHUSHEN300FENJIA"],["150052","XCHS300FJB","信诚沪深300分级B","分级杠杆","XINCHENGHUSHEN300FENJIB"],["150053","TDZZ500WJ","泰达中证500稳健","固定收益","TAIDAZHONGZHENG500WENJIAN"],["150054","TDZZ500JQ","泰达中证500进取","分级杠杆","TAIDAZHONGZHENG500JINQU"],["150055","GYZZ500FJA","工银中证500分级A","固定收益","GONGYINZHONGZHENG500FENJIA"],["150056","GYZZ500FJB","工银中证500分级B","分级杠杆","GONGYINZHONGZHENG500FENJIB"],["150057","CCJZZXBWJ","长城久兆中小板稳健","固定收益","CHANGCHENGJIUZHAOZHONGXIAOBANWENJIAN"],["150058","CCJZZXBJJ","长城久兆中小板积极","分级杠杆","CHANGCHENGJIUZHAOZHONGXIAOBANJIJI"],["150059","YHJR","银华金瑞","固定收益","YINHUAJINRUI"],["150060","YHXR","银华鑫瑞","分级杠杆","YINHUAXINRUI"],["150064","CSTR200FJA","长盛同瑞200分级A","固定收益","CHANGSHENGTONGRUI200FENJIA"],["150065","CSTR200FJB","长盛同瑞200分级B","分级杠杆","CHANGSHENGTONGRUI200FENJIB"],["150066","GTHLFJZQA","国泰互利分级债券A","固定收益","GUOTAIHULIFENJIZHAIQUANA"],["150067","GTHLFJZQB","国泰互利分级债券B","分级杠杆","GUOTAIHULIFENJIZHAIQUANB"],["150073","NAWJ","诺安稳健","固定收益","NUOANWENJIAN"],["150075","NAJQ","诺安进取","分级杠杆","NUOANJINQU"],["150076","ZSWJ","浙商稳健","固定收益","ZHESHANGWENJIAN"],["150077","ZSJQ","浙商进取","分级杠杆","ZHESHANGJINQU"],["150083","GFSZ100A","广发深证100A","固定收益","GUANGFASHENZHENG100A"],["150084","GFSZ100B","广发深证100B","分级杠杆","GUANGFASHENZHENG100B"],["150085","SWZXBFJA","申万中小板分级A","固定收益","SHENWANZHONGXIAOBANFENJIA"],["150086","SWZXBFJB","申万中小板分级B","分级杠杆","SHENWANZHONGXIAOBANFENJIB"],["150090","WJZCZSFJA","万家中创指数分级A","固定收益","WANJIAZHONGCHUANGZHISHUFENJIA"],["150091","WJZCZSFJB","万家中创指数分级B","分级杠杆","WANJIAZHONGCHUANGZHISHUFENJIB"],["150092","NDSZ300ZSFJA","诺德深证300指数分级A","固定收益","NUODESHENZHENG300ZHISHUFENJIA"],["150093","NDSZ300ZSFJB","诺德深证300指数分级B","分级杠杆","NUODESHENZHENG300ZHISHUFENJIB"],["150094","TXJBM400A","泰信基本面400A","固定收益","TAIXINJIBENMIAN400A"],["150095","TXJBM400B","泰信基本面400B","分级杠杆","TAIXINJIBENMIAN400B"],["150096","ZSZZSPA","招商中证商品A","固定收益","ZHAOSHANGZHONGZHENGSHANGPINA"],["150097","ZSZZSPB","招商中证商品B","分级杠杆","ZHAOSHANGZHONGZHENGSHANGPINB"],["150100","PHZYFJA","鹏华资源分级A","固定收益","PENGHUAZIYUANFENJIA"],["150101","PHZYFJB","鹏华资源分级B","分级杠杆","PENGHUAZIYUANFENJIB"],["150103","YHYTLC","银河银泰理财","混合型","YINHEYINTAILICAI"],["150104","HAHS300ZSFJA","华安沪深300指数分级A","固定收益","HUAANHUSHEN300ZHISHUFENJIA"],["150105","HAHS300ZSFJB","华安沪深300指数分级B","分级杠杆","HUAANHUSHEN300ZHISHUFENJIB"],["150106","YFDWJ","易方达稳健","固定收益","YIFANGDAWENJIAN"],["150107","YFDJQ","易方达进取","分级杠杆","YIFANGDAJINQU"],["150108","CSTHS100DQZA","长盛同辉深100等权重A","固定收益","CHANGSHENGTONGHUISHEN100DENGQUANZHONGA"],["150109","CSTHS100DQZB","长盛同辉深100等权重B","分级杠杆","CHANGSHENGTONGHUISHEN100DENGQUANZHONGB"],["150112","SZ100A","深证100A","固定收益","SHENZHENG100A"],["150113","SZ100B","深证100B","分级杠杆","SHENZHENG100B"],["150117","GTGZFDCHYZSFJA","国泰国证房地产行业指数分级A","固定收益","GUOTAIGUOZHENGFANGDICHANHANGYEZHISHUFENJIA"],["150118","GTGZFDCHYZSFJB","国泰国证房地产行业指数分级B","分级杠杆","GUOTAIGUOZHENGFANGDICHANHANGYEZHISHUFENJIB"],["150121","YHHS300CZYX","银河沪深300成长优先","固定收益","YINHEHUSHEN300CHENGZHANGYOUXIAN"],["150122","YHHS300CZJQ","银河沪深300成长进取","分级杠杆","YINHEHUSHEN300CHENGZHANGJINQU"],["150123","JXYS50A","建信央视50A","固定收益","JIANXINYANGSHI50A"],["150124","JXYS50B","建信央视50B","分级杠杆","JIANXINYANGSHI50B"],["150130","GTGZYYWSHYZSFJA","国泰国证医药卫生指数分级A","固定收益","GUOTAIGUOZHENGYIYAOWEISHENGZHISHUFENJIA"],["150131","GTGZYYWSHYZSFJB","国泰国证医药卫生指数分级B","分级杠杆","GUOTAIGUOZHENGYIYAOWEISHENGZHISHUFENJIB"],["150133","DBDXZGQZZSFJA","德邦德信中高企债指数分级A","固定收益","DEBANGDEXINZHONGGAOQIZHAIZHISHUFENJIA"],["150134","DBDXZGQZZSFJB","德邦德信中高企债指数分级B","分级杠杆","DEBANGDEXINZHONGGAOQIZHAIZHISHUFENJIB"],["150135","GFZZ100ZSZQFJA","国富中证100指数增强分级A","固定收益","GUOFUZHONGZHENG100ZHISHUZENGQIANGFENJIA"],["150136","GFZZ100ZSZQFJB","国富中证100指数增强分级B","分级杠杆","GUOFUZHONGZHENG100ZHISHUZENGQIANGFENJIB"],["150138","YH800A","银华800A","固定收益","YINHUA800A"],["150139","YH800B","银华800B","分级杠杆","YINHUA800B"],["150140","GJ300A","国金300A","固定收益","GUOJIN300A"],["150141","GJHS300ZSFJB","国金沪深300指数分级B","分级杠杆","GUOJINHUSHEN300ZHISHUFENJIB"],["150143","YHZZZZZSZQFJA","银华中证转债指数增强分级A","固定收益","YINHUAZHONGZHENGZHUANZHAIZHISHUZENGQIANGFENJIA"],["150144","YHZZZZZSZQFJB","银华中证转债指数增强分级B","分级杠杆","YINHUAZHONGZHENGZHUANZHAIZHISHUZENGQIANGFENJIB"],["150145","ZSHS300GBTFJA","招商沪深300高贝塔分级A","固定收益","QIAOSHANGHUSHEN300GAOBEIDAFENJIA"],["150146","ZSHS300GBTFJB","招商沪深300高贝塔分级B","分级杠杆","QIAOSHANGHUSHEN300GAOBEIDAFENJIB"],["150148","XCZZ800YYZSFJA","信诚中证800医药指数分级A","固定收益","XINCHENGZHONGZHENG800YIYAOZHISHUFENJIA"],["150149","XCZZ800YYZSFJB","信诚中证800医药指数分级B","分级杠杆","XINCHENGZHONGZHENG800YIYAOZHISHUFENJIB"],["150150","XCZZ800YSZSFJA","信诚中证800有色指数分级A","固定收益","XINCHENGZHONGZHENG800YOUSEZHISHUFENJIA"],["150151","XCZZ800YSZSFJB","信诚中证800有色指数分级B","分级杠杆","XINCHENGZHONGZHENG800YOUSEZHISHUFENJIB"],["150152","FGCYBZSFJA","富国创业板指数分级A","固定收益","FUGUOCHUANGYEBANZHISHUFENJIA"],["150153","FGCYBZSFJB","富国创业板指数分级B","分级杠杆","FUGUOCHUANGYEBANZHISHUFENJIB"],["150154","ZHHFCZFJZQB","中海惠丰纯债分级债券B","分级杠杆","ZHONGHAIHUIFENGCHUNZHAIFENJIZHAIQUANB"],["150156","ZYHLFJZQB","中银互利分级债券B","分级杠杆","ZHONGYINHULIFENJIZHAIQUANB"],["150157","XCZZ800JRZSFJA","信诚中证800金融指数分级A","固定收益","XINCHENGZHONGZHENG800JINRONGZHISHUFENJIA"],["150158","XCZZ800JRZSFJB","信诚中证800金融指数分级B","分级杠杆","XINCHENGZHONGZHENG800JINRONGZHISHUFENJIB"],["150159","ZOTB","中欧添B","分级杠杆","ZHONGOUTIANB"],["150162","YHYYFJZQB","银华永益分级债券B","分级杠杆","YINHUAYONGYIFENJIZHAIQUANB"],["150164","DWZZA","东吴转债A","固定收益","DONGWUZHUANZHAIA"],["150165","DWZZB","东吴转债B","分级杠杆","DONGWUZHUANZHAIB"],["150166","GFHLFJZQB","国富恒利分级债券B","债券型","GUOFUHENGLIFENJIZHAIQUANB"],["150167","YHHS300ZSFJA","银华沪深300指数分级A","固定收益","YINHUAHUSHEN300ZHISHUFENJIA"],["150168","YHHS300ZSFJB","银华沪深300指数分级B","分级杠杆","YINHUAHUSHEN300ZHISHUFENJIB"],["150169","HTFHSZSFJA","汇添富恒生指数分级A","固定收益","HUITIANFUHENGSHENGZHISHUFENJIA"],["150170","HTFHSZSFJB","汇添富恒生指数分级B","分级杠杆","HUITIANFUHENGSHENGZHISHUFENJIB"],["150171","SWLXSWZQFJA","申万菱信申万证券分级A","固定收益","SHENWANLINGXINSHENWANZHENGQUANFENJIA"],["150172","SWLXSWZQFJB","申万菱信申万证券分级B","分级杠杆","SHENWANLINGXINSHENWANZHENGQUANFENJIB"],["150173","XCZZTMTCYZSFJA","信诚中证TMT产业指数分级A","固定收益","XINCHENGZHONGZHENGTMTCHANYEZHISHUFENJIA"],["150174","XCZZTMTCYZSFJB","信诚中证TMT产业指数分级B","分级杠杆","XINCHENGZHONGZHENGTMTCHANYEZHISHUFENJIB"],["150175","YHHSGQZSFJA","银华恒生国企指数分级A","固定收益","YINHUAHENGSHENGGUOQIZHISHUFENJIA"],["150176","YHHSGQZSFJB","银华恒生国企指数分级B","分级杠杆","YINHUAHENGSHENGGUOQIZHISHUFENJIB"],["150177","PHZQBXFJA","鹏华证券保险分级A","固定收益","PENGHUAZHENGQUANBAOXIANFENJIA"],["150178","PHZQBXFJB","鹏华证券保险分级B","分级杠杆","PENGHUAZHENGQUANBAOXIANFENJIB"],["150179","PHXXFJA","鹏华信息分级A","固定收益","PENGHUAXINXIFENJIA"],["150180","PHXXFJB","鹏华信息分级B","分级杠杆","PENGHUAXINXIFENJIB"],["150181","FGZZJGZSFJA","富国中证军工指数分级A","固定收益","FUGUOZHONGZHENGJUNGONGZHISHUFENJIA"],["150182","FGZZJGZSFJB","富国中证军工指数分级B","分级杠杆","FUGUOZHONGZHENGJUNGONGZHISHUFENJIB"],["150184","SWZZHBCYZSFJA","申万中证环保产业指数分级A","固定收益","SHENWANZHONGZHENGHUANBAOCHANYEZHISHUFENJIA"],["150185","SWZZHBCYZSFJB","申万中证环保产业指数分级B","分级杠杆","SHENWANZHONGZHENGHUANBAOCHANYEZHISHUFENJIB"],["150186","SWLXZZJGZSFJA","申万菱信中证军工指数分级A","固定收益","SHENWANLINGXINZHONGZHENGJUNGONGZHISHUFENJIA"],["150187","SWLXZZJGZSFJB","申万菱信中证军工指数分级B","分级杠杆","SHENWANLINGXINZHONGZHENGJUNGONGZHISHUFENJIB"],["150188","ZSKZZFJZQA","招商可转债分级债券A","固定收益","ZHAOSHANGKEZHUANZHAIFENJIZHAIQUANA"],["150189","ZSKZZFJZQB","招商可转债分级债券B","分级杠杆","ZHAOSHANGKEZHUANZHAIFENJIZHAIQUANB"],["150190","XHZZHBCYZSFJA","新华中证环保产业指数分级A","固定收益","XINHUAZHONGZHENGHUANBAOCHANYEZHISHUFENJIA"],["150191","XHZZHBCYZSFJB","新华中证环保产业指数分级B","分级杠杆","XINHUAZHONGZHENGHUANBAOCHANYEZHISHUFENJIB"],["150192","PHDCFJA","鹏华地产分级A","固定收益","PENGHUADICHANFENJIA"],["150193","PHDCFJB","鹏华地产分级B","分级杠杆","PENGHUADICHANFENJIB"],["150194","FGZZYDHLWZSFJA","富国中证移动互联网指数分级A","固定收益","FUGUOZHONGZHENGYIDONGHULIANWANGZHISHUFENJIA"],["150195","FGZZYDHLWZSFJB","富国中证移动互联网指数分级B","分级杠杆","FUGUOZHONGZHENGYIDONGHULIANWANGZHISHUFENJIB"],["150196","GTGZYSJSHYFJA","国泰国证有色金属行业分级A","固定收益","GUOTAIGUOZHENGYOUSEJINSHUHANGYEFENJIA"],["150197","GTGZYSJSHYFJB","国泰国证有色金属行业分级B","分级杠杆","GUOTAIGUOZHENGYOUSEJINSHUHANGYEFENJIB"],["150198","GTGZSPYLHYZSA","国泰国证食品饮料行业指数A","固定收益","GUOTAIGUOZHENGSHIPINYINLIAOHANGYEZHISHUA"],["150199","GTGZSPYLHYZSB","国泰国证食品饮料行业指数B","分级杠杆","GUOTAIGUOZHENGSHIPINYINLIAOHANGYEZHISHUB"],["150200","ZSZZQZZQGSA","招商中证全指证券公司A","固定收益","QIAOSHANGZHONGZHENGQUANZHIZHENGQUANGONGSIA"],["150201","ZSZZQZZQGSB","招商中证全指证券公司B","分级杠杆","QIAOSHANGZHONGZHENGQUANZHIZHENGQUANGONGSIB"],["150203","PHCMFJA","鹏华传媒分级A ","固定收益","PENGHUACHUANMEIFENJIA"],["150204","PHCMFJB","鹏华传媒分级B","分级杠杆","PENGHUACHUANMEIFENJIB"],["150205","PHZZGFZSFJA","鹏华中证国防指数分级A","固定收益","PENGHUAZHONGZHENGGUOFANGZHISHUFENJIA"],["150206","PHZZGFZSFJB","鹏华中证国防指数分级B","分级杠杆","PENGHUAZHONGZHENGGUOFANGZHISHUFENJIB"],["150207","ZSHS300DCZSFJA","招商沪深300地产指数分级A","固定收益","QIAOSHANGHUSHEN300DECHANZHISHUFENJIA"],["150208","ZSHS300DCZSFJB","招商沪深300地产指数分级B","分级杠杆","QIAOSHANGHUSHEN300DECHANZHISHUFENJIB"],["150209","FGZZGQGGZSFJA","富国中证国企改革指数分级A","固定收益","FUGUOZHONGZHENGGUOQIGAIGEZHISHUFENJIA"],["150210","FGZZGQGGZSFJB","富国中证国企改革指数分级B ","分级杠杆","FUGUOZHONGZHENGGUOQIGAIGEZHISHUFENJIB"],["150211","FGZZXNYQCZSFJA","富国中证新能源汽车指数分级A","固定收益","FUGUOZHONGZHENGXINNENGYUANQICHEZHISHUFENJIA"],["150212","FGZZXNYQCZSFJB","富国中证新能源汽车指数分级B","分级杠杆","FUGUOZHONGZHENGXINNENGYUANQICHEZHISHUFENJIB"],["150213","GTRYZZCYZSFJA","国投瑞银中证创业指数分级A","固定收益","GUOTOURUIYINZHONGZHENGCHUANGYEZHISHUFENJIA"],["150214","GTRYZZCYZSFJB","国投瑞银中证创业指数分级B","分级杠杆","GUOTOURUIYINZHONGZHENGCHUANGYEZHISHUFENJIB"],["150215","GTSZTMT50ZSFJA","国泰深证TMT50指数分级A","固定收益","GUOTAISHENZHENGTMT50ZHISHUFENJIA"],["150216","GTSZTMT50ZSFJB","国泰深证TMT50指数分级B","分级杠杆","GUOTAISHENZHENGTMT50ZHISHUFENJIB"],["150217","JYGZXNYZSFJA","交银国证新能源指数分级A","固定收益","JIAOYINGUOZHENGXINNENGYUANZHISHUFENJIA"],["150218","JYGZXNYZSFJB","交银国证新能源指数分级B","分级杠杆","JIAOYINGUOZHENGXINNENGYUANZHISHUFENJIB"],["150219","QHKYJKFJA","前海开源健康分级A","固定收益","QIANHAIKAIYUANJIANKANGFENJIA"],["150220","QHKYJKFJB","前海开源健康分级B","分级杠杆","QIANHAIKAIYUANJIANKANGFENJIB"],["150221","QHKYZHJGA","前海开源中航军工A","固定收益","QIANHAIKAIYUANZHONGHANGJUNGONGA"],["150222","QHKYZHJGB","前海开源中航军工B","分级杠杆","QIANHAIKAIYUANZHONGHANGJUNGONGB"],["150223","FGZZQZZQGSFJA","富国中证全指证券公司分级A","固定收益","FUGUOZHONGZHENGQUANZHIZHENGQUANGONGSIFENJIA"],["150224","FGZZQZZQGSFJB","富国中证全指证券公司分级B","分级杠杆","FUGUOZHONGZHENGQUANZHIZHENGQUANGONGSIFENJIB"],["150225","BSZZ800ZQBXFJA","博时中证800证券保险分级A","固定收益","BOSHIZHONGZHENG800ZHENGQUANBAOXIANFENJIA"],["150226","BSZZ800ZQBXFJB","博时中证800证券保险分级B","分级杠杆","BOSHIZHONGZHENG800ZHENGQUANBAOXIANFENJIB"],["150227","PHYHFJA","鹏华银行分级A","固定收益","PENGHUAYINHANGFENJIA"],["150228","PHYHFJB","鹏华银行分级B","分级杠杆","PENGHUAYINHANGFENJIB"],["150229","PHJFJA","鹏华酒分级A","固定收益","PENGHUAJIUFENJIA"],["150230","PHJFJB","鹏华酒分级B","分级杠杆","PENGHUAJIUFENJIB"],["150231","SWLXSWDZFJA","申万菱信申万电子分级A","固定收益","SHENWANLINGXINSHENWANDIANZIFENJIA"],["150232","SWLXSWDZFJB","申万菱信申万电子分级B","分级杠杆","SHENWANLINGXINSHENWANDIANZIFENJIB"],["150233","SWLXSWCMFJA","申万菱信申万传媒分级A","固定收益","SHENWANLINGXINSHENWANCHUANMEIFENJIA"],["150234","SWLXSWCMFJB","申万菱信申万传媒分级B","分级杠杆","SHENWANLINGXINSHENWANCHUANMEIFENJIB"],["150235","PHZQFJA","鹏华证券分级A","固定收益","PENGHUAZHENGQUANFENJIA"],["150236","PHZQFJB","鹏华证券分级B","分级杠杆","PENGHUAZHENGQUANFENJIB"],["150237","PHHBFJA","鹏华环保分级A","固定收益","PENGHUAHUANBAOFENJIA"],["150238","PHHBFJB","鹏华环保分级B","分级杠杆","PENGHUAHUANBAOFENJIB"],["150241","FGZZYHZSFJA","富国中证银行指数分级A","固定收益","FUGUOZHONGZHENGYINHANGZHISHUFENJIA"],["150242","FGZZYHZSFJB","富国中证银行指数分级B","分级杠杆","FUGUOZHONGZHENGYINHANGZHISHUFENJIB"],["150243","PHCYBFJA","鹏华创业板分级A","固定收益","PENGHUACHUANGYEBANFENJIA"],["150244","PHCYBFJB","鹏华创业板分级B","分级杠杆","PENGHUACHUANGYEBANFENJIB"],["150245","PHHLWFJA","鹏华互联网分级A","固定收益","PENGHUAHULIANWANGFENJIA"],["150246","PHHLWFJB","鹏华互联网分级B","分级杠杆","PENGHUAHULIANWANGFENJIB"],["150247","GYZZCMZSFJA","工银中证传媒指数分级A","固定收益","GONGYINZHONGZHENGCHUANMEIZHISHUFENJIA"],["150248","GYZZCMZSFJB","工银中证传媒指数分级B","分级杠杆","GONGYINZHONGZHENGCHUANMEIZHISHUFENJIB"],["150249","ZSZZYHZSFJA","招商中证银行指数分级A","固定收益","ZHAOSHANGZHONGZHENGYINHANGZHISHUFENJIA"],["150250","ZSZZYHZSFJB","招商中证银行指数分级B","分级杠杆","ZHAOSHANGZHONGZHENGYINHANGZHISHUFENJIB"],["150251","ZSZZMTDQZSFJA","招商中证煤炭等权指数分级A","固定收益","ZHAOSHANGZHONGZHENGMEITANDENGQUANZHISHUFENJIA"],["150252","ZSZZMTDQZSFJB","招商中证煤炭等权指数分级B","分级杠杆","ZHAOSHANGZHONGZHENGMEITANDENGQUANZHISHUFENJIB"],["150255","YFDYHFJA","易方达银行分级A","固定收益","YIFANGDAYINHANGFENJIA"],["150256","YFDYHFJB","易方达银行分级B","分级杠杆","YIFANGDAYINHANGFENJIB"],["150257","YFDSWFJA","易方达生物分级A","固定收益","YIFANGDASHENGWUFENJIA"],["150258","YFDSWFJB","易方达生物分级B","分级杠杆","YIFANGDASHENGWUFENJIB"],["150259","YFDCZFJA","易方达重组分级A","固定收益","YIFANGDACHONGZUFENJIA"],["150260","YFDCZFJB","易方达重组分级B","分级杠杆","YIFANGDACHONGZUFENJIB"],["150261","HBXYZZYLZSFJA","华宝兴业中证医疗指数分级A","固定收益","HUABAOXINGYEZHONGZHENGYILIAOZHISHUFENJIA"],["150262","HBXYZZYLZSFJB","华宝兴业中证医疗指数分级B","分级杠杆","HUABAOXINGYEZHONGZHENGYILIAOZHISHUFENJIB"],["150263","HBXYZZ1000FJA","华宝兴业中证1000分级A","固定收益","HUABAOXINGYEZHONGZHENG1000FENJIA"],["150264","HBXYZZ1000FJB","华宝兴业中证1000分级B","分级杠杆","HUABAOXINGYEZHONGZHENG1000FENJIB"],["150265","ZRYDYLFJA","中融一带一路分级A","固定收益","ZHONGRONGYIDAIYILUFENJIA"],["150266","ZRYDYLFJB","中融一带一路分级B","分级杠杆","ZHONGRONGYIDAIYILUFENJIB"],["150267","BSZZYHZSFJA","博时中证银行指数分级A","固定收益","BOSHIZHONGZHENGYINHANGZHISHUFENJIA"],["150268","BSZZYHZSFJB","博时中证银行指数分级B","分级杠杆","BOSHIZHONGZHENGYINHANGZHISHUFENJIB"],["150269","ZSZZBJZSFJA","招商中证白酒指数分级A","固定收益","ZHAOSHANGZHONGZHENGBAIJIUZHISHUFENJIA"],["150270","ZSZZBJZSFJB","招商中证白酒指数分级B","分级杠杆","ZHAOSHANGZHONGZHENGBAIJIUZHISHUFENJIB"],["150271","ZSGZSWYYZSFJA","招商国证生物医药指数分级A","固定收益","ZHAOSHANGGUOZHENGSHENGWUYIYAOZHISHUFENJIA"],["150272","ZSGZSWYYZSFJB","招商国证生物医药指数分级B","分级杠杆","ZHAOSHANGGUOZHENGSHENGWUYIYAOZHISHUFENJIB"],["150273","PHYDYLFJA","鹏华一带一路分级A","固定收益","PENGHUAYIDAIYILUFENJIA"],["150274","PHYDYLFJB","鹏华一带一路分级B","分级杠杆","PENGHUAYIDAIYILUFENJIB"],["150275","AXYDYLFJA","安信一带一路分级A","固定收益","ANXINYIDAIYILUFENJIA"],["150276","AXYDYLFJB","安信一带一路分级B","分级杠杆","ANXINYIDAIYILUFENJIB"],["150277","PHGTFJA","鹏华高铁分级A","固定收益","PENGHUAGAOTIEFENJIA"],["150278","PHGTFJB","鹏华高铁分级B","分级杠杆","PENGHUAGAOTIEFENJIB"],["150279","PHXNYFJA","鹏华新能源分级A","固定收益","PENGHUAXINNENGYUANFENJIA"],["150280","PHXNYFJB","鹏华新能源分级B","分级杠杆","PENGHUAXINNENGYUANFENJIB"],["150281","CSZZJRDCZSFJA","长盛中证金融地产指数分级A","固定收益","CHANGSHENGZHONGZHENGJINRONGDICHANZHISHUFENJIA"],["150282","CSZZJRDCZSFJB","长盛中证金融地产指数分级B","分级杠杆","CHANGSHENGZHONGZHENGJINRONGDICHANZHISHUFENJIB"],["150283","SWLXSWYYSWFJA","申万菱信申万医药生物分级A","固定收益","SHENWANLINGXINSHENWANYIYAOSHENGWUFENJIA"],["150284","SWLXSWYYSWFJB","申万菱信申万医药生物分级B","分级杠杆","SHENWANLINGXINSHENWANYIYAOSHENGWUFENJIB"],["150287","ZRGZGTHYZSFJA","中融国证钢铁行业指数分级A","固定收益","ZHONGRONGGUOZHENGGANGTIEHANGYEZHISHUFENJIA"],["150288","ZRGZGTHYZSFJB","中融国证钢铁行业指数分级B","分级杠杆","ZHONGRONGGUOZHENGGANGTIEHANGYEZHISHUFENJIB"],["150289","ZRZZMTZSFJA","中融中证煤炭指数分级A","固定收益","ZHONGRONGZHONGZHENGMEITANZHISHUFENJIA"],["150290","ZRZZMTZSFJB","中融中证煤炭指数分级B","分级杠杆","ZHONGRONGZHONGZHENGMEITANZHISHUFENJIB"],["150291","ZRZZYHZSFJA","中融中证银行指数分级A","固定收益","ZHONGRONGZHONGZHENGYINHANGZHISHUFENJIA"],["150292","ZRZZYHZSFJB","中融中证银行指数分级B","分级杠杆","ZHONGRONGZHONGZHENGYINHANGZHISHUFENJIB"],["150293","NFZZGTCYZSFJA","南方中证高铁产业指数分级A","固定收益","NANFANGZHONGZHENGGAOTIECHANYEZHISHUFENJIA"],["150294","NFZZGTCYZSFJB","南方中证高铁产业指数分级B","分级杠杆","NANFANGZHONGZHENGGAOTIECHANYEZHISHUFENJIB"],["150295","NFZZGYQYGGFJA","南方中证国有企业改革分级A","固定收益","NANFANGZHONGZHENGGUOYOUQIYEGAIGEFENJIA"],["150296","NFZZGYQYGGFJB","南方中证国有企业改革分级B","分级杠杆","NANFANGZHONGZHENGGUOYOUQIYEGAIGEFENJIB"],["150297","NFZZHLWZSFJA","南方中证互联网指数分级A","固定收益","NANFANGZHONGZHENGHULIANWANGZHISHUFENJIA"],["150298","NFZZHLWZSFJB","南方中证互联网指数分级B","分级杠杆","NANFANGZHONGZHENGHULIANWANGZHISHUFENJIB"],["150299","HAZZYHZSFJA","华安中证银行指数分级A","固定收益","HUAANZHONGZHENGYINHANGZHISHUFENJIA"],["150300","HAZZYHZSFJB","华安中证银行指数分级B","分级杠杆","HUAANZHONGZHENGYINHANGZHISHUFENJIB"],["150301","HAZZQZZQGSFJA","华安中证全指证券公司分级A","固定收益","HUAANZHONGZHENGQUANZHIZHENGQUANGONGSIFENJIA"],["150302","HAZZQZZQGSFJB","华安中证全指证券公司分级B","分级杠杆","HUAANZHONGZHENGQUANZHIZHENGQUANGONGSIFENJIB"],["150303","HACYB50ZSFJA","华安创业板50指数分级A","固定收益","HUAANCHUANGYEBAN50ZHISHUFENJIA"],["150304","HACYB50ZSFJB","华安创业板50指数分级B","分级杠杆","HUAANCHUANGYEBAN50ZHISHUFENJIB"],["150305","GSABZZYLCYFJA","国寿安保中证养老产业分级A","固定收益","GUOSHOUANBAOZHONGZHENGYANGLAOCHANYEFENJIA"],["150306","GSABZZYLCYFJB","国寿安保中证养老产业分级B","分级杠杆","GUOSHOUANBAOZHONGZHENGYANGLAOCHANYEFENJIB"],["150307","FGZZTYCYZSFJA","富国中证体育产业指数分级A","固定收益","FUGUOZHONGZHENGTIYUCHANYEZHISHUFENJIA"],["150308","FGZZTYCYZSFJB","富国中证体育产业指数分级B","分级杠杆","FUGUOZHONGZHENGTIYUCHANYEZHISHUFENJIB"],["150309","XCZZXXAQZSFJA","信诚中证信息安全指数分级A","固定收益","XINCHENGZHONGZHENGXINXIANQUANZHISHUFENJIA"],["150310","XCZZXXAQZSFJB","信诚中证信息安全指数分级B","分级杠杆","XINCHENGZHONGZHENGXINXIANQUANZHISHUFENJIB"],["150311","XCZZZNJJZSFJA","信诚中证智能家居指数分级A","固定收益","XINCHENGZHONGZHENGZHINENGJIAJUZHISHUFENJIA"],["150312","XCZZZNJJZSFJB","信诚中证智能家居指数分级B","分级杠杆","XINCHENGZHONGZHENGZHINENGJIAJUZHISHUFENJIB"],["150315","FGZZGY40ZSFJA","富国中证工业4.0指数分级A","固定收益","FUGUOZHONGZHENGGONGYE40ZHISHUFENJIA"],["150316","FGZZGY40ZSFJB","富国中证工业4.0指数分级B","分级杠杆","FUGUOZHONGZHENGGONGYE40ZHISHUFENJIB"],["150317","JYZZHLWJRZSFJA","交银中证互联网金融指数分级A","固定收益","JIAOYINZHONGZHENGHULIANWANGJINRONGZHISHUFENJIA"],["150318","JYZZHLWJRZSFJB","交银中证互联网金融指数分级B","分级杠杆","JIAOYINZHONGZHENGHULIANWANGJINRONGZHISHUFENJIB"],["150321","FGZZMTZSFJA","富国中证煤炭指数分级A","固定收益","FUGUOZHONGZHENGMEITANZHISHUFENJIA"],["150322","FGZZMTZSFJB","富国中证煤炭指数分级B","分级杠杆","FUGUOZHONGZHENGMEITANZHISHUFENJIB"],["150323","GYZZHBCYZSFJA","工银中证环保产业指数分级A","固定收益","GONGYINZHONGZHENGHUANBAOCHANYEZHISHUFENJIA"],["150324","GYZZHBCYZSFJB","工银中证环保产业指数分级B","分级杠杆","GONGYINZHONGZHENGHUANBAOCHANYEZHISHUFENJIB"],["150325","GYZZGTCYZSFJA","工银中证高铁产业指数分级A","固定收益","GONGYINZHONGZHENGGAOTIECHANYEZHISHUFENJIA"],["150326","GYZZGTCYZSFJB","工银中证高铁产业指数分级B","分级杠杆","GONGYINZHONGZHENGGAOTIECHANYEZHISHUFENJIB"],["150327","GYZZXNYZSFJA","工银中证新能源指数分级A","固定收益","GONGYINZHONGZHENGXINNENGYUANZHISHUFENJIA"],["150328","GYZZXNYZSFJB","工银中证新能源指数分级B","分级杠杆","GONGYINZHONGZHENGXINNENGYUANZHISHUFENJIB"],["150329","FZFBBXZTZSFJA","方正富邦保险主题指数分级A","固定收益","FANGZHENGFUBANGBAOXIANZHUTIZHISHUFENJIA"],["150330","FZFBBXZTZSFJB","方正富邦保险主题指数分级B","分级杠杆","FANGZHENGFUBANGBAOXIANZHUTIZHISHUFENJIB"],["150331","JXWJRFJA","建信网金融分级A","固定收益","JIANXINWANGJINRONGFENJIA"],["150332","JXWJRFJB","建信网金融分级B","分级杠杆","JIANXINWANGJINRONGFENJIB"],["150335","RTJGFJA","融通军工分级A","固定收益","RONGTONGJUNGONGFENJIA"],["150336","RTJGFJB","融通军工分级B","分级杠杆","RONGTONGJUNGONGFENJIB"],["150343","RTZQFJA","融通证券分级A","固定收益","RONGTONGZHENGQUANFENJIA"],["150344","RTZQFJB","融通证券分级B","分级杠杆","RONGTONGZHENGQUANFENJIB"],["151001","YHWJ","银河稳健","混合型","YINHEWENJIAN"],["151002","YHSYZQ","银河收益债券","债券型","YINHESHOUYIZHAIQUAN"],["159001","YFDBZJSYHBA","易方达保证金收益货币A","货币型","YIFANGDABAOZHENGJINSHOUYIHUOBIA"],["159002","YFDBZJSYHBB","易方达保证金收益货币B","货币型","YIFANGDABAOZHENGJINSHOUYIHUOBIB"],["159003","ZSBZJKXA","招商保证金快线A","货币型","ZHAOSHANGBAOZHENGJINKUAIXIANA"],["159004","ZSBZJKXB","招商保证金快线B","货币型","ZHAOSHANGBAOZHENGJINKUAIXIANB"],["159005","HTFSYKQHBA","汇添富收益快钱货币A","货币型","HUITIANFUSHOUYIKUAIQIANHUOBIA"],["159006","HTFSYKQHBB","汇添富收益快钱货币B","货币型","HUITIANFUSHOUYIKUAIQIANHUOBIB"],["159901","YFDSZ100ETF","易方达深证100ETF","ETF-场内","YIFANGDASHENZHENG100ETF"],["159902","HXZXBETF","华夏中小板ETF","ETF-场内","HUAXIAZHONGXIAOBANETF"],["159903","NFSCETF","南方深成ETF","ETF-场内","NANFANGSHENCHENGETF"],["159905","GYSZHLETF","工银深证红利ETF","ETF-场内","GONGYINSHENZHENGHONGLIETF"],["159906","DCSZCZ40ETF","大成深证成长40ETF","ETF-场内","DACHENGSHENZHENGCHENGZHANG40ETF"],["159907","GFZXB300ETF","广发中小板300ETF","ETF-场内","GUANGFAZHONGXIAOBAN300ETF"],["159908","BSSZ200ETF","博时深证200ETF","ETF-场内","BOSHISHENZHENG200ETF"],["159909","ZSSZTMT50ETF","招商深证TMT50ETF","ETF-场内","ZHAOSHANGSHENZHENGTMT50ETF"],["159910","JSSZ120ETF","嘉实深证120ETF","ETF-场内","JIASHISHENZHENG120ETF"],["159911","PHSZMYETF","鹏华深证民营ETF","ETF-场内","PENGHUASHENZHENGMINYINGETF"],["159912","HTFSZ300ETF","汇添富深证300ETF","ETF-场内","HUITIANFUSHENZHENG300ETF"],["159913","JYSZ300ETF","交银深证300ETF","ETF-场内","JIAOYINSHENZHENG300ETF"],["159915","YFDCYBETF","易方达创业板ETF","ETF-场内","YIFANGDACHUANGYEBANETF"],["159916","JXSZ60ETF","建信深证60ETF","ETF-场内","JIANXINSHENZHENG60ETF"],["159918","JSZC400ETF","嘉实中创400ETF","ETF-场内","JIASHIZHONGCHUANG400ETF"],["159919","JSHS300ETF","嘉实沪深300ETF","ETF-场内","JIASHIHUSHEN300ETF"],["159920","HXHSETF","华夏恒生ETF","QDII-ETF","HUAXIAHENGSHENGETF"],["159921","NAZXBDQZETF","诺安中小板等权重ETF","ETF-场内","NUOANZHONGXIAOBANDENGQUANZHONGETF"],["159922","JSZZ500ETF","嘉实中证500ETF","ETF-场内","JIASHIZHONGZHENG500ETF"],["159923","DCZZ100ETF","大成中证100ETF","ETF-场内","DACHENGZHONGZHENG100ETF"],["159924","JSHS300DQETF","景顺沪深300等权ETF","ETF-场内","JINGSHUNHUSHEN300DENGQUANETF"],["159925","NFKYHS300ETF","南方开元沪深300ETF","ETF-场内","NANFANGKAIYUANHUSHEN300ETF"],["159926","JSZZZQGZETF","嘉实中证中期国债ETF","ETF-场内","JIASHIZHONGZHENGZHONGQIGUOZHAIETF"],["159927","PHHS300ETF","鹏华沪深300ETF","ETF-场内","PENGHUAHUSHEN300ETF"],["159928","HTFZZZYXFETF","汇添富中证主要消费ETF","ETF-场内","HUITIANFUZHONGZHENGZHUYAOXIAOFEIETF"],["159929","HTFZZYYWSETF","汇添富中证医药卫生ETF","ETF-场内","HUITIANFUZHONGZHENGYIYAOWEISHENGETF"],["159930","HTFZZNYETF","汇添富中证能源ETF","ETF-场内","HUITIANFUZHONGZHENGNENGYUANETF"],["159931","HTFZZJRDCETF","汇添富中证金融地产ETF","ETF-场内","HUITIANFUZHONGZHENGJINRONGDICHANETF"],["159932","DCZZ500SSETF","大成中证500深市ETF","ETF-场内","DACHENGZHONGZHENG500SHENSHIETF"],["159933","GTRYJRDCETF","国投瑞银金融地产ETF","ETF-场内","GUOTOURUIYINJINRONGDICHANETF"],["159934","YFDHJETF","易方达黄金ETF","ETF-场内","YIFANGDAHUANGJINETF"],["159935","JSCCZZ500ETF","景顺长城中证500ETF","ETF-场内","JINGSHUNCHANGCHENGZHONGZHENG500ETF"],["159936","GFZZQZKXXFETF","广发中证全指可选消费ETF","ETF-场内","GUANGFAZHONGZHENGQUANZHIKEXUANXIAOFEIETF"],["159937","BSHJETF","博时黄金ETF","ETF-场内","BOSHIHUANGJINETF"],["159938","GFZZQZYYWSETF","广发中证全指医药卫生ETF","ETF-场内","GUANGFAZHONGZHENGQUANZHIYIYAOWEISHENGETF"],["159939","GFZZQZXXJSETF","广发中证全指信息技术ETF","ETF-场内","GUANGFAZHONGZHENGQUANZHIXINXIJISHUETF"],["159940","GFZZQZJRDCETF","广发中证全指金融地产ETF","ETF-场内","GUANGFAZHONGZHENGQUANZHIJINRONGDICHANETF"],["159941","GFNSDK100ETF","广发纳斯达克100ETF","QDII-ETF","GUANGFANASIDAKE100ETF"],["159942","HRYDZC100ETF","华润元大中创100ETF","ETF-场内","HUARUNYUANDAZHONGCHUANG100ETF"],["159943","DCSZCFETF","大成深证成份ETF","ETF-场内","DACHENGSHENZHENGCHENGFENETF"],["159944","GFZZQZYCLETF","广发中证全指原材料ETF","ETF-场内","GUANGFAZHONGZHENGQUANZHIYUANCAILIAOETF"],["159945","GFZZQZNYETF","广发中证全指能源ETF","ETF-场内","GUANGFAZHONGZHENGQUANZHINENGYUANETF"],["159946","GFZZQZZYXFETF","广发中证全指主要消费ETF","ETF-场内","GUANGFAZHONGZHENGQUANZHIZHUYAOXIAOFEIETF"],["159948","NFCYBETF","南方创业板ETF","ETF-场内","NANFANGCHUANGYEBANETF"],["159949","HACYB50ETF","华安创业板50ETF","ETF-场内","HUAANCHUANGYEBAN50ETF"],["159950","YFDSZCZETF","易方达深证成指ETF","ETF-场内","YIFANGDASHENZHENGCHENGZHIETF"],["159952","GFCYBETF","广发创业板ETF","ETF-场内","GUANGFACHUANGYEBANETF"],["160105","NFJJPZHHLOF","南方积极配置混合(LOF)","混合型","NANFANGJIJIPEIZHIHUNHELOF"],["160106","NFGZZHHLOF","南方高增长混合(LOF)","混合型","NANFANGGAOZENGZHANGHUNHELOF"],["160107","NFGZZHHLOF","南方高增长混合(LOF)(后端)","混合型","NANFANGGAOZENGZHANGHUNHELOF"],["160119","NFZZ500ETFLJA","南方中证500ETF联接A","联接基金","NANFANGZHONGZHENG500ETFLIANJIEA"],["160120","NFZZ500ETFLJA","南方中证500ETF联接A(后端)","联接基金","NANFANGZHONGZHENG500ETFLIANJIEA"],["160121","NFJZSGZS","南方金砖四国指数","QDII-指数","NANFANGJINZHUANSIGUOZHISHU"],["160122","NFJZSGZS","南方金砖四国指数(后端)","QDII-指数","NANFANGJINZHUANSIGUOZHISHU"],["160123","NFZZ10NQGZA","南方中债10年期国债A","债券指数","NANFANGZHONGZHAI10NIANQIGUOZHAIA"],["160124","NFZZ10NQGZC","南方中债10年期国债C","债券指数","NANFANGZHONGZHAI10NIANQIGUOZHAIC"],["160125","NFXGYXGPQDII","南方香港优选股票(QDII)","QDII","NANFANGXIANGGANGYOUXUANGUPIAO(QDII)"],["160127","NFXXXFFJ","南方新兴消费分级","股票型","NANFANGXINXINGXIAOFEIFENJI"],["160128","NFJLA","南方金利A","定开债券","NANFANGJINLIA"],["160129","NFJLC","南方金利C","定开债券","NANFANGJINLIC"],["160130","NFYL1NDKZA","南方永利1年定开债A","定开债券","NANFANGYONGLI1NIANDINGKAIZHAIA"],["160131","NFJL1NDKZA","南方聚利1年定开债A","定开债券","NANFANGJULI1NIANDINGKAIZHAIA"],["160132","NFYLC","南方永利C","定开债券","NANFANGYONGLIC"],["160133","NFTY","南方天元","股票型","NANFANGTIANYUAN"],["160134","NFJLC","南方聚利C","定开债券","NANFANGJULIC"],["160135","NFZZGTCYZSFJ","南方中证高铁产业指数分级","股票指数","NANFANGZHONGZHENGGAOTIECHANYEZHISHUFENJI"],["160136","NFZZGYQYGGZSFJ","南方中证国有企业改革指数分级","股票指数","NANFANGZHONGZHENGGUOYOUQIYEGAIGEZHISHUFENJI"],["160137","NFZZHLWZSFJ","南方中证互联网指数分级","股票指数","NANFANGZHONGZHENGHULIANWANGZHISHUFENJI"],["160138","NFHSZGQYJMZSA","南方恒生中国企业精明指数A","QDII-指数","NANFANGHENGSHENGZHONGGUOQIYEJINGMINGZHISHUA"],["160139","NFHSZGQYJMZSC","南方恒生中国企业精明指数C","QDII-指数","NANFANGHENGSHENGZHONGGUOQIYEJINGMINGZHISHUC"],["160211","GTZXPCZHHLOF","国泰中小盘成长混合(LOF)","混合型","GUOTAIZHONGXIAOPANCHENGZHANGHUNHELOF"],["160212","GTGZYSHHLOF","国泰估值优势混合(LOF)","混合型","GUOTAIGUZHIYOUSHIHUNHELOF"],["160213","GTNSDK100ZS","国泰纳斯达克100指数","QDII-指数","GUOTAINASIDAKE100ZHISHU"],["160215","GTJZJDHHLOF","国泰价值经典混合(LOF)","混合型","GUOTAIJIAZHIJINGDIANHUNHELOF"],["160216","GTSP","国泰商品","QDII","GUOTAISHANGPIN"],["160217","GTHLFJZQ","国泰互利分级债券","债券型","GUOTAIHULIFENJIZHAIQUAN"],["160218","GTGZFDCHYZSFJ","国泰国证房地产行业指数分级","股票指数","GUOTAIGUOZHENGFANGDICHANHANGYEZHISHUFENJI"],["160219","GTGZYYWSHYZSFJ","国泰国证医药卫生指数分级","股票指数","GUOTAIGUOZHENGYIYAOWEISHENGZHISHUFENJI"],["160220","GTMYHHLOFA","国泰民益混合(LOF)A","混合型","GUOTAIMINYIHUNHE(LOF)A"],["160221","GTGZYSJSHYZSFJ","国泰国证有色金属行业指数分级","股票指数","GUOTAIGUOZHENGYOUSEJINSHUHANGYEZHISHUFENJI"],["160222","GTGZSPYLHYZSFJ","国泰国证食品饮料行业指数分级","股票指数","GUOTAIGUOZHENGSHIPINYINLIAOHANGYEZHISHUFENJI"],["160223","GTCYBZSLOF","国泰创业板指数(LOF)","股票指数","GUOTAICHUANGYEBANZHISHULOF"],["160224","GTSZTMT50ZSFJ","国泰深证TMT50指数分级","股票指数","GUOTAISHENZHENGTMT50ZHISHUFENJI"],["160225","GTGZXNYQCZS","国泰国证新能源汽车指数","股票指数","GUOTAIGUOZHENGXINNENGYUANQICHEZHISHU"],["160226","GTMYHHLOFC","国泰民益混合(LOF)C","混合型","GUOTAIMINYIHUNHE(LOF)C"],["160311","HXLC","华夏蓝筹","混合型","HUAXIALANCHOU"],["160314","HXHYHHLOF","华夏行业混合(LOF)","混合型","HUAXIAHANGYEHUNHELOF"],["160322","HXGGTJXGPLOF","华夏港股通精选股票LOF","股票型","HUAXIAGANGGUTONGJINGXUANGUPIAOLOF"],["160323","HXPTDKHHLOF","华夏磐泰定开混合(LOF)","混合型","HUAXIAPANTAIDINGKAIHUNHELOF"],["160415","HASZ300","华安深证300","股票指数","HUAANSHENZHENG300"],["160416","HABPSYZS","华安标普石油指数","QDII-指数","HUAANBIAOPUDANYOUZHISHU"],["160417","HAHS300ZSFJ","华安沪深300指数分级","股票指数","HUAANHUSHEN300ZHISHUFENJI"],["160418","HAZZYHZSFJ","华安中证银行指数分级","股票指数","HUAANZHONGZHENGYINHANGZHISHUFENJI"],["160419","HAZZQZZQGSZSFJ","华安中证全指证券公司指数分级","股票指数","HUAANZHONGZHENGQUANZHIZHENGQUANGONGSIZHISHUFENJI"],["160420","HACYB50ZSFJ","华安创业板50指数分级","股票指数","HUAANCHUANGYEBAN50ZHISHUFENJI"],["160421","HAZZJXHH","华安智增精选混合","混合型","HUAANZHIZENGJINGXUANHUNHE"],["160422","HAZZDXZF","华安中证定向增发","股票指数","HUAANZHONGZHENGDINGXIANGZENGFA"],["160505","BSZTHYHHLOF","博时主题行业混合(LOF)","混合型","BOSHIZHUTIHANGYEHUNHELOF"],["160512","BSZYPPHHLOF","博时卓越品牌混合(LOF)","混合型","BOSHIZHUOYUEPINPAIHUNHELOF"],["160513","BSWJHBZQLOFA","博时稳健回报债券(LOF)A","债券型","BOSHIWENJIANHUIBAOZHAIQUANLOFA"],["160514","BSWJHBZQLOFC","博时稳健回报债券(LOF)C","债券型","BOSHIWENJIANHUIBAOZHAIQUANLOFC"],["160515","BSAF18GYDKZA","博时安丰18个月定开债A","定开债券","BOSHIANFENG18GEYUEDINGKAIZHAIA"],["160516","BSZZ800ZQBXFJ","博时中证800证券保险分级","股票指数","BOSHIZHONGZHENG800ZHENGQUANBAOXIANFENJI"],["160517","BSZZYHZSFJ","博时中证银行指数分级","股票指数","BOSHIZHONGZHENGYINHANGZHISHUFENJI"],["160518","BSRY","博时睿远","混合型","BOSHIRUIYUAN"],["160519","BSRLDZ","博时睿利定增","混合型","BOSHIRUILIDINGZENG"],["160520","BSHYDQKFHHA","博时弘盈定期开放混合A","混合型","BOSHIHONGYINGDINGQIKAIFANGHUNHEA"],["160521","BSHYDQKFHHC","博时弘盈定期开放混合C","混合型","BOSHIHONGYINGDINGQIKAIFANGHUNHEC"],["160522","BSRY","博时睿益","混合型","BOSHIRUIYI"],["160523","BSAF18GYDKZC","博时安丰18个月定开债C","定开债券","BOSHIANFENG18GEYUEDINGKAIZHAIC"],["160524","BSHTHH","博时弘泰混合","混合型","BOSHIHONGTAIHUNHE"],["160525","BSRFDKHH","博时睿丰定开混合","混合型","BOSHIRUIFENGDINGKAIHUNHE"],["160602","PHPTZQA","鹏华普天债券A","债券型","PENGHUAPUTIANZHAIQUANA"],["160603","PHPTSY","鹏华普天收益","混合型","PENGHUAPUTIANSHOUYI"],["160605","PHZG50","鹏华中国50","混合型","PENGHUAZHONGGUO50"],["160606","PHHBA","鹏华货币A","货币型","PENGHUAHUOBIA"],["160607","PHJZYSHHLOF","鹏华价值优势混合(LOF)","混合型","PENGHUAJIAZHIYOUSHIHUNHELOF"],["160608","PHPTZQB","鹏华普天债券B","债券型","PENGHUAPUTIANZHAIQUANB"],["160609","PHHBB","鹏华货币B","货币型","PENGHUAHUOBIB"],["160610","PHDLZZ","鹏华动力增长","混合型","PENGHUADONGLIZENGZHANG"],["160611","PHYZZLHHLOF","鹏华优质治理混合(LOF)","混合型","PENGHUAYOUZHIZHILIHUNHELOF"],["160612","PHFSZQ","鹏华丰收债券","债券型","PENGHUAFENGSHOUZHAIQUAN"],["160613","PHSSCXHHLOF","鹏华盛世创新混合(LOF)","混合型","PENGHUASHENGSHICHUANGXINHUNHELOF"],["160615","PHHS300","鹏华沪深300","股票指数","PENGHUAHUSHEN300"],["160616","PHZZ500","鹏华中证500","股票指数","PENGHUAZHONGZHENG500"],["160617","PHFRZQLOF","鹏华丰润债券(LOF)","债券型","PENGHUAFENGRUNZHAIQUANLOF"],["160618","PHFZZQLOF","鹏华丰泽债券(LOF)","债券型","PENGHUAFENGZEZHAIQUANLOF"],["160620","PHZYFJ","鹏华资源分级","股票指数","PENGHUAZIYUANFENJI"],["160621","PHFHZQLOF","鹏华丰和债券(LOF)","债券型","PENGHUAFENGHEZHAIQUANLOF"],["160622","PHFLZQLOF","鹏华丰利债券(LOF)","债券型","PENGHUAFENGLIZHAIQUANLOF"],["160624","PHXFLXHH","鹏华消费领先混合","混合型","PENGHUAXIAOFEILINGXIANHUNHE"],["160625","PHZQBXFJ","鹏华证券保险分级","股票指数","PENGHUAZHENGQUANBAOXIANFENJI"],["160626","PHXXFJ","鹏华信息分级","股票指数","PENGHUAXINXIFENJI"],["160627","PHCLYXHH","鹏华策略优选混合","混合型","PENGHUACELUEYOUXUANHUNHE"],["160628","PHDCFJ","鹏华地产分级","股票指数","PENGHUADICHANFENJI"],["160629","PHCMFJ","鹏华传媒分级","股票指数","PENGHUACHUANMEIFENJI"],["160630","PHGF","鹏华国防","股票指数","PENGHUAGUOFANG"],["160631","PHYHFJ","鹏华银行分级","股票指数","PENGHUAYINHANGFENJI"],["160632","PHJFJ","鹏华酒分级","股票指数","PENGHUAJIUFENJI"],["160633","PHZQFJ","鹏华证券分级","股票指数","PENGHUAZHENGQUANFENJI"],["160634","PHHBFJ","鹏华环保分级","股票指数","PENGHUAHUANBAOFENJI"],["160635","PHZZYYWSLOF","鹏华中证医药卫生(LOF)","股票指数","PENGHUAZHONGZHENGYIYAOWEISHENGLOF"],["160636","PHHLWFJ","鹏华互联网分级","股票指数","PENGHUAHULIANWANGFENJI"],["160637","PHCYBFJ","鹏华创业板分级","股票指数","PENGHUACHUANGYEBANFENJI"],["160638","PHYDYLFJ","鹏华一带一路分级","股票指数","PENGHUAYIDAIYILUFENJI"],["160639","PHGTFJ","鹏华高铁分级","股票指数","PENGHUAGAOTIEFENJI"],["160640","PHXNYFJ","鹏华新能源分级","股票指数","PENGHUAXINNENGYUANFENJI"],["160642","PHZRHH","鹏华增瑞混合","混合型","PENGHUAZENGRUIHUNHE"],["160706","JSHS300ETFLJ","嘉实沪深300ETF联接","联接基金","JIASHIHUSHEN300ETFLIANJIE"],["160716","JSJBM50","嘉实基本面50","股票指数","JIASHIJIBENMIAN50"],["160717","JSHSZGQY","嘉实恒生中国企业","QDII-指数","JIASHIHENGSHENGZHONGGUOQIYE"],["160718","JSDLFJZQ","嘉实多利分级债券","债券型","JIASHIDUOLIFENJIZHAIQUAN"],["160719","JSHJ","嘉实黄金","QDII","JIASHIHUANGJIN"],["160720","JSZZZQQYZZSA","嘉实中证中期企业债指数A","债券指数","JIASHIZHONGZHENGZHONGJIQIYEZHAIZHISHUA"],["160721","JSZZZQQYZZSC","嘉实中证中期企业债指数C","债券指数","JIASHIZHONGZHENGZHONGJIQIYEZHAIZHISHUC"],["160722","JSHZDZHH","嘉实惠泽定增混合","混合型","JIASHIHUIZEDINGZENGHUNHE"],["160723","JSYYQDIILOF","嘉实原油(QDII-LOF)","QDII","JIASHIYUANYOUQDIILOF"],["160805","CSTZYS","长盛同智优势","混合型","CHANGSHENGTONGZHIYOUSHI"],["160806","CSTQZZ800LOF","长盛同庆中证800(LOF)","股票指数","CHANGSHENGTONGQINGZHONGZHENG800(LOF)"],["160807","CSHS300","长盛沪深300","股票指数","CHANGSHENGHUSHEN300"],["160808","CSTR200FJ","长盛同瑞200分级","股票指数","CHANGSHENGTONGRUI200FENJI"],["160809","CSTH100DQFJ","长盛同辉100等权分级","股票指数","CHANGSHENGTONGHUI100DENGQUANFENJI"],["160810","CSTFZQLOF","长盛同丰债券(LOF)","债券型","CHANGSHENGTONGFENGZHAIQUANLOF"],["160812","CSTYCZHB","长盛同益成长回报","混合型","CHANGSHENGTONGYICHENGZHANGHUIBAO"],["160813","CSTSCZYX","长盛同盛成长优选","混合型","CHANGSHENGTONGCHENGCHENGZHANGYOUXUAN"],["160814","CSZZJRDCZSFJ","长盛中证金融地产指数分级","股票指数","CHANGSHENGZHONGZHENGJINRONGDICHANZHISHUFENJI"],["160910","DCCXCZHH","大成创新成长混合","混合型","DACHENGCHUANGXINCHENGZHANGHUNHE"],["160915","DCJFZQLOF","大成景丰债券(LOF)","债券型","DACHENGJINGFENGZHAIQUANLOF"],["160916","DCYXHHLOF","大成优选混合(LOF)","混合型","DACHENGYOUXUANHUNHELOF"],["160918","DCZXPHHLOF","大成中小盘混合(LOF)","混合型","DACHENGZHONGXIAOPANHUNHELOF"],["160919","DCCYSJGP","大成产业升级股票","股票型","DACHENGCHANYESHENGJIGUPIAO"],["160921","DCDZLHPZHH","大成定增灵活配置混合","混合型","DACHENGDINGZENGLINGHUOPEIZHIHUNHE"],["160922","DCHSZHZXXGZS","大成恒生综合中小型股指数","QDII-指数","DACHENGHENGSHENGZONGHEZHONGXIAOXINGGUZHISHU"],["160923","DCHWZGJHHH","大成海外中国机会混合","QDII","DACHENGHAIWAIZHONGGUOJIHUIHUNHE"],["161005","FGTHCZHHA","富国天惠成长混合A","混合型","FUGUOTIANHUICHENGZHANGHUNHEA"],["161006","FGTHCZHHA","富国天惠成长混合A(后端)","混合型","FUGUOTIANHUICHENGZHANGHUNHEA"],["161010","FGTFQHZQLOF","富国天丰强化债券(LOF)","债券型","FUGUOTIANFENGQIANGHUAZHAIQUANLOF"],["161014","FGHLHBFJZQ","富国汇利回报分级债券","债券型","FUGUOHUILIHUIBAOFENJIZHAIQUAN"],["161015","FGTYZQLOF","富国天盈债券(LOF)","债券型","FUGUOTIANYINGZHAIQUANLOF"],["161017","FGZZ500","富国中证500","股票指数","FUGUOZHONGZHENG500"],["161018","FGTFQHZQLOF","富国天丰强化债券(LOF)(后端)","债券型","FUGUOTIANFENGQIANGHUAZHAIQUANLOF"],["161019","FGXTFDQKFZQ","富国新天锋定期开放债券","定开债券","FUGUOXINTIANFENGDINGQIKAIFANGZHAIQUAN"],["161020","FGXTFDQKFZQ","富国新天锋定期开放债券(后端)","定开债券","FUGUOXINTIANFENGDINGQIKAIFANGZHAIQUAN"],["161021","FGZZ500","富国中证500(后端)","股票指数","FUGUOZHONGZHENG500"],["161022","FGCYBZSFJ","富国创业板指数分级","股票指数","FUGUOCHUANGYEBANZHISHUFENJI"],["161024","FGZZJGZSFJ","富国中证军工指数分级","股票指数","FUGUOZHONGZHENGJUNGONGZHISHUFENJI"],["161025","FGZZYDHLWZSFJ","富国中证移动互联网指数分级","股票指数","FUGUOZHONGZHENGYIDONGHULIANWANGZHISHUFENJI"],["161026","FGZZGQGGZSFJ","富国中证国企改革指数分级","股票指数","FUGUOZHONGZHENGGUOQIGAIGEZHISHUFENJI"],["161027","FGZZQZZQGSZSFJ","富国中证全指证券公司指数分级","股票指数","FUGUOZHONGZHENGQUANZHIZHENGQUANGONGSIZHISHUFENJI"],["161028","FGZZXNYQCZSFJ","富国中证新能源汽车指数分级","股票指数","FUGUOZHONGZHENGXINNENGYUANQICHEZHISHUFENJI"],["161029","FGZZYHZSFJ","富国中证银行指数分级","股票指数","FUGUOZHONGZHENGYINHANGZHISHUFENJI"],["161030","FGZZTYCYZSFJ","富国中证体育产业指数分级","股票指数","FUGUOZHONGZHENGTIYUCHANYEZHISHUFENJI"],["161031","FGZZGY40ZSFJ","富国中证工业4.0指数分级","股票指数","FUGUOZHONGZHENGGONGYE40ZHISHUFENJI"],["161032","FGZZMTZSFJ","富国中证煤炭指数分级","股票指数","FUGUOZHONGZHENGMEITANZHISHUFENJI"],["161033","FGZZZNQCLOF","富国中证智能汽车(LOF)","股票指数","FUGUOZHONGZHENGZHINENGQICHE(LOF)"],["161035","FGZZYYZTZSZQ","富国中证医药主题指数增强","股票指数","FUGUOZHONGZHENGYIYAOZHUTIZHISHUZENGQIANG"],["161036","FGZZYLZTZSZQX","富国中证娱乐主题指数增强型","股票指数","FUGUOZHONGZHENGYULEZHUTIZHISHUZENGQIANGXING"],["161037","FGZZGDZZZSZQX","富国中证高端制造指数增强型","股票指数","FUGUOZHONGZHENGGAODUANZHIZAOZHISHUZENGQIANGXING"],["161115","YFDSFTLZQLOF","易方达岁丰添利债券(LOF)","债券型","YIFANGDASUIFENGTIANLIZHAIQUANLOF"],["161116","YFDHJZT","易方达黄金主题","QDII","YIFANGDAHUANGJINZHUTI"],["161117","YFDYXTLZQ","易方达永旭添利债券","定开债券","YIFANGDAYONGXUTIANLIZHAIQUAN"],["161118","YFDZXBZSFJ","易方达中小指数分级","股票指数","YIFANGDAZHONGXIAOZHISHUFENJI"],["161119","YFDXZHZQA","易方达新综合债券A","债券指数","YIFANGDAXINZENGHEZHAIQUANA"],["161120","YFDXZHZQC","易方达新综合债券C","债券指数","YIFANGDAXINZENGHEZHAIQUANC"],["161121","YFDYHFJ","易方达银行分级","股票指数","YIFANGDAYINHANGFENJI"],["161122","YFDSWFJ","易方达生物分级","股票指数","YIFANGDASHENGWUFENJI"],["161123","YFDCZFJ","易方达重组分级","股票指数","YIFANGDACHONGZUFENJI"],["161124","YFDXGHSZHXXGZS","易方达香港恒生综合小型股指数","QDII-指数","YIFANGDAXIANGGANGHENGSHENGZONGHEXIAOXINGGUZHISHU"],["161125","YFDBP500ZSRMB","易方达标普500指数人民币","QDII-指数","YIFANGDABIAOPU500ZHISHURENMINBI"],["161126","YFDBPYLBJRMB","易方达标普医疗保健人民币","QDII-指数","YIFANGDABIAOPUYILIAOBAOJIANRENMINBI"],["161127","YBPSWKJRMB","易标普生物科技人民币","QDII-指数","YIBIAOPUSHENGWUKEJIRENMINBI"],["161128","YBPXXKJRMB","易标普信息科技人民币","QDII-指数","YIBIAOPUXINXIKEJIRENMINBI"],["161129","YFDYYALRMB","易方达原油A类人民币","QDII","YIFANGDAYUANYOUALEIRENMINBI"],["161207","GTRYHS300","国投瑞银沪深300","股票指数","GUOTOURUIYINHUSHEN300"],["161210","GTRYXXSC","国投瑞银新兴市场","QDII","GUOTOURUIYINXINXINGSHICHANG"],["161211","GTHS300JRDCLJ","国投沪深300金融地产联接","联接基金","GUOTOUHUSHEN300JINRONGDECHANLIANJIE"],["161213","GTRYXFFWZS","国投瑞银消费服务指数","股票指数","GUOTOURUIYINXIAOFEIFUWUZHISHU"],["161215","GTRYXFFWZS","国投瑞银消费服务指数(后端)","股票指数","GUOTOURUIYINXIAOFEIFUWUZHISHU"],["161216","GTRYSZZQLOFA","国投瑞银双债债券(LOF)A","债券型","GUOTOURUIYINSHUANGZHAIZHAIQUANLOFA"],["161217","GTRYZZZS","国投瑞银中证指数","股票指数","GUOTOURUIYINZHONGZHENGZHISHU"],["161218","GTRYZZZS","国投瑞银中证指数(后端)","股票指数","GUOTOURUIYINZHONGZHENGZHISHU"],["161219","GTRYXXCY","国投瑞银新兴产业","混合型","GUOTOURUIYINXINXINGCHANYE"],["161220","GTRYXXCY","国投瑞银新兴产业(后端)","混合型","GUOTOURUIYINXINXINGCHANYE"],["161221","GTRYSZZQC","国投瑞银双债债券C","债券型","GUOTOURUIYINSHUANGZHAIZHAIQUANC"],["161222","GTRYRLHHLOF","国投瑞银瑞利混合(LOF)","混合型","GUOTOURUIYINRUILIHUNHELOF"],["161223","GTRYZZCYZSFJ","国投瑞银中证创业指数分级","股票指数","GUOTOURUIYINZHONGZHENGCHUANGYEZHISHUFENJI"],["161224","GTRYXSLHHLOF","国投瑞银新丝路混合(LOF)","混合型","GUOTOURUIYINXINSILUHUNHELOF"],["161225","GTRYRYHHLOF","国投瑞银瑞盈混合(LOF)","混合型","GUOTOURUIYINRUIYINGHUNHELOF"],["161226","GTRYBYQHLOF","国投瑞银白银期货(LOF)","混合型","GUOTOURUIYINBAIYINQIHUOLOF"],["161227","GTRYSZ100ZS","国投瑞银深证100指数","股票指数","GUOTOURUIYINSHENZHENG100ZHISHU"],["161228","GTRYSZ100ZS","国投瑞银深证100指数(后端)","股票指数","GUOTOURUIYINSHENZHENG100ZHISHU"],["161229","GTRYZGJZFXGP","国投瑞银中国价值发现股票","QDII","GUOTOURUIYINZHONGGUOJIAZHIFAXIANGUPIAO"],["161230","GTRYSZFLDKZA","国投瑞银双债丰利定开债A","定开债券","GUOTOURUIYINSHUANGZHAIFENGLIDINGKAIZHAIA"],["161231","GTRYSZFLDKZC","国投瑞银双债丰利定开债C","定开债券","GUOTOURUIYINSHUANGZHAIFENGLIDINGKAIZHAIC"],["161232","GTRYRSHH","国投瑞银瑞盛混合","混合型","GUOTOURUIYINRUISHENGHUNHE"],["161233","GTRYRTDZHH","国投瑞银瑞泰定增混合","混合型","GUOTOURUIYINRUITAIDINGZENGHUNHE"],["161505","YHTLZQLOFA","银河通利债券(LOF)A","债券型","YINHETONGLIZHAIQUANLOFA"],["161506","YHTLZQLOFC","银河通利债券(LOF)C","债券型","YINHETONGLIZHAIQUANLOFC"],["161507","YHHS300CZFJ","银河沪深300成长分级","股票指数","YINHEHUSHEN300CHENGZHANGFENJI"],["161601","RTXLC","融通新蓝筹","混合型","RONGTONGXINLANCHOU"],["161602","RTXLC","融通新蓝筹(后端)","混合型","RONGTONGXINLANCHOU"],["161603","RTZQAB","融通债券A/B","债券型","RONGTONGZHAIQUANAB"],["161604","RTSZ100","融通深证100","股票指数","RONGTONGSHENZHENG100"],["161605","RTLCCZ","融通蓝筹成长","混合型","RONGTONGLANCHOUCHENGZHANG"],["161606","RTHYJQ","融通行业景气","混合型","RONGTONGHANGYEJINGQI"],["161607","RTJC100","融通巨潮100","股票指数","RONGTONGJUCHAO100"],["161608","RTYZFHBA","融通易支付货币A","货币型","RONGTONGYIZHIFUHUOBIA"],["161609","RTDLXFHH","融通动力先锋混合","混合型","RONGTONGDONGLIXIANFENGHUNHE"],["161610","RTLXCZHHLOF","融通领先成长混合(LOF)","混合型","RONGTONGLINGXIANCHENGZHANGHUNHELOF"],["161611","RTNXQDHH","融通内需驱动混合","混合型","RONGTONGNEIXUQUDONGHUNHE"],["161612","RTSZCFZS","融通深证成份指数","股票指数","RONGTONGSHENZHENGCHENGFENZHISHU"],["161613","RTCYBZSZQ","融通创业板指数增强","股票指数","RONGTONGCHUANGYEBANZHISHUZENGQIANG"],["161614","RTSJTLZQLOF","融通四季添利债券(LOF)","债券型","RONGTONGSIJITIANLIZHAIQUANLOF"],["161615","RTYZFHBB","融通易支付货币B","货币型","RONGTONGYIZHIFUHUOBIB"],["161616","RTYLBJHYHH","融通医疗保健行业混合","混合型","RONGTONGYILIAOBAOJIANHANGYEHUNHE"],["161617","RTYLBJHYHH","融通医疗保健行业混合(后端)","混合型","RONGTONGYILIAOBAOJIANHANGYEHUNHE"],["161618","RTSSTLZQA","融通岁岁添利债券A","定开债券","RONGTONGSUISUITIANLIZHAIQUANA"],["161619","RTSSTLZQB","融通岁岁添利债券B","定开债券","RONGTONGSUISUITIANLIZHAIQUANB"],["161620","RTFLSFF","融通丰利四分法","QDII","RONGTONGFENGLISIFENFA"],["161621","RTFLSFF","融通丰利四分法(后端)","QDII","RONGTONGFENGLISIFENFA"],["161622","RTHCBHBA","融通汇财宝货币A","货币型","RONGTONGHUICAIBAOHUOBIA"],["161623","RTHCBHBB","融通汇财宝货币B","货币型","RONGTONGHUICAIBAOHUOBIB"],["161624","RTKZZZQA","融通可转债债券A","债券型","RONGTONGKEZHUANZHAIZHAIQUANA"],["161625","RTKZZZQC","融通可转债债券C","债券型","RONGTONGKEZHUANZHAIZHAIQUANC"],["161626","RTTFZQLOFA","融通通福债券(LOF)A","债券型","RONGTONGTONGFUZHAIQUANLOFA"],["161627","RTTFZQLOFC","融通通福债券(LOF)C","债券型","RONGTONGTONGFUZHAIQUANLOFC"],["161628","RTJGFJ","融通军工分级","股票指数","RONGTONGJUNGONGFENJI"],["161629","RTZQFJ","融通证券分级","股票指数","RONGTONGZHENGQUANFENJI"],["161630","RTZZDNYLOF","融通中证大农业(LOF)","股票指数","RONGTONGZHONGZHENGDANONGYELOF"],["161631","RTRGZNZSLOF","融通人工智能指数(LOF)","股票指数","RONGTONGRENGONGZHINENGZHISHULOF"],["161653","RTZQAB","融通债券A/B(后端)","债券型","RONGTONGZHAIQUANAB"],["161654","RTSZ100","融通深证100(后端)","股票指数","RONGTONGSHENZHENG100"],["161655","RTLCCZ","融通蓝筹成长(后端)","混合型","RONGTONGLANCHOUCHENGZHANG"],["161656","RTHYJQ","融通行业景气(后端)","混合型","RONGTONGHANGYEJINGQI"],["161657","RTJC100","融通巨潮100(后端)","股票指数","RONGTONGJUCHAO100"],["161659","RTDLXFHH","融通动力先锋混合(后端)","混合型","RONGTONGDONGLIXIANFENGHUNHE"],["161660","RTLXCZHHLOF","融通领先成长混合(LOF)(后端)","混合型","RONGTONGLINGXIANCHENGZHANGHUNHELOF"],["161661","RTNXQDHH","融通内需驱动混合(后端)","混合型","RONGTONGNEIXUQUDONGHUNHE"],["161662","RTSZCFZS","融通深证成份指数(后端)","股票指数","RONGTONGSHENZHENGCHENGFENZHISHU"],["161663","RTCYBZSZQ","融通创业板指数增强(后端)","股票指数","RONGTONGCHUANGYEBANZHISHUZENGQIANG"],["161693","RTZQC","融通债券C","债券型","RONGTONGZHAIQUANC"],["161706","ZSYZCZHHLOF","招商优质成长混合(LOF)","混合型","ZHAOSHANGYOUZHICHENGZHANGHUNHELOF"],["161707","ZSYZCZHHLOF","招商优质成长混合(LOF)(后端)","混合型","ZHAOSHANGYOUZHICHENGZHANGHUNHELOF"],["161713","ZSXYTLZQLOF","招商信用添利债券(LOF)","债券型","ZHAOSHANGXINYONGTIANLIZHAIQUANLOF"],["161714","ZSBPJZSG","招商标普金砖四国","QDII-指数","QIAOSHANGBIAOPUJINZHUANSIGUO"],["161715","ZSZZDZSPZSFJ","招商中证大宗商品指数分级","股票指数","ZHAOSHANGZHONGZHENGDAZONGSHANGPINZHISHUFENJI"],["161716","ZSSZZQZQLOF","招商双债增强债券(LOF)","债券型","ZHAOSHANGSHUANGZHAIZENGQIANGZHAIQUANLOF"],["161718","ZSHS300GBTZSFJ","招商沪深300高贝塔指数分级","股票指数","ZHAOSHANGHUSHEN300GAOBEITAZHISHUFENJI"],["161719","ZSKZZFJZQ","招商可转债分级债券","债券型","ZHAOSHANGKEZHUANZHAIFENJIZHAIQUAN"],["161720","ZSZZQZZQGSZSFJ","招商中证全指证券公司指数分级","股票指数","ZHAOSHANGZHONGZHENGQUANZHIZHENGQUANGONGSIZHISHUFENJI"],["161721","ZSHS300DCZSFJ","招商沪深300地产指数分级","股票指数","QIAOSHANGHUSHEN300DECHANZHISHUFENJI"],["161722","ZSFTHHLOF","招商丰泰混合(LOF)","混合型","QIAOSHANGFENGTAIHUNHE(LOF)"],["161723","ZSZZYHZSFJ","招商中证银行指数分级","股票指数","ZHAOSHANGZHONGZHENGYINHANGZHISHUFENJI"],["161724","ZSZZMTDQZSFJ","招商中证煤炭等权指数分级","股票指数","ZHAOSHANGZHONGZHENGMEITANDENGQUANZHISHUFENJI"],["161725","ZSZZBJZSFJ","招商中证白酒指数分级","股票指数","ZHAOSHANGZHONGZHENGBAIJIUZHISHUFENJI"],["161726","ZSGZSWYYZSFJ","招商国证生物医药指数分级","股票指数","ZHAOSHANGGUOZHENGSHENGWUYIYAOZHISHUFENJI"],["161727","ZSZRHH","招商增荣混合","混合型","ZHAOSHANGZENGRONGHUNHE"],["161810","YHNXJXHHLOF","银华内需精选混合(LOF)","混合型","YINHUANEIXUJINGXUANHUNHELOF"],["161811","YHHS300ZSFJ","银华沪深300指数分级","股票指数","YINHUAHUSHEN300ZHISHUFENJI"],["161812","YHSZ100FJ","银华深证100分级","股票指数","YINHUASHENZHENG100FENJI"],["161813","YHXYZQLOF","银华信用债券(LOF)","债券型","YINHUAXINYONGZHAIQUANLOF"],["161815","YHKTZZT","银华抗通胀主题","QDII","YINHUAKANGTONGZHANGZHUTI"],["161816","YHZZDQ90FJ","银华中证等权90分级","股票指数","YINHUAZHONGZHENGDENGQUAN90FENJI"],["161818","YHXFFJHH","银华消费分级混合","混合型","YINHUAXIAOFEIFENJIHUNHE"],["161819","YHZYZSFJ","银华资源指数分级","股票指数","YINHUAZIYUANZHISHUFENJI"],["161820","YHCZXYZQ","银华纯债信用债券","债券型","YINHUACHUNZHAIXINYONGZHAIQUAN"],["161821","YHZZZP50ZSZQA","银华中证中票50指数债券A","债券指数","YINHUAZHONGZHENGZHONGPIAO50ZHISHUZHAIQUANA"],["161822","YHZZZP50ZSZQC","银华中证中票50指数债券C","债券指数","YINHUAZHONGZHENGZHONGPIAO50ZHISHUZHAIQUANC"],["161823","YHYXCZZQLOFA","银华永兴纯债债券(LOF)A","债券型","YINHUAYONGXINGCHUNZHAIZHAIQUANLOFA"],["161824","YHYXCZZQLOFC","银华永兴纯债债券(LOF)C","债券型","YINHUAYONGXINGCHUNZHAIZHAIQUANLOFC"],["161825","YHZZ800FJ","银华中证800分级","股票指数","YINHUAZHONGZHENG800FENJI"],["161826","YHZZZZZSZQFJ","银华中证转债指数增强分级","债券指数","YINHUAZHONGZHENGZHUANZHAIZHISHUZENGQIANGFENJI"],["161827","YHYYFJZQ","银华永益分级债券","债券型","YINHUAYONGYIFENJIZHAIQUAN"],["161828","YHYYFJZQA","银华永益分级债券A","固定收益","YINHUAYONGYIFENJIZHAIQUANA"],["161831","YHHSGQZSFJ","银华恒生国企指数分级","QDII-指数","YINHUAHENGSHENGGUOQIZHISHUFENJI"],["161834","YHXRDZLHPZHH","银华鑫锐定增灵活配置混合","混合型","YINHUAXINRUIDINGZENGLINGHUOPEIZHIHUNHE"],["161835","YHHFDKHH","银华惠丰定开混合","混合型","YINHUAHUIFENGDINGKAIHUNHE"],["161902","WJZQSYZQ","万家增强收益债券","债券型","WANJIAZENGQIANGSHOUYIZHAIQUAN"],["161903","WJHYYXHHLOF","万家行业优选混合(LOF)","混合型","WANJIAHANGYEYOUXUANHUNHELOF"],["161907","WJZZHLZS","万家中证红利指数","股票指数","WANJIAZHONGZHENGGONGLIZHISHU"],["161908","WJTLZQLOF","万家添利债券(LOF)","债券型","WANJIATIANLIZHAIQUANLOF"],["161910","WJZCZSFJ","万家中创指数分级","股票指数","WANJIAZHONGCHUANGZHISHUFENJI"],["161911","WJQHSYDQKFZQ","万家强化收益定期开放债券","定开债券","WANJIAQIANGHUASHOUYIDINGKAIZHAI"],["162006","CCJFHHLOF","长城久富混合(LOF)","混合型","CHANGCHENGJIUFUHUNHELOF"],["162010","CCJZZXB300","长城久兆中小板300","股票指数","CHANGCHENGJIUZHAOZHONGXIAOBAN300"],["162102","JYZXPJX","金鹰中小盘精选","混合型","JINYINGZHONGXIAOPANJINGXUAN"],["162105","JYCJZLZQLOFC","金鹰持久增利债券(LOF)C","债券型","JINYINGCHIJIUZENGLIZHAIQUANLOFC"],["162107","JYLHJXGPLOF","金鹰量化精选股票(LOF)","股票型","JINYINGLIANGHUAJINGXUANGUPIAOLOF"],["162108","JYYSZQXFQSC","金鹰元盛债券型发起式C","债券型","JINYINGYUANSHENGZHAIQUANXINGFAQISHIC"],["162201","TDHLCZHH","泰达宏利成长混合","混合型","TAIDAHONGLICHENGZHANGHUNHE"],["162202","TDHLZQHH","泰达宏利周期混合","混合型","TAIDAHONGLIZHOUQIHUNHE"],["162203","TDHLWDHH","泰达宏利稳定混合","混合型","TAIDAHONGLIWENDINGHUNHE"],["162204","TDHLHYHH","泰达宏利行业混合","混合型","TAIDAHONGLIHANGYEHUNHE"],["162205","TDHLFXYSHH","泰达宏利风险预算混合","混合型","TAIDAHONGLIFENGXIANYUSUANHUNHE"],["162206","TDHLHBA","泰达宏利货币A","货币型","TAIDAHONGLIHUOBIA"],["162207","TDHLXLYXHH","泰达宏利效率优选混合","混合型","TAIDAHONGLIXIAOLVYOUXUANHUNHE"],["162208","TDHLSXQYGP","泰达宏利首选企业股票","股票型","TAIDAHONGLISHOUXUANQIYEGUPIAO"],["162209","TDHLSZYXHH","泰达宏利市值优选混合","混合型","TAIDAHONGLISHIZHIYOUXUANHUNHE"],["162210","TDHLJLZQA","泰达宏利集利债券A","债券型","TAIDAHONGLIJILIZHAIQUANA"],["162211","TDHLPZSHHH","泰达宏利品质生活混合","混合型","TAIDAHONGLIPINZHISHENGHUOHUNHE"],["162212","TDHLHLXFHH","泰达宏利红利先锋混合","混合型","TAIDAHONGLIHONGLIXIANFENGHUNHE"],["162213","TDHLCFDPZSA","泰达宏利财富大盘指数A","股票指数","TAIDAHONGLICAIFUDAPANZHISHUA"],["162214","TDHLLXZXPHH","泰达宏利领先中小盘混合","混合型","TAIDAHONGLILINGXIANZHONGXIAOPANHUNHE"],["162215","TDHLJLZQLOF","泰达宏利聚利债券(LOF)","债券型","TAIDAHONGLIJULIZHAIQUANLOF"],["162216","TDZZ500FJ","泰达中证500分级","股票指数","TAIDAZHONGZHENG500FENJI"],["162299","TDHLJLZQC","泰达宏利集利债券C","债券型","TAIDAHONGLIJILIZHAIQUANC"],["162307","HFTZZ100","海富通中证100","股票指数","HAIFUTONGZHONGZHENG100"],["162308","HFTWJZLZQLOF","海富通稳进增利债券(LOF)","债券型","HAIFUTONGWENJINZENGLIZHAIQUANLOF"],["162411","HBBPSYZS","华宝标普石油指数","QDII-指数","HUABAOBIAOPUDANYOUZHISHU"],["162412","HBXYZZYLZSFJ","华宝兴业中证医疗指数分级","股票指数","HUABAOXINGYEZHONGZHENGYILIAOZHISHUFENJI"],["162413","HBXYZZ1000ZSFJ","华宝兴业中证1000指数分级","股票指数","HUABAOXINGYEZHONGZHENG1000ZHISHUFENJI"],["162414","HBXJYHHLOFA","华宝新机遇混合(LOF)A","混合型","HUABAOXINJIYUHUNHELOFA"],["162415","HBBPMGXFRMB","华宝标普美国消费人民币","QDII-指数","HUABAOBIAOPUMEIGUOXIAOFEIRENMINBI"],["162509","GLASXZZ100","国联安双禧中证100","股票指数","GUOLIANANSHUANGXIZHONGZHENG100"],["162510","GLASLZXBZZ","国联安双力中小板综指","股票指数","GUOLIANANSHUANGLIZHONGXIAOBANZENGZHI"],["162511","GLASJXYZQLOF","国联安双佳信用债券(LOF)","债券型","GUOLIANANSHUANGJIAXINYONGZHAIQUANLOF"],["162605","JSCCDYHHLOF","景顺长城鼎益混合(LOF)","混合型","JINGSHUNCHANGCHENGDINGYIHUNHELOF"],["162606","JSCCDYHHLOF","景顺长城鼎益混合(LOF)(后端)","混合型","JINGSHUNCHANGCHENGDINGYIHUNHELOF"],["162607","JSCCZYLDHH","景顺长城资源垄断混合","混合型","JINGSHUNCHANGCHENGZIYUANLONGDUANHUNHE"],["162703","GFXPCZHHLOF","广发小盘成长混合(LOF)","混合型","GUANGFAXIAOPANCHENGZHANGHUNHELOF"],["162711","GFZZ500ETFLJA","广发中证500ETF联接A","联接基金","GUANGFAZHONGZHENG500ETFLIANJIEA"],["162712","GFJLZQLOF","广发聚利债券(LOF)","债券型","GUANGFAJULIZHAIQUANLOF"],["162713","GFZZ500ETFLJA","广发中证500ETF联接A(后端)","联接基金","GUANGFAZHONGZHENG500ETFLIANJIEA"],["162714","GFSZ100ZSFJ","广发深证100指数分级","股票指数","GUANGFASHENZHENG100ZHISHUFENJI"],["162715","GFJYZQLOFA","广发聚源债券(LOF)A","债券型","GUANGFAJUYUANZHAIQUANLOFA"],["162716","GFJYZQLOFC","广发聚源债券(LOF)C","债券型","GUANGFAJUYUANZHAIQUANLOFC"],["162717","GFRJDZHH","广发睿吉定增混合","混合型","GUANGFARUIJIDINGZENGHUNHE"],["162718","GFXRHH","广发鑫瑞混合","混合型","GUANGFAXINRUIHUNHE"],["162719","GFDQSSYZSA","广发道琼斯石油指数A","QDII-指数","GUANGFADAOQIONGSISHIYOUZHISHUA"],["162907","TXJBM400ZSFJ","泰信基本面400指数分级","股票指数","TAIXINJIBENMIAN400ZHISHUFENJI"],["163001","CXYLBJHHLOF","长信医疗保健混合(LOF)","混合型","CHANGXINYILIAOBAOJIANHUNHELOF"],["163003","CXLXZQLOFC","长信利鑫债券(LOF)C","债券型","CHANGXINLIXINZHAIQUANLOFC"],["163005","CXLZZQLOFC","长信利众债券(LOF)C","债券型","CHANGXINLIZHONGZHAIQUANLOFC"],["163007","CXLZZQLOFA","长信利众债券(LOF)A","债券型","CHANGXINLIZHONGZHAIQUANLOFA"],["163008","CXLXZQLOFA","长信利鑫债券(LOF)A","债券型","CHANGXINLIXINZHAIQUANLOFA"],["163109","SWLXSZCZFJ","申万菱信深证成指分级","股票指数","SHENWANLINGXINSHENZHENGCHENGZHIFENJI"],["163110","SWLHXP","申万量化小盘","股票型","SHENWANLIANGHUAXIAOPAN"],["163111","SWZXB","申万中小板","股票指数","SHENWANZHONGXIAOBAN"],["163113","SWLXSWZQFJ","申万菱信申万证券分级","股票指数","SHENWANLINGXINSHENWANZHENGQUANFENJI"],["163114","SWZZHBCYZSFJ","申万中证环保产业指数分级","股票指数","SHENWANZHONGZHENGHUANBAOCHANYEZHISHUFENJI"],["163115","SWLXZZJGZSFJ","申万菱信中证军工指数分级","股票指数","SHENWANLINGXINZHONGZHENGJUNGONGZHISHUFENJI"],["163116","SWLXSWDZFJ","申万菱信申万电子分级","股票指数","SHENWANLINGXINSHENWANDIANZIFENJI"],["163117","SWLXSWCMFJ","申万菱信申万传媒分级","股票指数","SHENWANLINGXINSHENWANCHUANMEIFENJI"],["163118","SWLXSWYYSWFJ","申万菱信申万医药生物分级","股票指数","SHENWANLINGXINSHENWANYIYAOSHENGWUFENJI"],["163119","SWZZSWXXJKCYZS","申万中证申万新兴健康产业指数","股票指数","SHENWANZHONGZHENGSHENWANXINXINGJIANKANGCHANYEZHISHU"],["163208","NAYQNY","诺安油气能源","QDII","NUOANYOUQINENGYUAN"],["163209","NAZZCYCZZSFJ","诺安中证创业成长指数分级","股票指数","NUOANZHONGZHENGCHUANGYECHENGZHANGZHISHUFENJI"],["163210","NACZDQKFZQA","诺安纯债定期开放债券A","定开债券","NUOANCHUNZHAIDINGQIKAIFANGZHAIQUANA"],["163211","NACZDQKFZQC","诺安纯债定期开放债券C","定开债券","NUOANCHUNZHAIDINGQIKAIFANGZHAIQUANC"],["163302","DMZYYXHHLOF","大摩资源优选混合(LOF)","混合型","DAMOZIYUANYOUXUANHUNHELOF"],["163402","XQQSTZHHLOF","兴全趋势投资混合(LOF)","混合型","XINGQUANQUSHITOUZIHUNHELOF"],["163403","XQQSTZHHLOF","兴全趋势投资混合(LOF)(后端)","混合型","XINGQUANQUSHITOUZIHUNHELOF"],["163406","XQHRFJHH","兴全合润分级混合","混合型","XINGQUANHERUNFENJIHUNHE"],["163407","XQHS300ZSLOF","兴全沪深300指数(LOF)","股票指数","XINGQUANHUSHEN300ZHISHULOF"],["163408","XQHS300ZSLOF","兴全沪深300指数(LOF)(后端)","股票指数","XINGQUANHUSHEN300ZHISHULOF"],["163409","XQLSTZHHLOF","兴全绿色投资混合(LOF)","混合型","XINGQUANLVSETOUZIHUNHELOF"],["163410","XQLSTZHHLOF","兴全绿色投资混合(LOF)(后端)","混合型","XINGQUANLVSETOUZIHUNHELOF"],["163411","XQBB","兴全保本","保本型","XINGQUANBAOBEN"],["163412","XQQZCHHLOF","兴全轻资产混合(LOF)","混合型","XINGQUANQINGZICHANHUNHELOF"],["163413","XQQZCHHLOF","兴全轻资产混合(LOF)(后端)","混合型","XINGQUANQINGZICHANHUNHELOF"],["163415","XQSYMSYXHH","兴全商业模式优选混合","混合型","XINGQUANSHANGYEMOSHIYOUXUANHUNHE"],["163416","XQSYMSYXHH","兴全商业模式优选混合(后端)","混合型","XINGQUANSHANGYEMOSHIYOUXUANHUNHE"],["163503","TZHXCZHHLOF","天治核心成长混合(LOF)","混合型","TIANZHIHEXINCHENGZHANGHUNHELOF"],["163801","ZYZGJX","中银中国精选","混合型","ZHONGYINZHONGGUOJINGXUAN"],["163802","ZYHBA","中银货币A","货币型","ZHONGYINHUOBIA"],["163803","ZYCXZZHHA","中银持续增长混合A","混合型","ZHONGYINCHIXUZENGZHANGHUNHEA"],["163804","ZYSYHHA","中银收益混合A","混合型","ZHONGYINSHOUYIHUNHEA"],["163805","ZYCLHH","中银策略混合","混合型","ZHONGYINCELUEHUNHE"],["163806","ZYWJZLZQ","中银稳健增利债券","债券型","ZHONGYINWENJIANZENGLIZHAIQUAN"],["163807","ZYHYYX","中银行业优选","混合型","ZHONGYINHANGYEYOUXUAN"],["163808","ZYZZ100","中银中证100","股票指数","ZHONGYINZHONGZHENG100"],["163809","ZYLCJX","中银蓝筹精选","混合型","ZHONGYINLANCHOUJINGXUAN"],["163810","ZYJZJX","中银价值精选","混合型","ZHONGYINJIAZHIJINGXUAN"],["163811","ZYWJSLZQA","中银稳健双利债券A","债券型","ZHONGYINWENJIANSHUANGLIZHAIQUANA"],["163812","ZYWJSLZQB","中银稳健双利债券B","债券型","ZHONGYINWENJIANSHUANGLIZHAIQUANB"],["163813","ZYQQCL","中银全球策略","QDII","ZHONGYINQUANQIUCELUE"],["163816","ZYZZZQZQA","中银转债增强债券A","债券型","ZHONGYINZHUANZHAIZENGQIANGZHAIQUANA"],["163817","ZYZZZQZQB","中银转债增强债券B","债券型","ZHONGYINZHUANZHAIZENGQIANGZHAIQUANB"],["163818","ZYZXPCZHH","中银中小盘成长混合","混合型","ZHONGYINZHONGXIAOPANCHENGZHANGHUNHE"],["163819","ZYXYZLZQLOF","中银信用增利债券(LOF)","债券型","ZHONGYINXINYONGZENGLIZHAIQUANLOF"],["163820","ZYHBB","中银货币B","货币型","ZHONGYINHUOBIB"],["163821","ZYHS300DQZZS","中银沪深300等权重指数","股票指数","ZHONGYINHUSHEN300DENGQUANZHONGZHISHU"],["163822","ZYZTCLHH","中银主题策略混合","混合型","ZHONGYINZHUTICELUEHUNHE"],["163823","ZYBBHH","中银保本混合","保本型","ZHONGYINBAOBENHUNHE"],["163824","ZYSLDQKFZQ","中银盛利定期开放债券","定开债券","ZHONGYINSHENGLIDINGQIKAIFANGZHAIQUAN"],["163825","ZYHLFJZQ","中银互利分级债券","债券型","ZHONGYINHULIFENJIZHAIQUAN"],["163826","ZYHLFJZQA","中银互利分级债券A","固定收益","ZHONGYINHULIFENJIZHAIQUANA"],["163827","ZYCYZDQKFZQ","中银产业债定期开放债券","定开债券","ZHONGYINCHANYEZHAIDINGQIKAIFANGZHAIQUAN"],["163907","ZHHYCZFQS","中海惠裕纯债发起式","债券型","ZHONGHAIHUIYUCHUNZHAIFAQISHI"],["163909","ZHHFCZFJZQ","中海惠丰纯债分级债券","债券型","ZHONGHAIHUIFENGCHUNZHAIFENJIZHAIQUAN"],["163910","ZHHFCZFJZQA","中海惠丰纯债分级债券A","固定收益","ZHONGHAIHUIFENGCHUNZHAIFENJIZHAIQUANA"],["164105","HFQHZQ","华富强化债券","债券型","HUAFUQIANGHUAZHAIQUAN"],["164205","THXDLLHPZHH","天弘鑫动力灵活配置混合","混合型","TIANHONGXINDONGLILINGHUOPEIZHIHUNHE"],["164206","THTLZQLOF","天弘添利债券(LOF)","债券型","TIANHONGTIANLIZHAIQUANLOF"],["164208","THFLFJZQLOF","天弘丰利分级债券(LOF)","债券型","TIANHONGFENGLIFENJIZHAIQUAN(LOF)"],["164210","THTLZQLOF","天弘同利债券(LOF)","债券型","TIANHONGTONGLIZHAIQUANLOF"],["164302","XHHXZQ","新华惠鑫债券","债券型","XINHUAHUIXINZHAIQUAN"],["164304","XHZZHBCYZSFJ","新华中证环保产业指数分级","股票指数","XINHUAZHONGZHENGHUANBAOCHANYEZHISHUFENJI"],["164401","QHKYJKFJ","前海开源健康分级","股票指数","QIANHAIKAIYUANJIANKANGFENJI"],["164402","QHKYZHJG","前海开源中航军工","股票指数","QIANHAIKAIYUANZHONGHANGJUNGONG"],["164403","QHKYHGSNYHH","前海开源沪港深农业混合","混合型","QIANHAIKAIYUANHUGANGSHENNONGYEHUNHE"],["164508","GFZZ100ZSZQFJ","国富中证100指数增强分级","股票指数","GUOFUZHONGZHENG100ZHISHUZENGQIANGFENJI"],["164509","GFHLZQLOFA","国富恒利债券(LOF)A","债券型","GUOFUHENGLIZHAIQUANLOFA"],["164510","GFHLZQLOFC","国富恒利债券(LOF)C","债券型","GUOFUHENGLIZHAIQUANLOFC"],["164606","HTBRXYZLZ","华泰柏瑞信用增利债","债券型","HUATAIBAIRUIXINYONGZENGLIZHAI"],["164701","HTFHJJGJS","汇添富黄金及贵金属","QDII","HUITIANFUHUANGJINJIGUIJINSHU"],["164702","HTFJJHDQKFZQ","汇添富季季红定期开放债券","定开债券","HUITIANFUJIJIHONGDINGQIKAIFANGZHAIQUAN"],["164703","HTFCZZQLOF","汇添富纯债债券(LOF)","债券型","HUITIANFUCHUNZHAIZHAIQUANLOF"],["164705","HTFHSZSFJ","汇添富恒生指数分级","QDII-指数","HUITIANFUHENGSHENGZHISHUFENJI"],["164808","GYSJSYZQLOF","工银四季收益债券(LOF)","债券型","GONGYINSIJISHOUYIZHAIQUANLOF"],["164809","GYZZ500FJ","工银中证500分级","股票指数","GONGYINZHONGZHENG500FENJI"],["164810","GYCZDQKFZQ","工银纯债定期开放债券","定开债券","GONGYINCHUNZHAIDINGQIKAIFANGZHAIQUAN"],["164811","GYSZ100ZSFJ","工银深证100指数分级","股票指数","GONGYINSHENZHENG100ZHISHUFENJI"],["164812","GYZFZCZZQLOFA","工银政府债纯债债券(LOF)A","债券型","GONGYINZHENGFUZHAICHUNZHAIZHAIQUANLOFA"],["164814","GYSZZQZQ","工银双债增强债券","债券型","GONGYINSHUANGZHAIZENGQIANGZHAIQUAN"],["164815","GYGJYYRMB","工银国际原油人民币","QDII","GONGYINGUOJIYUANYOURENMINBI"],["164818","GYZZCMZSFJ","工银中证传媒指数分级","股票指数","GONGYINZHONGZHENGCHUANMEIZHISHUFENJI"],["164819","GYZZHBCYZSFJ","工银中证环保产业指数分级","股票指数","GONGYINZHONGZHENGHUANBAOCHANYEZHISHUFENJI"],["164820","GYZZGTCYZSFJ","工银中证高铁产业指数分级","股票指数","GONGYINZHONGZHENGGAOTIECHANYEZHISHUFENJI"],["164821","GYZZXNYZSFJ","工银中证新能源指数分级","股票指数","GONGYINZHONGZHENGXINNENGYUANZHISHUFENJI"],["164822","GYZFZCZZQLOFC","工银政府债纯债债券(LOF)C","债券型","GONGYINZHENGFUZHAICHUNZHAIZHAIQUANLOFC"],["164902","JYXYTLZQLOF","交银信用添利债券(LOF)","债券型","JIAOYINXINYONGTIANLIZHAIQUANLOF"],["164903","JYXYTLZQLOF","交银信用添利债券(LOF)(后端)","债券型","JIAOYINXINYONGTIANLIZHAIQUANLOF"],["164905","JYGZXNYZSFJ","交银国证新能源指数分级","股票指数","JIAOYINGUOZHENGXINNENGYUANZHISHUFENJI"],["164906","JYZZHWZGHLWZS","交银中证海外中国互联网指数","QDII-指数","JIAOYINZHONGZHENGHAIWAIZHONGGUOHULIANWANGZHISHU"],["164907","JYZZHLWJRZSFJ","交银中证互联网金融指数分级","股票指数","JIAOYINZHONGZHENGHULIANWANGJINRONGZHISHUFENJI"],["164908","JYZZHJZLLOF","交银中证环境治理(LOF)","股票指数","JIAOYINZHONGZHENGHUANJINGZHILILOF"],["165309","JXHS300","建信沪深300","股票指数","JIANXINHUSHEN300"],["165310","JXSLFJ","建信双利分级","股票型","JIANXINSHUANGLIFENJI"],["165311","JXXYZQZQLOFA","建信信用增强债券(LOF)A","债券型","JIANXINXINYONGZENGQIANGZHAIQUANLOFA"],["165312","JXYS50","建信央视50","股票指数","JIANXINYANGSHI50"],["165313","JXYSDLHHLOF","建信优势动力混合(LOF)","混合型","JIANXINYOUSHIDONGLIHUNHELOF"],["165314","JXXYZQZQC","建信信用增强债券C","债券型","JIANXINXINYONGZENGQIANGZHAIQUANC"],["165315","JXWJRFJ","建信网金融分级","股票指数","JIANXINWANGJINRONGFENJI"],["165317","JXFYDZLHPZHH","建信丰裕定增灵活配置混合","混合型","JIANXINFENGYUDINGZENGLINGHUOPEIZHIHUNHE"],["165508","XCSDJZHHLOF","信诚深度价值混合(LOF)","混合型","XINCHENGSHENDUJIAZHIHUNHELOF"],["165509","XCZQZQ","信诚增强债券","债券型","XINCHENGZENGQIANGZHAIQUAN"],["165510","XCJZSG","信诚金砖四国","QDII","XINCHENGJINZHUANSIGUO"],["165511","XCZZ500FJ","信诚中证500分级","股票指数","XINCHENGZHONGZHENG500FENJI"],["165512","XCXJYHHLOF","信诚新机遇混合(LOF)","混合型","XINCHENGXINJIYUHUNHELOF"],["165513","XCQQSPZT","信诚全球商品主题","QDII","XINCHENGQUANQIUSHANGPINZHUTI"],["165515","XCHS300FJ","信诚沪深300分级","股票指数","XINCHENGHUSHEN300FENJI"],["165516","XCZQLDHHLOF","信诚周期轮动混合(LOF)","混合型","XINCHENGZHOUQILUNDONGHUNHELOF"],["165517","XCSYZQLOF","信诚双盈债券(LOF)","债券型","XINCHENGSHUANGYINGZHAIQUANLOF"],["165519","XCZZ800YYZSFJ","信诚中证800医药指数分级","股票指数","XINCHENGZHONGZHENG800YIYAOZHISHUFENJI"],["165520","XCZZ800YSZSFJ","信诚中证800有色指数分级","股票指数","XINCHENGZHONGZHENG800YOUSEZHISHUFENJI"],["165521","XCZZ800JRZSFJ","信诚中证800金融指数分级","股票指数","XINCHENGZHONGZHENG800JINRONGZHISHUFENJI"],["165522","XCZZTMTCYZSFJ","信诚中证TMT产业指数分级","股票指数","XINCHENGZHONGZHENGTMTCHANYEZHISHUFENJI"],["165523","XCZZXXAQZSFJ","信诚中证信息安全指数分级","股票指数","XINCHENGZHONGZHENGXINXIANQUANZHISHUFENJI"],["165524","XCZZZNJJZSFJ","信诚中证智能家居指数分级","股票指数","XINCHENGZHONGZHENGZHINENGJIAJUZHISHUFENJI"],["165525","XCZZJJGCZSLOF","信诚中证基建工程指数LOF","股票指数","XINCHENGZHONGZHENGJIJIANGONGCHENGZHISHULOF"],["165526","XCXWHHLOFA","信诚新旺混合(LOF)A","混合型","XINCHENGXINWANGHUNHELOFA"],["165527","XCXWHHLOFC","信诚新旺混合(LOF)C","混合型","XINCHENGXINWANGHUNHELOFC"],["165528","XCDLDZ","信诚鼎利定增","混合型","XINCHENGDINGLIDINGZENG"],["165530","XCHZ","信诚惠泽","债券创新-场内","XINCHENGHUIZE"],["165705","NDSYZQLOF","诺德双翼债券(LOF)","债券型","NUODESHUANGYIZHAIQUANLOF"],["165707","NDSZ300ZSFJ","诺德深证300指数分级","股票指数","NUODESHENZHENG300ZHISHUFENJI"],["165806","DWSZ100ZQ","东吴深证100增强","股票指数","DONGWUSHENZHENG100ZENGQIANG"],["165807","DWDLZQLOF","东吴鼎利债券(LOF)","债券型","DONGWUDINGLIZHAIQUANLOF"],["165809","DWZZ","东吴转债","债券指数","DONGWUZHUANZHAI"],["166001","ZOXQSHHLOFA","中欧新趋势混合(LOF)A","混合型","ZHONGOUXINQUSHIHUNHELOFA"],["166002","ZOXLCHHA","中欧新蓝筹混合A","混合型","ZHONGOUXINLANCHOUHUNHEA"],["166003","ZOWJZQA","中欧稳健债券A","债券型","ZHONGOUWENJIANZHAIQUANA"],["166004","ZOWJZQC","中欧稳健债券C","债券型","ZHONGOUWENJIANZHAIQUANC"],["166005","ZOJZFXHHA","中欧价值发现混合A","混合型","ZHONGOUJIAZHIFAXIANHUNHEA"],["166006","ZOHYCZHHLOFA","中欧行业成长混合(LOF)A","混合型","ZHONGOUHANGYECHENGZHANGHUNHELOFA"],["166007","ZOHS300ZSZQA","中欧沪深300指数增强A","股票指数","ZHONGOUHUSHEN300ZHISHUZENGQIANGA"],["166008","ZOZQHBZQLOFA","中欧增强回报债券(LOF)A","债券型","ZHONGOUZENGQIANGHUIBAOZHAIQUANLOFA"],["166009","ZOXDLHHLOFA","中欧新动力混合(LOF)A","混合型","ZHONGOUXINDONGLIHUNHELOFA"],["166010","ZODLFJZQ","中欧鼎利分级债券","债券型","ZHONGOUDINGLIFENJIZHAIQUAN"],["166011","ZOSSCZHHLOFA","中欧盛世成长混合(LOF)A","混合型","ZHONGOUSHENGSHICHENGZHANGHUNHELOFA"],["166012","ZOXYZLZQLOFC","中欧信用增利债券(LOF)C","债券型","ZHONGOUXINYONGZENGLIZHAIQUANLOFC"],["166014","ZOHBA","中欧货币A","货币型","ZHONGOUHUOBIA"],["166015","ZOHBB","中欧货币B","货币型","ZHONGOUHUOBIB"],["166016","ZOCZZQLOFC","中欧纯债债券(LOF)C","债券型","ZHONGOUCHUNZHAIZHAIQUANLOFC"],["166019","ZOJZZXHHA","中欧价值智选混合A","混合型","ZHONGOUJIAZHIZHIXUANHUNHEA"],["166020","ZOCZYXHHA","中欧成长优选混合A","混合型","ZHONGOUCHENGZHANGYOUXUANHUNHEA"],["166021","ZOTL","中欧添利","债券型","ZHONGOUTIANLI"],["166022","ZOTA","中欧添A","固定收益","ZHONGOUTIANA"],["166105","XDAYXAZQ","信达澳银鑫安债券","债券型","XINDAAOYINXINANZHAIQUAN"],["166301","HSXQSYXLHPZHH","华商新趋势优选灵活配置混合","混合型","HUASHANGXINQUSHIYOUXUANLINGHUOPEIZHIHUNHE"],["166401","PYASWJZLZQC","浦银安盛稳健增利债券C","债券型","PUYINANSHENGWENJIANZENGLIZHAIQUANC"],["166402","PYHGSJBM100ZS","浦银沪港深基本面100指数","股票指数","PUYINHUGANGSHENJIBENMIAN100ZHISHU"],["166801","ZSJCXSW","浙商聚潮新思维","混合型","ZHESHANGJUCHAOXINSAIWEI"],["166802","ZSHS300ZSFJ","浙商沪深300指数分级","股票指数","ZHESHANGHUSHEN300ZHISHUFENJI"],["166902","MSJYPWZLA","民生加银平稳增利A","定开债券","MINSHENGJIAYINPINGWENZENGLIA"],["166903","MSJYPWZLC","民生加银平稳增利C","定开债券","MINSHENGJIAYINPINGWENZENGLIC"],["166904","MSJYTLA","民生加银添利A","定开债券","MINSHENGJIAYINTIANLIA"],["166905","MSJYTLC","民生加银添利C","定开债券","MINSHENGJIAYINTIANLIC"],["167001","PADHDTHH","平安大华鼎泰混合","混合型","PINGANDAHUADINGTAIHUNHE"],["167002","PADHDYDKHH","平安大华鼎越定开混合","混合型","PINGANDAHUADINGYUEDINGKAIHUNHE"],["167003","PADHDHHH","平安大华鼎弘混合","混合型","PINGANDAHUADINGHONGHUNHE"],["167004","PADHDFDKHH","平安大华鼎沣定开混合","混合型","PINGANDAHUADINGFENGDINGKAIHUNHE"],["167301","FZFBBXZTZSFJ","方正富邦保险主题指数分级","股票指数","FANGZHENGFUBANGBAOXIANZHUTIZHISHUFENJI"],["167501","AXBLZQLOF","安信宝利债券(LOF)","债券型","ANXINBAOLIZHAIQUANLOF"],["167503","AXYDYLFJ","安信一带一路分级","股票指数","ANXINYIDAIYILUFENJI"],["167601","GJHS300ZSFJ","国金沪深300指数分级","股票指数","GUOJINHUSHEN300ZHISHUFENJI"],["167701","DBDXZGQZZSFJ","德邦德信中高企债指数分级","债券指数","DEBANGDEXINZHONGGAOQIZHAIZHISHUFENJI"],["167702","DBLHYXGPLOFA","德邦量化优选股票(LOF)A","股票型","DEBANGLIANGHUAYOUXUANGUPIAOLOFA"],["167703","DBLHYXGPLOFC","德邦量化优选股票(LOF)C","股票型","DEBANGLIANGHUAYOUXUANGUPIAOLOFC"],["168001","GSABZZYLCYZSFJ","国寿安保中证养老产业指数分级","股票指数","GUOSHOUANBAOZHONGZHENGYANGLAOCHANYEZHISHUFENJI"],["168101","JTRZDZHH","九泰锐智定增混合","混合型","JIUTAIRUIZHIDINGZENGHUNHE"],["168102","JTRFSJQDHH","九泰锐富事件驱动混合","混合型","JIUTAIRUIFUSHIJIANQUDONGHUNHE"],["168103","JTRYDZHH","九泰锐益定增混合","混合型","JIUTAIRUIYIDINGZENGHUNHE"],["168104","JTRFDZHH","九泰锐丰定增混合","混合型","JIUTAIRUIFENGDINGZENGHUNHE"],["168105","JTTFDZHH","九泰泰富定增混合","混合型","JIUTAITAIFUDINGZENGHUNHE"],["168106","JTRHDZHHA","九泰锐华定增混合A","混合型","JIUTAIRUIHUADINGZENGHUNHEA"],["168107","JTRHDZHHC","九泰锐华定增混合C","混合型","JIUTAIRUIHUADINGZENGHUNHEC"],["168108","JTRCDZHH","九泰锐诚定增混合","混合型","JIUTAIRUICHENGDINGZENGHUNHE"],["168201","ZRYDYLFJ","中融一带一路分级","股票指数","ZHONGRONGYIDAIYILUFENJI"],["168203","ZRGZGTHYZSFJ","中融国证钢铁行业指数分级","股票指数","ZHONGRONGGUOZHENGGANGTIEHANGYEZHISHUFENJI"],["168204","ZRZZMTZSFJ","中融中证煤炭指数分级","股票指数","ZHONGRONGZHONGZHENGMEITANZHISHUFENJI"],["168205","ZRZZYHZSFJ","中融中证银行指数分级","股票指数","ZHONGRONGZHONGZHENGYINHANGZHISHUFENJI"],["168301","DHXLDZHH","东海祥龙定增混合","混合型","DONGHAIXIANGLONGDINGZENGHUNHE"],["168401","HTCXDZLHPZHH","红土创新定增灵活配置混合","混合型","HONGTUCHUANGXINDINGZENGLINGHUOPEIZHIHUNHE"],["169101","DFHRFHH","东方红睿丰混合","混合型","DONGFANGHONGRUIFENGHUNHE"],["169102","DFHRYHH","东方红睿阳混合","混合型","DONGFANGHONGRUIYANGHUNHE"],["169103","DFHRXHGSHH","东方红睿轩沪港深混合","混合型","DONGFANGHONGRUIXUANHUGANGSHENHUNHE"],["169104","DFHRMHGSHH","东方红睿满沪港深混合","混合型","DONGFANGHONGRUIMANHUGANGSHENHUNHE"],["169105","DFHRHHGSHH","东方红睿华沪港深混合","混合型","DONGFANGHONGRUIHUAHUGANGSHENHUNHE"],["169201","ZSHJDYDZLHPZHH","浙商汇金鼎盈定增灵活配置混合","混合型","ZHESHANGHUIJINDINGYINGDINGZENGLINGHUOPEIZHIHUNHE"],["180001","YHYSQY","银华优势企业","混合型","YINHUAYOUSHIQIYE"],["180002","YHBBZZ","银华保本增值","保本型","YINHUABAOBENZENGZHI"],["180003","YHDQS88","银华道琼斯88","股票指数","YINHUADAOQIONGSI88"],["180008","YHHBA","银华货币A","货币型","YINHUAHUOBIA"],["180009","YHHBB","银华货币B","货币型","YINHUAHUOBIB"],["180010","YHYZZZHH","银华优质增长混合","混合型","YINHUAYOUZHIZENGZHANGHUNHE"],["180011","YHYSQY","银华优势企业(后端)","混合型","YINHUAYOUSHIQIYE"],["180012","YHFYZTHH","银华富裕主题混合","混合型","YINHUAFUYUZHUTIHUNHE"],["180013","YHLXCLHH","银华领先策略混合","混合型","YINHUALINGXIANCELUEHUNHE"],["180015","YHZQZQ","银华增强债券","债券型","YINHUAZENGQIANGZHAIQUAN"],["180018","YHHXZT","银华和谐主题","混合型","YINHUAHEXIEZHUTI"],["180020","YHCZXF","银华成长先锋","混合型","YINHUACHENGZHANGXIANFENG"],["180025","YHXYSLZQA","银华信用双利债券A","债券型","YINHUAXINYONGSHUANGLIZHAIQUANA"],["180026","YHXYSLZQC","银华信用双利债券C","债券型","YINHUAXINYONGSHUANGLIZHAIQUANC"],["180028","YHYXBB","银华永祥保本","保本型","YINHUAYONGXIANGBAOBEN"],["180029","YHYTJJZQA","银华永泰积极债券A","债券型","YINHUAYONGTAIJIJIZHAIQUANA"],["180030","YHYTJJZQC","银华永泰积极债券C","债券型","YINHUAYONGTAIJIJIZHAIQUANC"],["180031","YHZXPHH","银华中小盘混合","混合型","YINHUAZHONGXIAOPANHUNHE"],["180033","YHSZ50DQLJ","银华上证50等权联接","联接基金","YINHUASHANGZHENG50DENGQUANLIANJIE"],["180052","YHBBZZ","银华保本增值","保本型","YINHUABAOBENZENGZHI"],["183001","YHQQYX","银华全球优选","QDII","YINHUAQUANQIUYOUXUAN"],["184722","JJJJ","基金久嘉","封闭式","JIJINJIUJIA"],["184801","PHQHWKREITS","鹏华前海万科REITS","混合型","PENGHUAQIANHAIWANKEREITS"],["200001","CCJHLHPZHH","长城久恒灵活配置混合","混合型","CHANGCHENGJIUHENGLINGHUOPEIZHIHUNHE"],["200002","CCJTHS300ZS","长城久泰沪深300指数","股票指数","CHANGCHENGJIUTAIHUSHEN300ZHISHU"],["200003","CCHBA","长城货币A","货币型","CHANGCHENGHUOBIA"],["200006","CCXFZZHH","长城消费增值混合","混合型","CHANGCHENGXIAOFEIZENGZHIHUNHE"],["200007","CCAXHBHH","长城安心回报混合","混合型","CHANGCHENGANXINHUIBAOHUNHE"],["200008","CCPPYXHH","长城品牌优选混合","混合型","CHANGCHENGPINPAIYOUXUANHUNHE"],["200009","CCWJZL","长城稳健增利","债券型","CHANGCHENGWENJIANZENGLI"],["200010","CCSDLHH","长城双动力混合","混合型","CHANGCHENGSHUANGDONGLIHUNHE"],["200011","CCJQHYLT","长城景气行业龙头","混合型","CHANGCHENGJINGQIHANGYELONGTOU"],["200012","CCZXPCCHH","长城中小盘成长混合","混合型","CHANGCHENGZHONGXIAOPANCHENGZHANGHUNHE"],["200013","CCJJZLZQA","长城积极增利债券A","债券型","CHANGCHENGJIJIZENGLIZHAIQUANA"],["200015","CCYHSJHH","长城优化升级混合","混合型","CHANGCHENGYOUHUASHENGJIHUNHE"],["200016","CCBB","长城保本","保本型","CHANGCHENGBAOBEN"],["200103","CCHBB","长城货币B","货币型","CHANGCHENGHUOBIB"],["200113","CCJJZLZQC","长城积极增利债券C","债券型","CHANGCHENGJIJIZENGLIZHAIQUANC"],["201001","CCJHLHPZHH","长城久恒灵活配置混合(后端)","混合型","CHANGCHENGJIUHENGLINGHUOPEIZHIHUNHE"],["201002","CCJTHS300ZS","长城久泰沪深300指数(后端)","股票指数","CHANGCHENGJIUTAIHUSHEN300ZHISHU"],["202001","NFWJCZ","南方稳健成长","混合型","NANFANGWENJIANCHENGZHANG"],["202002","NFWJCZEH","南方稳健成长贰号","混合型","NANFANGWENJIANCHENGZHANGERHAO"],["202003","NFJYCZHH","南方绩优成长混合","混合型","NANFANGJIYOUCHENGZHANGHUNHE"],["202004","NFJYCZHH","南方绩优成长混合(后端)","混合型","NANFANGJIYOUCHENGZHANGHUNHE"],["202005","NFCFJXHH","南方成份精选混合","混合型","NANFANGCHENGFENJINGXUANHUNHE"],["202006","NFCFJXHH","南方成份精选混合(后端)","混合型","NANFANGCHENGFENJINGXUANHUNHE"],["202007","NFLYCYZTHH","南方隆元产业主题混合","混合型","NANFANGLONGYUANCHANYEZHUTIHUNHE"],["202008","NFLYCYZTHH","南方隆元产业主题混合(后端)","混合型","NANFANGLONGYUANCHANYEZHUTIHUNHE"],["202009","NFSYHLHH","南方盛元红利混合","混合型","NANFANGSHENGYUANHONGLIHUNHE"],["202010","NFSYHLHH","南方盛元红利混合(后端)","混合型","NANFANGSHENGYUANHONGLIHUNHE"],["202011","NFYXJZHHA","南方优选价值混合A","混合型","NANFANGYOUXUANJIAZHIHUNHEA"],["202012","NFYXJZHHA","南方优选价值混合A(后端)","混合型","NANFANGYOUXUANJIAZHIHUNHEA"],["202015","NFKYHS300ETFLJA","南方开元沪深300ETF联接A","联接基金","NANFANGKAIYUANHUSHEN300ETFLIANJIEA"],["202016","NFKYHS300ETFLJA","南方开元沪深300ETF联接A(后端)","联接基金","NANFANGKAIYUANHUSHEN300ETFLIANJIEA"],["202017","NFSZCFETFLJA","南方深证成份ETF联接A","联接基金","NANFANGSHENZHENGCHENGFENETFLIANJIEA"],["202018","NFSZCFETFLJA","南方深证成份ETF联接A(后端)","联接基金","NANFANGSHENZHENGCHENGFENETFLIANJIEA"],["202019","NFCLYHHH","南方策略优化混合","混合型","NANFANGCELUEYOUHUAHUNHE"],["202020","NFCLYHHH","南方策略优化混合(后端)","混合型","NANFANGCELUEYOUHUAHUNHE"],["202021","NFXKETFLJA","南方小康ETF联接A","联接基金","NANFANGXIAOKANGETFLIANJIEA"],["202022","NFXKETFLJA","南方小康ETF联接A(后端)","联接基金","NANFANGXIAOKANGETFLIANJIEA"],["202023","NFYXCZ","南方优选成长","混合型","NANFANGYOUXUANCHENGZHANG"],["202024","NFYXCZ","南方优选成长(后端)","混合型","NANFANGYOUXUANCHENGZHANG"],["202025","NFSZ380LJ","南方上证380联接","联接基金","NANFANGSHANGZHENG380LIANJIE"],["202026","NFSZ380LJ","南方上证380联接(后端)","联接基金","NANFANGSHANGZHENG380LIANJIE"],["202027","NFGDZBLHPZHH","南方高端装备灵活配置混合","混合型","NANFANGGAODUANZHUANGBEILINGHUOPEIZHIHUNHE"],["202028","NFGDZBLHPZHH","南方高端装备灵活配置混合(后端)","混合型","NANFANGGAODUANZHUANGBEILINGHUOPEIZHIHUNHE"],["202101","NFBYZQ","南方宝元债券","债券型","NANFANGBAOYUANZHAIQUAN"],["202102","NFDLZQZQC","南方多利增强债券C","债券型","NANFANGDUOLIZENGQIANGZHAIQUANC"],["202103","NFDLZQZQA","南方多利增强债券A","债券型","NANFANGDUOLIZENGQIANGZHAIQUANA"],["202105","NFGLZQA/B","南方广利债券A/B","债券型","NANFANGANLIZHAIQUANA/B"],["202106","NFGLZQA/B","南方广利债券A/B(后端)","债券型","NANFANGANLIZHAIQUANA/B"],["202107","NFGLZQC","南方广利债券C","债券型","NANFANGANLIZHAIQUANC"],["202108","NFRYA","南方润元A","债券型","NANFANGRUNYUANA"],["202109","NFRYA","南方润元A(后端)","债券型","NANFANGRUNYUANA"],["202110","NFRYC","南方润元C","债券型","NANFANGRUNYUANC"],["202202","NFBXZZ","南方避险增值","保本型","NANFANGBIXIANZENGZHI"],["202211","NFHYBB","南方恒元保本","保本型","NANFANGHENGYUANBAOBEN"],["202212","NFBB","南方保本","保本型","NANFANGBAOBEN"],["202213","NFAX","南方安心","保本型","NANFANGANXIN"],["202301","NFXJZLHBA","南方现金增利货币A","货币型","NANFANGXIANJINZENGLIHUOBIA"],["202302","NFXJZLHBB","南方现金增利货币B","货币型","NANFANGXIANJINZENGLIHUOBIB"],["202303","NFLC14TA","南方理财14天A","理财型","NANFANGLICAI14TIANA"],["202304","NFLC14TB","南方理财14天B","理财型","NANFANGLICAI14TIANB"],["202305","NFLC60TA","南方理财60天A","理财型","NANFANGLICAI60TIANA"],["202306","NFLC60TB","南方理财60天B","理财型","NANFANGLICAI60TIANB"],["202307","NFSYBHBA","南方收益宝货币A","货币型","NANFANGSHOUYIBAOHUOBIA"],["202308","NFSYBHBB","南方收益宝货币B","货币型","NANFANGSHOUYIBAOHUOBIB"],["202801","NFQQJX","南方全球精选","QDII","NANFANGQUANQIUJINGXUAN"],["206001","PHHTA","鹏华弘泰A","混合型","PENGHUAHONGTAIA"],["206002","PHJXCZHH","鹏华精选成长混合","混合型","PENGHUAJINGXUANCHENGZHANGHUNHE"],["206003","PHXYZLZQA","鹏华信用增利债券A","债券型","PENGHUAXINYONGZENGLIZHAIQUANA"],["206004","PHXYZLZQB","鹏华信用增利债券B","债券型","PENGHUAXINYONGZENGLIZHAIQUANB"],["206005","PHSZMQ50ETFLJ","鹏华上证民企50ETF联接","联接基金","PENGHUASHANGZHENGMINQI50ETFLIANJIE"],["206006","PHHQFX","鹏华环球发现","QDII","PENGHUAHUANQIUFAXIAN"],["206007","PHXFYXHH","鹏华消费优选混合","混合型","PENGHUAXIAOFEIYOUXUANHUNHE"],["206008","PHFSWGZQ","鹏华丰盛稳固债券","债券型","PENGHUAFENGSHENGWENGUZHAIQUAN"],["206009","PHXXCYHH","鹏华新兴产业混合","混合型","PENGHUAXINXINGCHANYEHUNHE"],["206010","PHSZMYLJ","鹏华深证民营联接","联接基金","PENGHUASHENZHENGMINYINGLIANJIE"],["206011","PHMGFDC","鹏华美国房地产","QDII","PENGHUAMEIGUOFANGDECHAN"],["206012","PHJZJXGP","鹏华价值精选股票","股票型","PENGHUAJIAZHIJINGXUANGUPIAO"],["206013","PHJGBBHH","鹏华金刚保本混合","保本型","PENGHUAJINGANGBAOBENHUNHE"],["206015","PHCZZQ","鹏华纯债债券","债券型","PENGHUACHUNZHAIZHAIQUAN"],["206018","PHCYZZQ","鹏华产业债债券","债券型","PENGHUACHANYEZHAIZHAIQUAN"],["210001","JYCFYX","金鹰成份优选","混合型","JINYINGCHENGFENYOUXUAN"],["210002","JYHLJZ","金鹰红利价值","混合型","JINYINGHONGLIJIAZHI"],["210003","JYHYYSHH","金鹰行业优势混合","混合型","JINYINGHANGYEYOUSHIHUNHE"],["210004","JYWJCZHH","金鹰稳健成长混合","混合型","JINYINGWENJIANCHENGZHANGHUNHE"],["210005","JYZTYSHH","金鹰主题优势混合","混合型","JINYINGZHUTIYOUSHIHUNHE"],["210006","JYBBHHA","金鹰保本混合A","保本型","JINYINGBAOBENHUNHEA"],["210007","JYJSLXLHPZHHA","金鹰技术领先灵活配置混合A","混合型","JINYINGJISHULINGXIANLINGHUOPEIZHIHUNHEA"],["210008","JYCLPZHH","金鹰策略配置混合","混合型","JINYINGCELUEPEIZHIHUNHE"],["210009","JYHXZYHH","金鹰核心资源混合","混合型","JINYINGHEXINZIYUANHUNHE"],["210010","JYLHPZHHA","金鹰灵活配置混合A","混合型","JINYINGLINGHUOPEIZHIHUNHEA"],["210011","JYLHPZHHC","金鹰灵活配置混合C","混合型","JINYINGLINGHUOPEIZHIHUNHEC"],["210012","JYHBA","金鹰货币A","货币型","JINYINGHUOBIA"],["210013","JYHBB","金鹰货币B","货币型","JINYINGHUOBIB"],["210014","JYYFBB","金鹰元丰保本","保本型","JINYINGYUANFENGBAOBEN"],["213001","BYHLSYLHPZHH","宝盈鸿利收益灵活配置混合","混合型","BAOYINGHONGLISHOUYILINGHUOPEIZHIHUNHE"],["213002","BYFYHZZHH","宝盈泛沿海增长混合","混合型","BAOYINGFANYANHAIZENGZHANGHUNHE"],["213003","BYCLZZHH","宝盈策略增长混合","混合型","BAOYINGCELUEZENGZHANGHUNHE"],["213006","BYHXYSHHA","宝盈核心优势混合A","混合型","BAOYINGHEXINYOUSHIHUNHEA"],["213007","BYZQSYZQAB","宝盈增强收益债券A/B","债券型","BAOYINGZENGQIANGSHOUYIZHAIQUANAB"],["213008","BYZYYXHH","宝盈资源优选混合","混合型","BAOYINGZIYUANYOUXUANHUNHE"],["213009","BYHBA","宝盈货币A","货币型","BAOYINGHUOBIA"],["213010","BYZZ100ZQ","宝盈中证100增强","股票指数","BAOYINGZHONGZHENG100ZENGQIANG"],["213907","BYZQSYZQAB","宝盈增强收益债券A/B(后端)","债券型","BAOYINGZENGQIANGSHOUYIZHAIQUANAB"],["213908","BYZYYXHH","宝盈资源优选混合(后端)","混合型","BAOYINGZIYUANYOUXUANHUNHE"],["213909","BYHBB","宝盈货币B","货币型","BAOYINGHUOBIB"],["213917","BYZQZQC","宝盈增强债券C","债券型","BAOYINGZENGQIANGZHAIQUANC"],["217001","ZSATHH","招商安泰混合","混合型","ZHAOSHANGANTAIHUNHE"],["217002","ZSATPH","招商安泰平衡","混合型","QIAOSHANGANTAIPINGHENG"],["217003","ZSATZQA","招商安泰债券A","债券型","ZHAOSHANGANTAIZHAIQUANA"],["217004","ZSXJZZHBA","招商现金增值货币A","货币型","ZHAOSHANGXIANJINZENGZHIHUOBIA"],["217005","ZSXF","招商先锋","混合型","QIAOSHANGXIANFENG"],["217008","ZSABZLZQ","招商安本增利债券","债券型","ZHAOSHANGANBENZENGLIZHAIQUAN"],["217009","ZSHXJZ","招商核心价值","混合型","QIAOSHANGHEXINJIAZHI"],["217010","ZSDPLCHH","招商大盘蓝筹混合","混合型","ZHAOSHANGDAPANLANCHOUHUNHE"],["217011","ZSAXZQ","招商安心债券","债券型","QIAOSHANGANXINZHAIQUAN"],["217012","ZSHYLXHHA","招商行业领先混合A","混合型","ZHAOSHANGHANGYELINGXIANHUNHEA"],["217013","ZSZXPHH","招商中小盘混合","混合型","ZHAOSHANGZHONGXIAOPANHUNHE"],["217014","ZSXJZZHBB","招商现金增值货币B","货币型","ZHAOSHANGXIANJINZENGZHIHUOBIB"],["217015","ZSQQZY","招商全球资源","QDII","QIAOSHANGQUANQIUZIYUAN"],["217016","ZSSZ100ZSA","招商深证100指数A","股票指数","ZHAOSHANGSHENZHENG100ZHISHUA"],["217017","ZSSZXF80ETFLJA","招商上证消费80ETF联接A","联接基金","ZHAOSHANGSHANGZHENGXIAOFEI80ETFLIANJIEA"],["217018","ZSARJQZQ","招商安瑞进取债券","债券型","ZHAOSHANGANRUIJINQUZHAIQUAN"],["217019","ZSSZTMT50ETFLJA","招商深证TMT50ETF联接A","联接基金","ZHAOSHANGSHENZHENGTMT50ETFLIANJIEA"],["217020","ZSADBBHH","招商安达保本混合","保本型","ZHAOSHANGANDABAOBENHUNHE"],["217021","ZSYQLHPZ","招商优企灵活配置","混合型","QIAOSHANGYOUQILINGHUOPEIZHI"],["217022","ZSCYZQA","招商产业债券A","债券型","ZHAOSHANGCHANYEZHAIQUANA"],["217023","ZSXYZQZQ","招商信用增强债券","债券型","ZHAOSHANGXINYONGZENGQIANGZHAIQUAN"],["217024","ZSAYBB","招商安盈保本","保本型","QIAOSHANGANYINGBAOBEN"],["217025","ZSLC7TZQA","招商理财7天债券A","理财型","ZHAOSHANGLICAI7TIANZHAIQUANA"],["217026","ZSLC7TZQB","招商理财7天债券B","理财型","ZHAOSHANGLICAI7TIANZHAIQUANB"],["217027","ZSYSCJ50ZSA","招商央视财经50指数A","股票指数","ZHAOSHANGYANGSHICAIJING50ZHISHUA"],["217203","ZSATZQB","招商安泰债券B","债券型","ZHAOSHANGANTAIZHAIQUANB"],["229002","TDHLNXCLHH","泰达宏利逆向策略混合","混合型","TAIDAHONGLINIXIANGCELUEHUNHE"],["233001","DMJCHYHH","大摩基础行业混合","混合型","DAMOJICHUHANGYEHUNHE"],["233005","DMQSYZQ","大摩强收益债券","债券型","DAMOQIANGSHOUYIZHAIQUAN"],["233006","DMLXYSHH","大摩领先优势混合","混合型","DAMOLINGXIANYOUSHIHUNHE"],["233007","DMZYCZHH","大摩卓越成长混合","混合型","DAMOZHUOYUECHENGZHANGHUNHE"],["233008","DMXFLH","大摩消费领航","混合型","DAMOXIAOFEILINGHANG"],["233009","DMDYZCLHH","大摩多因子策略混合","混合型","DAMODUOYINZICELUEHUNHE"],["233010","DMSZ300ZSZQ","大摩深证300指数增强","股票指数","DAMOSHENZHENG300ZHISHUZENGQIANG"],["233011","DMZTYXHH","大摩主题优选混合","混合型","DAMOZHUTIYOUXUANHUNHE"],["233012","DMDYSYZQA","大摩多元收益债券A","债券型","DAMODUOYUANSHOUYIZHAIQUANA"],["233013","DMDYSYZQC","大摩多元收益债券C","债券型","DAMODUOYUANSHOUYIZHAIQUANC"],["233015","DMLHPZHH","大摩量化配置混合","混合型","DAMOLIANGHUAPEIZHIHUNHE"],["240001","HBBKXFP","华宝宝康消费品","混合型","HUABAOBAOKANGXIAOFEIPIN"],["240002","HBBKLHPZ","华宝宝康灵活配置","混合型","HUABAOBAOKANGLINGHUOPEIZHI"],["240003","HBBKZQ","华宝宝康债券","债券型","HUABAOBAOKANGZHAIQUAN"],["240004","HBDLZHHH","华宝动力组合混合","混合型","HUABAODONGLIZUHEHUNHE"],["240005","HBDCLZZ","华宝多策略增长","股票型","HUABAODUOCELUEZENGZHANG"],["240006","HBXJBHBA","华宝现金宝货币A","货币型","HUABAOXIANJINBAOHUOBIA"],["240007","HBXJBHBB","华宝现金宝货币B","货币型","HUABAOXIANJINBAOHUOBIB"],["240008","HBSYZZ","华宝收益增长","混合型","HUABAOSHOUYIZENGZHANG"],["240009","HBXJCZHH","华宝先进成长混合","混合型","HUABAOXIANJINCHENGZHANGHUNHE"],["240010","HBHYJXHH","华宝行业精选混合","混合型","HUABAOHANGYEJINGXUANHUNHE"],["240011","HBDPJXHH","华宝大盘精选混合","混合型","HUABAODAPANJINGXUANHUNHE"],["240012","HBZQZQA","华宝增强债券A","债券型","HUABAOZENGQIANGZHAIQUANA"],["240013","HBZQZQB","华宝增强债券B","债券型","HUABAOZENGQIANGZHAIQUANB"],["240014","HBZZ100","华宝中证100","股票指数","HUABAOZHONGZHENG100"],["240015","HBZZ100","华宝中证100(后端)","股票指数","HUABAOZHONGZHENG100"],["240016","HBSZ180LJ","华宝上证180联接","联接基金","HUABAOSHANGZHENG180LIANJIE"],["240017","HBXXCYHH","华宝新兴产业混合","混合型","HUABAOXINXINGCHANYEHUNHE"],["240018","HBKZZ","华宝可转债","债券型","HUABAOKEZHUANZHAI"],["240019","HBSZ180CZLJ","华宝上证180成长联接","联接基金","HUABAOSHANGZHENG180CHENGZHANGLIANJIE"],["240020","HBYYSWHH","华宝医药生物混合","混合型","HUABAOYIYAOSHENGWUHUNHE"],["240022","HBZYYXHH","华宝资源优选混合","混合型","HUABAOZIYUANYOUXUANHUNHE"],["241001","HBHWZGHHQDII","华宝海外中国混合(QDII)","QDII","HUABAOHAIWAIZHONGGUOHUNHEQDII"],["253010","GLAAXCZHH","国联安安心成长混合","混合型","GUOLIANANANXINCHENGZHANGHUNHE"],["253020","GLADSZLZA","国联安德盛增利债A","债券型","GUOLIANANDESHENGZENGLIZHAIA"],["253021","GLADSZLZB","国联安德盛增利债B","债券型","GUOLIANANDESHENGZENGLIZHAIB"],["253030","GLAXXZYZQ","国联安信心增益债券","债券型","GUOLIANANXINXINZENGYIZHAIQUAN"],["253050","GLAHBA","国联安货币A","货币型","GUOLIANANHUOBIA"],["253051","GLAHBB","国联安货币B","货币型","GUOLIANANHUOBIB"],["253060","GLAXXZZZQA","国联安信心增长债券A","债券型","GUOLIANANXINXINZENGZHANGZHAIQUANA"],["253061","GLAXXZZZQB","国联安信心增长债券B","债券型","GUOLIANANXINXINZENGZHANGZHAIQUANB"],["255010","GLAWJ","国联安稳健","混合型","GUOLIANANWENJIAN"],["257010","GLADSXPJX","国联安德盛小盘精选","混合型","GUOLIANANDESHENGXIAOPANJINGXUAN"],["257020","GLAJXHH","国联安精选混合","混合型","GUOLIANANJINGXUANHUNHE"],["257021","GLAJXHH","国联安精选混合(后端)","混合型","GUOLIANANJINGXUANHUNHE"],["257030","GLAYSHH","国联安优势混合","混合型","GUOLIANANYOUSHIHUNHE"],["257031","GLAYSHH","国联安优势混合(后端)","混合型","GUOLIANANYOUSHIHUNHE"],["257040","GLAHLHH","国联安红利混合","混合型","GUOLIANANHONGLIHUNHE"],["257041","GLAHLHH","国联安红利混合(后端)","混合型","GUOLIANANHONGLIHUNHE"],["257050","GLAZTQDHH","国联安主题驱动混合","混合型","GUOLIANANZHUTIQUDONGHUNHE"],["257060","GLASPETFLJ","国联安商品ETF联接","联接基金","GUOLIANANSHANGPINETFLIANJIE"],["257070","GLAYXHYHH","国联安优选行业混合","混合型","GUOLIANANYOUXUANHANGYEHUNHE"],["260101","JSCCYXHH","景顺长城优选混合","混合型","JINGSHUNCHANGCHENGYOUXUANHUNHE"],["260102","JSHBA","景顺货币A","货币型","JINGSHUNHUOBIA"],["260103","JSCCDLPH","景顺长城动力平衡","混合型","JINGSHUNCHANGCHENGDONGLIPINGHENG"],["260104","JSCCNXZZHH","景顺长城内需增长混合","混合型","JINGSHUNCHANGCHENGNEIXUZENGZHANGHUNHE"],["260108","JSCCXXCZHH","景顺长城新兴成长混合","混合型","JINGSHUNCHANGCHENGXINXINGCHENGZHANGHUNHE"],["260109","JSCCNXEHHH","景顺长城内需贰号混合","混合型","JINGSHUNCHANGCHENGNEIXUERHAOHUNHE"],["260110","JSCCJXLCHH","景顺长城精选蓝筹混合","混合型","JINGSHUNCHANGCHENGJINGXUANLANCHOUHUNHE"],["260111","JSCCGSZLHH","景顺长城公司治理混合","混合型","JINGSHUNCHANGCHENGGONGSIZHILIHUNHE"],["260112","JSCCNYJJHH","景顺长城能源基建混合","混合型","JINGSHUNCHANGCHENGNENGYUANJIJIANHUNHE"],["260115","JSCCZXPHH","景顺长城中小盘混合","混合型","JINGSHUNCHANGCHENGZHONGXIAOPANHUNHE"],["260116","JSCCHXJZLHHA","景顺长城核心竞争力混合A","混合型","JINGSHUNCHANGCHENGHEXINJINGZHENGLIHUNHEA"],["260117","JSCCZZCYHH","景顺长城支柱产业混合","混合型","JINGSHUNCHANGCHENGZHIZHUCHANYEHUNHE"],["260202","JSCCHBB","景顺长城货币B","货币型","JINGSHUNCHANGCHENGHUOBIB"],["261001","JSCCWDZQA","景顺长城稳定债券A","债券型","JINGSHUNCHANGCHENGWENDINGZHAIQUANA"],["261002","JSCCYXZLZQA","景顺长城优信增利债券A","债券型","JINGSHUNCHANGCHENGYOUXINZENGLIZHAIQUANA"],["261101","JSCCWDZQC","景顺长城稳定债券C","债券型","JINGSHUNCHANGCHENGWENDINGZHAIQUANC"],["261102","JSCCXZZQC","景顺长城信增债券C","债券型","JINGSHUNCHANGCHENGXINZENGZHAIQUANC"],["262001","JSCCDZHHH","景顺长城大中华混合","QDII","JINGSHUNCHANGCHENGDAZHONGHUAHUNHE"],["263001","JSCCSZ180LJ","景顺长城上证180联接","联接基金","JINGSHUNCHANGCHENGSHANGZHENG180LIANJIE"],["270001","GFJF","广发聚富","混合型","GUANGFAJUFU"],["270002","GFWJZZ","广发稳健增长","混合型","GUANGFAWENJIANZENGZHANG"],["270004","GFHBA","广发货币A","货币型","GUANGFAHUOBIA"],["270005","GFJFHH","广发聚丰混合","混合型","GUANGFAJUFENGHUNHE"],["270006","GFCLYX","广发策略优选","混合型","GUANGFACELUEYOUXUAN"],["270007","GFDPCZ","广发大盘成长","混合型","GUANGFADAPANCHENGZHANG"],["270008","GFHXJXHH","广发核心精选混合","混合型","GUANGFAHEXINJINGXUANHUNHE"],["270009","GFZQZQ","广发增强债券","债券型","GUANGFAZENGQIANGZHAIQUAN"],["270010","GFHS300ETFLJA","广发沪深300ETF联接A","联接基金","GUANGFAHUSHEN300ETFLIANJIEA"],["270011","GFJF","广发聚富(后端)","混合型","GUANGFAJUFU"],["270012","GFWJZZ","广发稳健增长(后端)","混合型","GUANGFAWENJIANZENGZHANG"],["270014","GFHBB","广发货币B","货币型","GUANGFAHUOBIB"],["270015","GFJFHH","广发聚丰混合(后端)","混合型","GUANGFAJUFENGHUNHE"],["270016","GFCLYX","广发策略优选(后端)","混合型","GUANGFACELUEYOUXUAN"],["270017","GFDPCZ","广发大盘成长(后端)","混合型","GUANGFADAPANCHENGZHANG"],["270020","GFHS300ETFLJA","广发沪深300ETF联接A(后端)","联接基金","GUANGFAHUSHEN300ETFLIANJIEA"],["270021","GFJRHH","广发聚瑞混合","混合型","GUANGFAJURUIHUNHE"],["270022","GFNXZZ","广发内需增长","混合型","GUANGFANEIXUZENGZHANG"],["270023","GFQQJXGPQDII","广发全球精选股票(QDII)","QDII","GUANGFAQUANQIUJINGXUANGUPIAOQDII"],["270025","GFHYLXHHA","广发行业领先混合A","混合型","GUANGFAHANGYELINGXIANHUNHEA"],["270026","GFZXB300LJ","广发中小板300联接","联接基金","GUANGFAZHONGXIAOBAN300LIANJIE"],["270027","GFQQNYZS","广发全球农业指数","QDII-指数","GUANGFAQUANQIUNONGYEZHISHU"],["270028","GFZZYJXHH","广发制造业精选混合","混合型","GUANGFAZHIZAOYEJINGXUANHUNHE"],["270029","GFJCXYZQA","广发聚财信用债券A","债券型","GUANGFAJUCAIXINYONGZHAIQUANA"],["270030","GFJCXYZQB","广发聚财信用债券B","债券型","GUANGFAJUCAIXINYONGZHAIQUANB"],["270036","GFZXB300LJ","广发中小板300联接(后端)","联接基金","GUANGFAZHONGXIAOBAN300LIANJIE"],["270041","GFXFPJXHH","广发消费品精选混合","混合型","GUANGFAXIAOFEIPINJINGXUANHUNHE"],["270042","GFNSDK100ZS","广发纳斯达克100指数","QDII-指数","GUANGFANASIDAKE100ZHISHU"],["270043","GFLCNNHZQ","广发理财年年红债券","定开债券","GUANGFALICAINIANNIANHONGZHAIQUAN"],["270044","GFSZTLZQA","广发双债添利债券A","债券型","GUANGFASHUANGZHAITIANLIZHAIQUANA"],["270045","GFSZTLZQC","广发双债添利债券C","债券型","GUANGFASHUANGZHAITIANLIZHAIQUANC"],["270046","GFLC30TZQA","广发理财30天债券A","理财型","GUANGFALICAI30TIANZHAIQUANA"],["270047","GFLC30TZQB","广发理财30天债券B","理财型","GUANGFALICAI30TIANZHAIQUANB"],["270048","GFCZZQA","广发纯债债券A","债券型","GUANGFACHUNZHAIZHAIQUANA"],["270049","GFCZZQC","广发纯债债券C","债券型","GUANGFACHUNZHAIZHAIQUANC"],["270050","GFXJJHH","广发新经济混合","混合型","GUANGFAXINJINGJIHUNHE"],["288001","HXJDHH","华夏经典混合","混合型","HUAXIAJINGDIANHUNHE"],["288002","HXSRHH","华夏收入混合","混合型","HUAXIASHOURUHUNHE"],["288101","HXHBA","华夏货币A","货币型","HUAXIAHUOBIA"],["288102","HXWDSLZQ","华夏稳定双利债券","债券型","HUAXIAWENDINGSHUANGLIZHAIQUAN"],["288201","HXHBB","华夏货币B","货币型","HUAXIAHUOBIB"],["290001","TXTTSYHBA","泰信天天收益货币A","货币型","TAIXINTIANTIANSHOUYIHUOBIA"],["290002","TXXHCL","泰信先行策略","混合型","TAIXINXIANHANGCELUE"],["290003","TXSXSLZQ","泰信双息双利债券","债券型","TAIXINSHUANGXISHUANGLIZHAIQUAN"],["290004","TXYZSHHH","泰信优质生活混合","混合型","TAIXINYOUZHISHENGHUOHUNHE"],["290005","TXYSZZ","泰信优势增长","混合型","TAIXINYOUSHIZENGZHANG"],["290006","TXLCJXHH","泰信蓝筹精选混合","混合型","TAIXINLANCHOUJINGXUANHUNHE"],["290007","TXZQZQA","泰信增强债券A","债券型","TAIXINZENGQIANGZHAIQUANA"],["290008","TXFZZTHH","泰信发展主题混合","混合型","TAIXINFAZHANZHUTIHUNHE"],["290009","TXZQZQ","泰信周期债券","债券型","TAIXINZHOUQIZHAIQUAN"],["290010","TXZZ200","泰信中证200","股票指数","TAIXINZHONGZHENG200"],["290011","TXZXPJXHH","泰信中小盘精选混合","混合型","TAIXINZHONGXIAOPANJINGXUANHUNHE"],["290012","TXHYJXHHA","泰信行业精选混合A","混合型","TAIXINHANGYEJINGXUANHUNHEA"],["290014","TXXDFWYHH","泰信现代服务业混合","混合型","TAIXINXIANDAIFUWUYEHUNHE"],["291007","TXZQZQC","泰信增强债券C","债券型","TAIXINZENGQIANGZHAIQUANC"],["310308","SWLXSLJXHH","申万菱信盛利精选混合","混合型","SHENWANLINGXINSHENGLIJINGXUANHUNHE"],["310318","SWLXHS300ZSZQ","申万菱信沪深300指数增强","股票指数","SHENWANLINGXINHUSHEN300ZHISHUZENGQIANG"],["310328","SWLXXDLHH","申万菱信新动力混合","混合型","SHENWANLINGXINXINDONGLIHUNHE"],["310338","SWLXSYBHBA","申万菱信收益宝货币A","货币型","SHENWANLINGXINSHOUYIBAOHUOBIA"],["310339","SWSYBHBB","申万收益宝货币B","货币型","SHENWANSHOUYIBAOHUOBIB"],["310358","SWLXXJJHH","申万菱信新经济混合","混合型","SHENWANLINGXINXINJINGJIHUNHE"],["310368","SWLXJZYSHH","申万菱信竞争优势混合","混合型","SHENWANLINGXINJINGZHENGYOUSHIHUNHE"],["310378","SWLXTYBZQA","申万菱信添益宝债券A","债券型","SHENWANLINGXINTIANYIBAOZHAIQUANA"],["310379","SWLXTYBZQB","申万菱信添益宝债券B","债券型","SHENWANLINGXINTIANYIBAOZHAIQUANB"],["310388","SWLXXFZZHH","申万菱信消费增长混合","混合型","SHENWANLINGXINXIAOFEIZENGZHANGHUNHE"],["310398","SWLXHS300JZZS","申万菱信沪深300价值指数","股票指数","SHENWANLINGXINHUSHEN300JIAZHIZHISHU"],["310508","SWLXWYBZQ","申万菱信稳益宝债券","债券型","SHENWANLINGXINWENYIBAOZHAIQUAN"],["310518","SWKZHZQ","申万可转换债券","债券型","SHENWANKEZHUANHUANZHAIQUAN"],["320001","NAPH","诺安平衡","混合型","NUOANPINGHENG"],["320002","NAHBA","诺安货币A","货币型","NUOANHUOBIA"],["320003","NAXFHH","诺安先锋混合","混合型","NUOANXIANFENGHUNHE"],["320004","NAYHSYZQ","诺安优化收益债券","债券型","NUOANYOUHUASHOUYIZHAIQUAN"],["320005","NAJZZZHH","诺安价值增长混合","混合型","NUOANJIAZHIZENGZHANGHUNHE"],["320006","NALHPZ","诺安灵活配置","混合型","NUOANLINGHUOPEIZHI"],["320007","NACZHH","诺安成长混合","混合型","NUOANCHENGZHANGHUNHE"],["320008","NAZLZQA","诺安增利债券A","债券型","NUOANZENGLIZHAIQUANA"],["320009","NAZLZQB","诺安增利债券B","债券型","NUOANZENGLIZHAIQUANB"],["320010","NAZZ100","诺安中证100","股票指数","NUOANZHONGZHENG100"],["320011","NAZXPJXHH","诺安中小盘精选混合","混合型","NUOANZHONGXIAOPANJINGXUANHUNHE"],["320012","NAZTJXHH","诺安主题精选混合","混合型","NUOANZHUTIJINGXUANHUNHE"],["320013","NAQQHJ","诺安全球黄金","QDII","NUOANQUANQIUHUANGJIN"],["320014","NASZXXLJ","诺安上证新兴联接","联接基金","NUOANSHANGZHENGXINXINGLIANJIE"],["320015","NABB","诺安保本","保本型","NUOANBAOBEN"],["320016","NADCLHH","诺安多策略混合","混合型","NUOANDUOCELUEHUNHE"],["320017","NAQQBDC","诺安全球不动产","QDII","NUOANQUANQIUBUDONGCHAN"],["320018","NAXDLLHPZ","诺安新动力灵活配置","混合型","NUOANXINDONGLILINGHUOPEIZHI"],["320019","NAHBB","诺安货币B","货币型","NUOANHUOBIB"],["320020","NAHXBB","诺安汇鑫保本","保本型","NUOANHUIXINBAOBEN"],["320021","NASLZQ","诺安双利债券","债券型","NUOANSHUANGLIZHAIQUAN"],["320022","NAYJJXGP","诺安研究精选股票","股票型","NUOANYANJIUJINGXUANGUPIAO"],["340001","XQKZZHH","兴全可转债混合","混合型","XINGQUANKEZHUANZHAIHUNHE"],["340005","XQHB","兴全货币","货币型","XINGQUANHUOBI"],["340006","XQQQSYGP","兴全全球视野股票","股票型","XINGQUANQUANQIUSHIYEGUPIAO"],["340007","XQSHZRHH","兴全社会责任混合","混合型","XINGQUANSHEHUIZERENHUNHE"],["340008","XQYJZZHH","兴全有机增长混合","混合型","XINGQUANYOUJIZENGZHANGHUNHE"],["340009","XQPWZLZQ","兴全磐稳增利债券","债券型","XINGQUANPANWENZENGLIZHAIQUAN"],["350001","TZCFZZ","天治财富增长","混合型","TIANZHICAIFUZENGZHANG"],["350002","TZDTJJHH","天治低碳经济混合","混合型","TIANZHIDITANJINGJIHUNHE"],["350004","TZTDLHB","天治天得利货币","货币型","TIANZHITIANDELIHUOBI"],["350005","TZZGZZ2025","天治中国制造2025","混合型","TIANZHIZHONGGUOZHIZAO2025"],["350006","TZWJSYZQ","天治稳健双盈债券","债券型","TIANZHIWENJIANSHUANGYINGZHAIQUAN"],["350007","TZQSJX","天治趋势精选","混合型","TIANZHIQUSHIJINGXUAN"],["350008","TZXXFHH","天治新消费混合","混合型","TIANZHIXINXIAOFEIHUNHE"],["350009","TZYJQDHHA","天治研究驱动混合A","混合型","TIANZHIYANJIUQUDONGHUNHEA"],["360001","GDLHHX","光大量化核心","股票型","GUANGDALIANGHUAHEXIN"],["360003","GDHB","光大货币","货币型","GUANGDAHUOBI"],["360005","GDBDXHLHH","光大保德信红利混合","混合型","GUANGDAHONGLIHUNHE"],["360006","GDBDXXZZHH","光大保德信新增长混合","混合型","GUANGDAXINZENGZHANGHUNHE"],["360007","GDBDXYSPZHH","光大保德信优势配置混合","混合型","GUANGDAYOUSHIPEIZHIHUNHE"],["360008","GDZLA","光大增利A","债券型","GUANGDAZENGLIA"],["360009","GDZLC","光大增利C","债券型","GUANGDAZENGLIC"],["360010","GDBDXJHJXHH","光大保德信均衡精选混合","混合型","GUANGDAJUNHENGJINGXUANHUNHE"],["360011","GDDTYX","光大动态优选","混合型","GUANGDADONGTAIYOUXUAN"],["360012","GDBDXZXPHH","光大保德信中小盘混合","混合型","GUANGDABAODEXINZHONGXIAOPANHUNHE"],["360013","GDTYZQA","光大添益债券A","债券型","GUANGDATIANYIZHAIQUANA"],["360014","GDTYZQC","光大添益债券C","债券型","GUANGDATIANYIZHAIQUANC"],["360016","GDBDXHYLDHH","光大保德信行业轮动混合","混合型","GUANGDAHANGYELUNDONGHUNHE"],["360019","GDTTYLCZQA","光大添天盈理财债券A","理财型","GUANGDATIANTIANYINGLICAIZHAIQUANA"],["360020","GDTTYLCZQB","光大添天盈理财债券B","理财型","GUANGDATIANTIANYINGLICAIZHAIQUANB"],["370010","STHBA","上投货币A","货币型","SHANGTOUHUOBIA"],["370011","STHBB","上投货币B","货币型","SHANGTOUMOGENHUOBIB"],["370021","STFHTLZQA","上投分红添利债券A","债券型","SHANGTOUFENHONGTIANLIZHAIQUANA"],["370022","STFHTLZQB","上投分红添利债券B","债券型","SHANGTOUFENHONGTIANLIZHAIQUANB"],["370023","STZZXFZS","上投中证消费指数","股票指数","SHANGTOUZHONGZHENGXIAOFEIZHISHU"],["370024","STMGHXYXHH","上投摩根核心优选混合","混合型","SHANGTOUMOGENHEXINYOUXUANHUNHE"],["370025","STLDTLZQA","上投轮动添利债券A","债券型","SHANGTOULUNDONGTIANLIZHAIQUANA"],["370026","STLDTLZQC","上投轮动添利债券C","债券型","SHANGTOULUNDONGTIANLIZHAIQUANC"],["370027","STMGZX30HH","上投摩根智选30混合","混合型","SHANGTOUMOGENZHIXUAN30HUNHE"],["371020","STCZZQA","上投纯债债券A","债券型","SHANGTOUCHUNZHAIZHAIQUANA"],["371120","STCZZQB","上投纯债债券B","债券型","SHANGTOUCHUNZHAIZHAIQUANB"],["372010","STQHZQA","上投强化债券A","债券型","SHANGTOUQIANGHUAZHAIQUANA"],["372110","STQHZQB","上投强化债券B","债券型","SHANGTOUQIANGHUAZHAIQUANB"],["373010","STMGSXPHHHA","上投摩根双息平衡混合A","混合型","SHANGTOUMOGENSHUANGXIPINGHENGHUNHEA"],["373020","STSHPH","上投双核平衡","混合型","SHANGTOUSHUANGHEPINGHENG"],["375010","STZGYS","上投中国优势","混合型","SHANGTOUZHONGGUOYOUSHI"],["376510","STDPLC","上投大盘蓝筹","股票型","SHANGTOUDAPANLANCHOU"],["377010","STMGAEFHH","上投摩根阿尔法混合","混合型","SHANGTOUMOGENAERFAHUNHE"],["377016","STMGYTYSHH","上投摩根亚太优势混合","QDII","SHANGTOUMOGENYATAIYOUSHIHUNHE"],["377020","STMGNXDLHH","上投摩根内需动力混合","混合型","SHANGTOUMOGENNEIXUDONGLIHUNHE"],["377150","STMGJKPZSHHH","上投摩根健康品质生活混合","混合型","SHANGTOUMOGENJIANKANGPINZHISHENGHUOHUNHE"],["377240","STMGXXDLHHA","上投摩根新兴动力混合A","混合型","SHANGTOUMOGENXINXINGDONGLIHUNHEA"],["377530","STMGHYLDHHA","上投摩根行业轮动混合A","混合型","SHANGTOUMOGENHANGYELUNDONGHUNHEA"],["378006","STMGQQXXSCHH","上投摩根全球新兴市场混合","QDII","SHANGTOUMOGENQUANQIUXINXINGSHICHANGHUNHE"],["378010","STMGCZXFHH","上投摩根成长先锋混合","混合型","SHANGTOUMOGENCHENGZHANGXIANFENGHUNHE"],["378546","STMGQQTRZYHH","上投摩根全球天然资源混合","QDII","SHANGTOUMOGENQUANQIUTIANRANZIYUANHUNHE"],["379010","STMGZXPHH","上投摩根中小盘混合","混合型","SHANGTOUMOGENZHONGXIAOPANHUNHE"],["380001","ZYLC14TZQA","中银理财14天债券A","理财型","ZHONGYINLICAI14TIANZHAIQUANA"],["380002","ZYLC14TZQB","中银理财14天债券B","理财型","ZHONGYINLICAI14TIANZHAIQUANB"],["380005","ZYCZZQA","中银纯债债券A","债券型","ZHONGYINCHUNZHAIZHAIQUANA"],["380006","ZYCZZQC","中银纯债债券C","债券型","ZHONGYINCHUNZHAIZHAIQUANC"],["380007","ZYLC7TZQA","中银理财7天债券A","理财型","ZHONGYINLICAI7TIANZHAIQUANA"],["380008","ZYLC7TZQB","中银理财7天债券B","理财型","ZHONGYINLICAI7TIANZHAIQUANB"],["380009","ZYTLZQFQ","中银添利债券发起","债券型","ZHONGYINTIANLIZHAIQUANFAQI"],["380010","ZYLC30TZQA","中银理财30天债券A","理财型","ZHONGYINLICAI30TIANZHAIQUANA"],["380011","ZYLC30TZQB","中银理财30天债券B","理财型","ZHONGYINLICAI30TIANZHAIQUANB"],["392001","ZHHBA","中海货币A","货币型","ZHONGHAIHUOBIA"],["392002","ZHHBB","中海货币B","货币型","ZHONGHAIHUOBIB"],["393001","ZHYSJXLHPZHH","中海优势精选灵活配置混合","混合型","ZHONGHAIYOUSHIJINGXUANLINGHUOPEIZHIHUNHE"],["395001","ZHWJZQ","中海稳健债券","债券型","ZHONGHAIWENJIANZHAIQUAN"],["395011","ZHZQZQA","中海增强债券A","债券型","ZHONGHAIZENGQIANGZHAIQUANA"],["395012","ZHZQZQC","中海增强债券C","债券型","ZHONGHAIZENGQIANGZHAIQUANC"],["398001","ZHYZCZHH","中海优质成长混合","混合型","ZHONGHAIYOUZHICHENGZHANGHUNHE"],["398002","ZHYZCZHH","中海优质成长混合(后端)","混合型","ZHONGHAIYOUZHICHENGZHANGHUNHE"],["398011","ZHFHZLHH","中海分红增利混合","混合型","ZHONGHAIFENHONGZENGLIHUNHE"],["398012","ZHFHZLHH","中海分红增利混合(后端)","混合型","ZHONGHAIFENHONGZENGLIHUNHE"],["398021","ZHNYCL","中海能源策略","混合型","ZHONGHAINENGYUANCELUE"],["398031","ZHLCLH","中海蓝筹灵活","混合型","ZHONGHAILANCHOULINGHUO"],["398041","ZHLHCLHH","中海量化策略混合","混合型","ZHONGHAILIANGHUACELUEHUNHE"],["398051","ZHHBXNY","中海环保新能源","混合型","ZHONGHAIHUANBAOXINNENGYUAN"],["398061","ZHXFHH","中海消费混合","混合型","ZHONGHAIXIAOFEIHUNHE"],["399001","ZHSZ50","中海上证50","股票指数","ZHONGHAISHANGZHENG50"],["399011","ZHYLBJZTGP","中海医疗保健主题股票","股票型","ZHONGHAIYILIAOBAOJIANZHUTIGUPIAO"],["400001","DFLHH","东方龙混合","混合型","DONGFANGLONGHUNHE"],["400003","DFJX","东方精选","混合型","DONGFANGJINGXUAN"],["400004","DFJX","东方精选(后端)","混合型","DONGFANGJINGXUAN"],["400005","DFJZBHBA","东方金账簿货币A","货币型","DONGFANGJINZHANGBUHUOBIA"],["400006","DFJZBHBB","东方金账簿货币B","货币型","DONGFANGJINZHANGBUHUOBIB"],["400007","DFCLCZHH","东方策略成长混合","混合型","DONGFANGCELUECHENGZHANGHUNHE"],["400008","DFCLCZHH","东方策略成长混合(后端)","混合型","DONGFANGCELUECHENGZHANGHUNHE"],["400009","DFWJZQ","东方稳健债券","债券型","DONGFANGWENJIANZHAIQUAN"],["400011","DFHXDLHH","东方核心动力混合","混合型","DONGFANGHEXINDONGLIHUNHE"],["400012","DFHXDLHH","东方核心动力混合(后端)","混合型","DONGFANGHEXINDONGLIHUNHE"],["400013","DFBB","东方保本","保本型","DONGFANGBAOBEN"],["400015","DFZZZXP","东方增长中小盘","混合型","DONGFANGZENGZHANGZHONGXIAOPAN"],["400016","DFQHSYZQ","东方强化收益债券","债券型","DONGFANGQIANGHUASHOUYIZHAIQUAN"],["400018","DFQMLHXFHH","东方启明量化先锋基金","混合型","DONGFANGQIMINGLIANGHUAXIANFENGJIJIN"],["400020","DFAXSYBB","东方安心收益保本","保本型","DONGFANGANXINSHOUYIBAOBEN"],["400022","DFLQHHA","东方利群混合A","混合型","DONGFANGLIQUNHUNHEA"],["400023","DFDCLLHPZHHA","东方多策略灵活配置混合A","混合型","DONGFANGDUOCELUELINGHUOPEIZHIHUNHEA"],["400025","DFXXCZHH","东方新兴成长混合","混合型","DONGFANGXINXINGCHENGZHANGHUNHE"],["400027","DFSZTLZQA","东方双债添利债券A","债券型","DONGFANGSHUANGZHAITIANLIZHAIQUANA"],["400029","DFSZTLZQC","东方双债添利债券C","债券型","DONGFANGSHUANGZHAITIANLIZHAIQUANC"],["400030","DFTYZQ","东方添益债券","债券型","DONGFANGTIANYIZHAIQUAN"],["400032","DFZTJXHH","东方主题精选混合","混合型","DONGFANGZHUTIJINGXUANHUNHE"],["410001","HFJZLYX","华富竞争力优选","混合型","HUAFUJINGZHENGLIYOUXUAN"],["410002","HFHB","华富货币","货币型","HUAFUHUOBI"],["410003","HFCZQSHH","华富成长趋势混合","混合型","HUAFUCHENGZHANGQUSHIHUNHE"],["410004","HFZQZQA","华富增强债券A","债券型","HUAFUZENGQIANGZHAIQUANA"],["410005","HFZQZQB","华富增强债券B","债券型","HUAFUZENGQIANGZHAIQUANB"],["410006","HFCLJX","华富策略精选","混合型","HUAFUCELUEJINGXUAN"],["410007","HFJZZZ","华富价值增长","混合型","HUAFUJIAZHIZENGZHANG"],["410008","HFZZ100","华富中证100","股票指数","HUAFUZHONGZHENG100"],["410009","HFLZSMLHH","华富量子生命力混合","混合型","HUAFULIANGZISHENGMINGLIHUNHE"],["410010","HFZXBZSZQ","华富中小板指数增强","股票指数","HUAFUZHONGXIAOBANZHISHUZENGQIANG"],["420001","THJX","天弘精选","混合型","TIANHONGJINGXUAN"],["420002","THYLZQA","天弘永利债券A","债券型","TIANHONGYONGLIZHAIQUANA"],["420003","THYDJZCZHH","天弘永定价值成长混合","混合型","TIANHONGYONGDINGJIAZHICHENGZHANGHUNHE"],["420005","THZQCLHH","天弘周期策略混合","混合型","TIANHONGZHOUQICELUEHUNHE"],["420006","THXJGJHBA","天弘现金管家货币A","货币型","TIANHONGXIANJINGUANJIAHUOBIA"],["420008","THZQFQSA","天弘债券发起式A","债券型","TIANHONGZHAIQUANFAQISHIA"],["420009","THAKYLHH","天弘安康养老混合","混合型","TIANHONGANKANGYANGLAOHUNHE"],["420102","THYLZQB","天弘永利债券B","债券型","TIANHONGYONGLIZHAIQUANB"],["420106","THXJGJHBB","天弘现金管家货币B","货币型","TIANHONGXIANJINGUANJIAHUOBIB"],["420108","THZQFQSB","天弘债券发起式B","债券型","TIANHONGZHAIQUANFAQISHIB"],["450001","GFZGSY","国富中国收益","混合型","GUOFUZHONGGUOSHOUYI"],["450002","GFDXSZHH","国富弹性市值混合","混合型","GUOFUTANXINGSHIZHIHUNHE"],["450003","GFQLZHHHA","国富潜力组合混合A","混合型","GUOFUQIANLIZUHEHUNHEA"],["450004","GFSHJZHH","国富深化价值混合","混合型","GUOFUSHENHUAJIAZHIHUNHE"],["450005","GFQHZQA","国富强化债券A","债券型","GUOFUQIANGHUAZHAIQUANA"],["450006","GFQHZQC","国富强化债券C","债券型","GUOFUQIANGHUAZHAIQUANC"],["450007","GFCZDLHH","国富成长动力混合","混合型","GUOFUCHENGZHANGDONGLIHUNHE"],["450008","GFHS300","国富沪深300","股票指数","GUOFUHUSHEN300"],["450009","GFZXP","国富中小盘","股票型","GUOFUZHONGXIAOPAN"],["450010","GFCLHBHH","国富策略回报混合","混合型","GUOFUCELUEHUIBAOHUNHE"],["450011","GFYJJXHH","国富研究精选混合","混合型","GUOFUYANJIUJINGXUANHUNHE"],["450018","GFHJXYZQA","国富恒久信用债券A","债券型","GUOFUHENGJIUXINYONGZHAIQUANA"],["450019","GFHJXYZQC","国富恒久信用债券C","债券型","GUOFUHENGJIUXINYONGZHAIQUANC"],["457001","GFYZJHGP","国富亚洲机会股票","QDII","GUOFUYAZHOUJIHUIGUPIAO"],["460001","HTBRSSZGHH","华泰柏瑞盛世中国混合","混合型","HUATAIBAIRUISHENGSHIZHONGGUOHUNHE"],["460002","HTBRJJCZHHA","华泰柏瑞积极成长混合A","混合型","HUATAIBAIRUIJIJICHENGZHANGHUNHEA"],["460003","HTBRWBZLZQB","华泰柏瑞稳本增利债券B","债券型","HUATAIBAIRUIWENBENZENGLIZHAIQUANB"],["460005","HTBRJZZCHH","华泰柏瑞价值增长混合","混合型","HUATAIBAIRUIJIAZHIZENGZHANGHUNHE"],["460006","HTBRHBA","华泰柏瑞货币A","货币型","HUATAIBAIRUIHUOBIA"],["460007","HTBRHYLXHH","华泰柏瑞行业领先混合","混合型","HUATAIBAIRUIHANGYELINGXIANHUNHE"],["460008","HTBRWJSYZQA","华泰柏瑞稳健收益债券A","债券型","HUATAIBAIRUIWENJIANSHOUYIZHAIQUANA"],["460009","HTBRLHXHHH","华泰柏瑞量化先行混合","混合型","HUATAIBAIRUILIANGHUAXIANXINGHUNHE"],["460010","HTBRYZLDQYHH","华泰柏瑞亚洲领导企业混合","QDII","HUATAIBAIRUIYAZHOULINGDAOQIYEHUNHE"],["460106","HTBRHBB","华泰柏瑞货币B","货币型","HUATAIBAIRUIHUOBIB"],["460108","HTBRWJSYZQC","华泰柏瑞稳健收益债券C","债券型","HUATAIBAIRUIWENJIANSHOUYIZHAIQUANC"],["460220","HTBRZXPLJ","华泰柏瑞中小盘联接","联接基金","HUATAIBAIRUIZHONGXIAOPANLIANJIE"],["460300","HTBRHS300LJ","华泰柏瑞沪深300联接","联接基金","HUATAIBAIRUIHUSHEN300LIANJIE"],["470006","HTFYYBJHH","汇添富医药保健混合","混合型","HUITIANFUYIYAOBAOJIANHUNHE"],["470007","HTFSZZZ","汇添富上证综指","股票指数","HUITIANFUSHANGZHENGZENGZHI"],["470008","HTFCLHBHH","汇添富策略回报混合","混合型","HUITIANFUCELUEHUIBAOHUNHE"],["470009","HTFMYHLHH","汇添富民营活力混合","混合型","HUITIANFUMINYINGHUOLIHUNHE"],["470010","HTFDYSYZQA","汇添富多元收益债券A","债券型","HUITIANFUDUOYUANSHOUYIZHAIQUANA"],["470011","HTFDYSYZQC","汇添富多元收益债券C","债券型","HUITIANFUDUOYUANSHOUYIZHAIQUANC"],["470014","HTFLC14TZQA","汇添富理财14天债券A","理财型","HUITIANFULICAI14TIANZHAIQUANA"],["470018","HTFSLZQA","汇添富双利债券A","债券型","HUITIANFUSHUANGLIZHAIQUANA"],["470021","HTFYXHBLHPZHHA","汇添富优选回报灵活配置混合A","混合型","HUITIANFUYOUXUANHUIBAOLINGHUOPEIZHIHUNHEA"],["470028","HTFSHZRHH","汇添富社会责任混合","混合型","HUITIANFUSHEHUIZERENHUNHE"],["470030","HTFLC30TZQA","汇添富理财30天债券A","理财型","HUITIANFULICAI30TIANZHAIQUANA"],["470058","HTFKZHZQA","汇添富可转换债券A","债券型","HUITIANFUKEZHUANHUANZHAIQUANA"],["470059","HTFKZHZQC","汇添富可转换债券C","债券型","HUITIANFUKEZHUANHUANZHAIQUANC"],["470060","HTFLC60TZQA","汇添富理财60天债券A","理财型","HUITIANFULICAI60TIANZHAIQUANA"],["470068","HTFSZ300ETFLJ","汇添富深证300ETF联接","联接基金","HUITIANFUSHENZHENG300ETFLIANJIE"],["470078","HTFZQZQC","汇添富增强债券C","债券型","HUITIANFUZENGQIANGZHAIQUANC"],["470088","HTF6YHTLDKZA","汇添富6月红添利定开债A","定开债券","HUITIANFU6YUEHONGTIANLIDINGKAIZHAIA"],["470089","HTF6YHTLDKZC","汇添富6月红添利定开债C","定开债券","HUITIANFU6YUEHONGTIANLIDINGKAIZHAIC"],["470098","HTFNXTZHH","汇添富逆向投资混合","混合型","HUITIANFUNIXIANGTOUZIHUNHE"],["470888","HTFXGHHQDII","汇添富香港混合(QDII)","QDII","HUITIANFUXIANGGANGHUNHE(QDII)"],["471007","HTFLC7TZQA","汇添富理财7天债券A","理财型","HUITIANFULICAI7TIANZHAIQUANA"],["471014","HTFLC14TZQB","汇添富理财14天债券B","理财型","HUITIANFULICAI14TIANZHAIQUANB"],["471030","HTFLC30TZQB","汇添富理财30天债券B","理财型","HUITIANFULICAI30TIANZHAIQUANB"],["471060","HTFLC60TZQB","汇添富理财60天债券B","理财型","HUITIANFULICAI60TIANZHAIQUANB"],["472007","HTFLC7TZQB","汇添富理财7天债券B","理财型","HUITIANFULICAI7TIANZHAIQUANB"],["481001","GYHXJZHHA","工银核心价值混合A","混合型","GONGYINHEXINJIAZHIHUNHEA"],["481004","GYWJCZHHA","工银稳健成长混合A","混合型","GONGYINWENJIANCHENGZHANGHUNHEA"],["481006","GYHLHH","工银红利混合","混合型","GONGYINHONGLIHUNHE"],["481008","GYDPLCHH","工银大盘蓝筹混合","混合型","GONGYINDAPANLANCHOUHUNHE"],["481009","GYHS300","工银沪深300","股票指数","GONGYINHUSHEN300"],["481010","GYZXPHH","工银中小盘混合","混合型","GONGYINZHONGXIAOPANHUNHE"],["481012","GYSZHLLJ","工银深证红利联接","联接基金","HONGYINSHENZHENGHONGLILIANJIE"],["481013","GYXFFWHH","工银消费服务混合","混合型","GONGYINXIAOFEIFUWUHUNHE"],["481015","GYZTCLHH","工银主题策略混合","混合型","GONGYINZHUTICELUEHUNHE"],["481017","GYLHCLHH","工银量化策略混合","混合型","GONGYINLIANGHUACELUEHUNHE"],["482002","GYHB","工银货币","货币型","GONGYINHUOBI"],["483003","GYJXPHHH","工银精选平衡混合","混合型","GONGYINJINGXUANPINGHENGHUNHE"],["485005","GYZQSYZQB","工银增强收益债券B","债券型","GONGYINZENGQIANGSHOUYIZHAIQUANB"],["485007","GYXYTLZQB","工银信用添利债券B","债券型","GONGYINXINYONGTIANLIZHAIQUANB"],["485011","GYSLZQB","工银双利债券B","债券型","GONGYINSHUANGLIZHAIQUANB"],["485014","GYTYZQB","工银添颐债券B","债券型","GONGYINTIANYIZHAIQUANB"],["485018","GY7TLCZQB","工银7天理财债券B","理财型","GONGYIN7TIANLICAIZHAIQUANB"],["485019","GYXYCZZQB","工银信用纯债债券B","债券型","GONGYINXINYONGCHUNZHAIZHAIQUANB"],["485020","GY14TLCZQFQB","工银14天理财债券发起B","理财型","GONGYIN14TIANLICAIZHAIQUANFAQIB"],["485022","GY60TLCZQB","工银60天理财债券B","理财型","GONGYIN60TIANLICAIZHAIQUANB"],["485105","GYZQSYZQA","工银增强收益债券A","债券型","GONGYINZENGQIANGSHOUYIZHAIQUANA"],["485107","GYXYTLZQA","工银信用添利债券A","债券型","GONGYINXINYONGTIANLIZHAIQUANA"],["485111","GYSLZQA","工银双利债券A","债券型","GONGYINSHUANGLIZHAIQUANA"],["485114","GYTYZQA","工银添颐债券A","债券型","GONGYINTIANYIZHAIQUANA"],["485118","GY7TLCZQA","工银7天理财债券A","理财型","GONGYIN7TIANLICAIZHAIQUANA"],["485119","GYXYCZZQA","工银信用纯债债券A","债券型","GONGYINXINYONGCHUNZHAIZHAIQUANA"],["485120","GY14TLCZQFQA","工银14天理财债券发起A","理财型","GONGYIN14TIANLICAIZHAIQUANFAQIA"],["485122","GY60TLCZQA","工银60天理财债券A","理财型","GONGYIN60TIANLICAIZHAIQUANA"],["485205","GYZQSYZQA","工银增强收益债券A(后端)","债券型","GONGYINZENGQIANGSHOUYIZHAIQUANA"],["486001","GYQQPZ","工银全球配置","QDII","GONGYINQUANQIUPEIZHI"],["486002","GYQQJX","工银全球精选","QDII","GONGYINQUANQIUJINGXUAN"],["487016","GYBBHHA","工银保本混合A","保本型","GONGYINBAOBENHUNHEA"],["487021","GYYZJXHH","工银优质精选混合","混合型","GONGYINYOUZHIJINGXUANHUNHE"],["500058","JJYF","基金银丰","封闭式","JIJINYINFENG"],["501000","GJXXLHPZLOF","国金鑫新灵活配置(LOF)","混合型","GUOJINXINXINLINGHUOPEIZHILOF"],["501001","CTDCLJXHHLOF","财通多策略精选混合(LOF)","混合型","CAITONGDUOCELUEJINGXUANHUNHELOF"],["501002","CXZZNYHLZSLOF","长信中证能源互联指数(LOF)","股票指数","CHANGXINZHONGZHENGNENGYUANHULIANZHISHULOF"],["501003","CXZZSHGGFZZTZS","长信中证上海改革发展主题指数","股票指数","CHANGXINZHONGZHENGSHANGHAIGAIGEFAZHANZHUTIZHISHU"],["501005","HTFZZJZYLZSA","汇添富中证精准医疗指数A","股票指数","HUITIANFUZHONGZHENGJINGZHUNYILIAOZHISHUA"],["501006","HTFZZJZYLZSC","汇添富中证精准医疗指数C","股票指数","HUITIANFUZHONGZHENGJINGZHUNYILIAOZHISHUC"],["501007","HTFZZHLWYLZSA","汇添富中证互联网医疗指数A","股票指数","HUITIANFUZHONGZHENGHULIANWANGYILIAOZHISHUA"],["501008","HTFZZHLWYLZSC","汇添富中证互联网医疗指数C","股票指数","HUITIANFUZHONGZHENGHULIANWANGYILIAOZHISHUC"],["501009","HTFZZSWKJZSA","汇添富中证生物科技指数A","股票指数","HUITIANFUZHONGZHENGSHENGWUKEJIZHISHUA"],["501010","HTFZZSWKJZSC","汇添富中证生物科技指数C","股票指数","HUITIANFUZHONGZHENGSHENGWUKEJIZHISHUC"],["501011","HTFZZZYZSLOFA","汇添富中证中药指数(LOF)A","股票指数","HUITIANFUZHONGZHENGZHONGYAOZHISHULOFA"],["501012","HTFZZZYZSLOFC","汇添富中证中药指数(LOF)C","股票指数","HUITIANFUZHONGZHENGZHONGYAOZHISHULOFC"],["501015","CTDCLSJHH","财通多策略升级混合","混合型","CAITONGDUOCELUESHENGJIHUNHE"],["501016","GTZZSWZQHYZS","国泰中证申万证券行业指数","股票指数","GUOTAIZHONGZHENGSHENWANZHENGQUANHANGYEZHISHU"],["501017","GTRFDZLHPZHH","国泰融丰定增灵活配置混合","混合型","GUOTAIRONGFENGDINGZENGLINGHUOPEIZHIHUNHE"],["501018","NFYY","南方原油","QDII","NANFANGYUANYOU"],["501019","GTGZHTJGZS","国泰国证航天军工指数","股票指数","GUOTAIGUOZHENGHANGTIANJUNGONGZHISHU"],["501020","GTZZGYQYGGZS","国泰中证国有企业改革指数","股票指数","GUOTAIZHONGZHENGGUOYOUQIYEGAIGEZHISHU"],["501021","HBXYXGZGZXP","华宝兴业香港中国中小盘","QDII-指数","HUABAOXINGYEXIANGGANGZHONGGUOZHONGXIAOPAN"],["501022","YHXSDZHH","银华鑫盛定增混合","混合型","YINHUAXINSHENGDINGZENGHUNHE"],["501023","PHXGZXQYZSLOF","鹏华香港中小企业指数LOF","股票指数","PENGHUAXIANGGANGZHONGXIAOQIYEZHISHULOF"],["501025","PHXGYHZSLOF","鹏华香港银行指数(LOF)","股票指数","PENGHUAXIANGGANGYINHANGZHISHULOF"],["501026","CTDCLFXHH","财通多策略福享混合","混合型","CAITONGDUOCELUEFUXIANGHUNHE"],["501027","GTRXDZLHPZHH","国泰融信定增灵活配置混合","混合型","GUOTAIRONGXINDINGZENGLINGHUOPEIZHIHUNHE"],["501028","CTDCLFRDKHH","财通多策略福瑞定开混合","混合型","CAITONGDUOCELUEFURUIDINGKAIHUNHE"],["501029","HBBPZGAGHLJHZS","华宝标普中国A股红利机会指数","股票指数","HUABAOBIAOPUZHONGGUOAGUHONGLIJIHUIZHISHU"],["501030","HTFZZHJZLZSA","汇添富中证环境治理指数A","股票指数","HUITIANFUZHONGZHENGHUANJINGZHILIZHISHUA"],["501031","HTFZZHJZLZSC","汇添富中证环境治理指数C","股票指数","HUITIANFUZHONGZHENGHUANJINGZHILIZHISHUC"],["501032","CTFSDZDKHH","财通福盛定增定开混合","混合型","CAITONGFUSHENGDINGZENGDINGKAIHUNHE"],["501033","YHHADQKFHH","银华惠安定期开放混合","混合型","YINHUAHUIANDINGQIKAIFANGHUNHE"],["501050","HXSZ50AHYXZS","华夏上证50AH优选指数","股票指数","HUAXIASHANGZHENG50AHYOUXUANZHISHU"],["501100","BSAKDKZLOF","博时安康定开债(LOF)","定开债券","BOSHIANKANGDINGKAIZHAILOF"],["501300","HFTQQSYZQRMB","海富通全球收益债券人民币","QDII","HAIFUTONGQUANQIUSHOUYIZHAIQUANRENMINBI"],["501301","HBXYXGDP","华宝兴业香港大盘","股票指数","HUABAOXINGYEXIANGGANGDAPAN"],["502000","XBLDZZ500DQZFJ","西部利得中证500等权重分级","股票指数","XIBULIDEZHONGZHENG500DENGQUANZHONGFENJI"],["502001","XBLDZZ500DQZFJA","西部利得中证500等权重分级A","固定收益","XIBULIDEZHONGZHENG500DENGQUANZHONGFENJIA"],["502002","XBLDZZ500DQZFJB","西部利得中证500等权重分级B","分级杠杆","XIBULIDEZHONGZHENG500DENGQUANZHONGFENJIB"],["502003","YFDJGFJ","易方达军工分级","股票指数","YIFANGDAJUNGONGFENJI"],["502004","YFDJGFJA","易方达军工分级A","固定收益","YIFANGDAJUNGONGFENJIA"],["502005","YFDJGFJB","易方达军工分级B","分级杠杆","YIFANGDAJUNGONGFENJIB"],["502006","YFDGQGGZSFJ","易方达国企改革指数分级","股票指数","YIFANGDAGUOQIGAIGEZHISHUFENJI"],["502007","YFDGQGGZSFJA","易方达国企改革指数分级A","固定收益","YIFANGDAGUOQIGAIGEZHISHUFENJIA"],["502008","YFDGQGGZSFJB","易方达国企改革指数分级B","分级杠杆","YIFANGDAGUOQIGAIGEZHISHUFENJIB"],["502010","YFDZQGSFJ","易方达证券公司分级","股票指数","YIFANGDAZHENGQUANGONGSIFENJI"],["502011","YFDZQGSFJA","易方达证券公司分级A","固定收益","YIFANGDAZHENGQUANGONGSIFENJIA"],["502012","YFDZQGSFJB","易方达证券公司分级B","分级杠杆","YIFANGDAZHENGQUANGONGSIFENJIB"],["502013","CSZZSWYDYLFJ","长盛中证申万一带一路分级","股票指数","CHANGSHENGZHONGZHENGSHENWANYIDAIYILUFENJI"],["502014","CSZZSWYDYLFJA","长盛中证申万一带一路分级A","固定收益","CHANGSHENGZHONGZHENGSHENWANYIDAIYILUFENJIA"],["502015","CSZZSWYDYLFJB","长盛中证申万一带一路分级B","分级杠杆","CHANGSHENGZHONGZHENGSHENWANYIDAIYILUFENJIB"],["502016","CXZZYDYLZTZSFJ","长信中证一带一路主题指数分级","股票指数","CHANGXINZHONGZHENGYIDAIYILUZHUTIZHISHUFENJI"],["502017","CXZZYDYLZSFJA","长信中证一带一路指数分级A","固定收益","CHANGXINZHONGZHENGYIDAIYILUZHISHUFENJIA"],["502018","CXZZYDYLZSFJB","长信中证一带一路指数分级B","分级杠杆","CHANGXINZHONGZHENGYIDAIYILUZHISHUFENJIB"],["502020","GJSZ50FJ","国金上证50分级","股票指数","GUOJINSHANGZHENG50FENJI"],["502021","GJSZ50FJA","国金上证50分级A","固定收益","GUOJINSHANGZHENG50FENJIA"],["502022","GJSZ50FJB","国金上证50分级B","分级杠杆","GUOJINSHANGZHENG50FENJIB"],["502023","PHGTFJ","鹏华钢铁分级","股票指数","PENGHUAGANGTIEFENJI"],["502024","PHGTFJA","鹏华钢铁分级A","固定收益","PENGHUAGANGTIEFENJIA"],["502025","PHGTFJB","鹏华钢铁分级B","分级杠杆","PENGHUAGANGTIEFENJIB"],["502026","PHXSLFJ","鹏华新丝路分级","股票指数","PENGHUAXINSILUFENJI"],["502027","PHXSLFJA","鹏华新丝路分级A","固定收益","PENGHUAXINSILUFENJIA"],["502028","PHXSLFJB","鹏华新丝路分级B","分级杠杆","PENGHUAXINSILUFENJIB"],["502030","ZHZZGTCYZSFJ","中海中证高铁产业指数分级","股票指数","ZHONGHAIZHONGZHENGGAOTIECHANYEZHISHUFENJI"],["502031","ZHZZGTCYZSFJA","中海中证高铁产业指数分级A","固定收益","ZHONGHAIZHONGZHENGGAOTIECHANYEZHISHUFENJIA"],["502032","ZHZZGTCYZSFJB","中海中证高铁产业指数分级B","分级杠杆","ZHONGHAIZHONGZHENGGAOTIECHANYEZHISHUFENJIB"],["502036","DCZZHLWJRZSFJ","大成中证互联网金融指数分级","股票指数","DACHENGZHONGZHENGHULIANWANGJINRONGZHISHUFENJI"],["502037","DCZZHLWJRZSFJA","大成中证互联网金融指数分级A","固定收益","DACHENGZHONGZHENGHULIANWANGJINRONGZHISHUFENJIA"],["502038","DCZZHLWJRZSFJB","大成中证互联网金融指数分级B","分级杠杆","DACHENGZHONGZHENGHULIANWANGJINRONGZHISHUFENJIB"],["502040","CSSZ50ZSFJ","长盛上证50指数分级","股票指数","CHANGSHENGSHANGZHENG50ZHISHUFENJI"],["502041","CSSZ50ZSFJA","长盛上证50指数分级A","固定收益","CHANGSHENGSHANGZHENG50ZHISHUFENJIA"],["502042","CSSZ50ZSFJB","长盛上证50指数分级B","分级杠杆","CHANGSHENGSHANGZHENG50ZHISHUFENJIB"],["502048","YFDSZ50ZSFJ","易方达上证50指数分级","股票指数","YIFANGDASHANGZHENG50ZHISHUFENJI"],["502049","YFDSZ50ZSFJA","易方达上证50指数分级A","固定收益","YIFANGDASHANGZHENG50ZHISHUFENJIA"],["502050","YFDSZ50ZSFJB","易方达上证50指数分级B","分级杠杆","YIFANGDASHANGZHENG50ZHISHUFENJIB"],["502053","CSZZZQGSFJ","长盛中证证券公司分级","股票指数","CHANGSHENGZHONGZHENGZHENGQUANGONGSIFENJI"],["502054","CSZZZQGSFJA","长盛中证证券公司分级A","固定收益","CHANGSHENGZHONGZHENGZHENGQUANGONGSIFENJIA"],["502055","CSZZZQGSFJB","长盛中证证券公司分级B","分级杠杆","CHANGSHENGZHONGZHENGZHENGQUANGONGSIFENJIB"],["502056","GFYLZSFJ","广发医疗指数分级","股票指数","GUANGFAYILIAOZHISHUFENJI"],["502057","GFYLZSFJA","广发医疗指数分级A","固定收益","GUANGFAYILIAOZHISHUFENJIA"],["502058","GFYLZSFJB","广发医疗指数分级B","分级杠杆","GUANGFAYILIAOZHISHUFENJIB"],["505888","JSYH","嘉实元和","混合型","JIASHIYUANHE"],["510010","JYSZ180ZLETF","交银上证180治理ETF","ETF-场内","JIAOYINSHANGZHENG180ZHILIETF"],["510020","BSSZCDPETF","博时上证超大盘ETF","ETF-场内","BOSHISHANGZHENGCHAODAPANETF"],["510030","HBSZ180JZETF","华宝上证180价值ETF","ETF-场内","HUABAOSHANGZHENG180JIAZHIETF"],["510050","HXSZ50ETF","华夏上证50ETF","ETF-场内","HUAXIASHANGZHENG50ETF"],["510060","GYSZYQ50ETF","工银上证央企50ETF","ETF-场内","GONGYINSHANGZHENGYANGQI50ETF"],["510070","PHSZMQ50ETF","鹏华上证民企50ETF","ETF-场内","PENGHUASHANGZHENGMINQI50ETF"],["510080","CSQZZSQZ","长盛全债指数强债","债券指数","CHANGSHENGQUANZHAIZHISHUQIANGZHAI"],["510081","CSDTJX","长盛动态精选","混合型","CHANGSHENGDONGTAIJINGXUAN"],["510090","JXSZZRETF","建信上证责任ETF","ETF-场内","JIANXINSHANGZHENGZERENETF"],["510110","HFTSZZQETF","海富通上证周期ETF","ETF-场内","HAIFUTONGSHANGZHENGZHOUQIETF"],["510120","HFTSZFZQETF","海富通上证非周期ETF","ETF-场内","HAIFUTONGSHANGZHENGFEIZHOUQIETF"],["510130","YFDSZZPETF","易方达上证中盘ETF","ETF-场内","YIFANGDASHANGZHENGZHONGPANETF"],["510150","ZSSZXF80ETF","招商上证消费80ETF","ETF-场内","ZHAOSHANGSHANGZHENGXIAOFEI80ETF"],["510160","NFZZXKCYETF","南方中证小康产业ETF","ETF-场内","NANFANGZHONGZHENGXIAOKANGCHANYEETF"],["510170","GLASZSPETF","国联安上证商品ETF","ETF-场内","GUOLIANANSHANGZHENGSHANGPINETF"],["510180","HASZ180ETF","华安上证180ETF","ETF-场内","HUAANSHANGZHENG180ETF"],["510190","HASZLTETF","华安上证龙头ETF","ETF-场内","HUAANSHANGZHENGLONGTOUETF"],["510210","FGSZZZETF","富国上证综指ETF","ETF-场内","FUGUOSHANGZHENGZENGZHIETF"],["510220","HTBRZXPETF","华泰柏瑞中小盘ETF","ETF-场内","HUATAIBAIRUIZHONGXIAOPANETF"],["510230","GTSZ180JRETF","国泰上证180金融ETF","ETF-场内","GUOTAISHANGZHENG180JINRONGETF"],["510260","NASZXXETF","诺安上证新兴ETF","ETF-场内","NUOANSHANGZHENGXINXINGETF"],["510270","ZYSZGQ100ETF","中银上证国企100ETF","ETF-场内","ZHONGYINSHANGZHENGGUOQI100ETF"],["510280","HBSZ180CZETF","华宝上证180成长ETF","ETF-场内","HUABAOSHANGZHENG180CHENGZHANGETF"],["510290","NFSZ380ETF","南方上证380ETF","ETF-场内","NANFANGSHANGZHENG380ETF"],["510300","HTBRHS300ETF","华泰柏瑞沪深300ETF","ETF-场内","HUATAIBAIRUIHUSHEN300ETF"],["510310","YFDHS300ETF","易方达沪深300ETF","ETF-场内","YIFANGDAHUSHEN300ETF"],["510330","HXHS300ETF","华夏沪深300ETF","ETF-场内","HUAXIAHUSHEN300ETF"],["510360","GFHS300ETF","广发沪深300ETF","ETF-场内","GUANGFAHUSHEN300ETF"],["510410","bsszzrzyetf","博时上证自然资源ETF","ETF-场内","BOSHISHANGZHENGZIRANZIYUANETF"],["510420","JSCCSZ180ETF","景顺长城上证180ETF","ETF-场内","JINGSHUNCHANGCHENGSHANGZHENG180ETF"],["510430","YHSZ50DQETF","银华上证50等权ETF","ETF-场内","YINHUASHANGZHENG50DENGQUANETF"],["510440","ZZ500HSETF","中证500沪市ETF","ETF-场内","ZHONGZHENG500HUSHIETF"],["510500","NFZZ500ETF","南方中证500ETF","ETF-场内","NANFANGZHONGZHENG500ETF"],["510510","GFZZ500ETF","广发中证500ETF","ETF-场内","GUANGFAZHONGZHENG500ETF"],["510520","NAZZ500ETF","诺安中证500ETF","ETF-场内","NUOANZHONGZHENG500ETF"],["510560","GSABZZ500ETF","国寿安保中证500ETF","ETF-场内","GUOSHOUANBAOZHONGZHENG500ETF"],["510580","YFDZZ500ETF","易方达中证500ETF","ETF-场内","YIFANGDAZHONGZHENG500ETF"],["510630","SZZYXFETF","上证主要消费ETF","ETF-场内","SHANGZHENGZHUYAOXIAOFEIETF"],["510650","SZJRDCETF","上证金融地产ETF","ETF-场内","SHANGZHENGJINRONGDECHANETF"],["510660","SZYYWSETF","上证医药卫生ETF","ETF-场内","SHANGZHENGYIYAOWEISHENGETF"],["510680","WJSZ50ETF","万家上证50ETF","ETF-场内","WANJIASHANGZHENG50ETF"],["510710","BSSZ50ETF","博时上证50ETF","ETF-场内","BOSHISHANGZHENG50ETF"],["510810","HTFZZSHGQETF","汇添富中证上海国企ETF","ETF-场内","HUITIANFUZHONGZHENGSHANGHAIGUOQIETF"],["510880","HTBRSZHLETF","华泰柏瑞上证红利ETF","ETF-场内","HUATAIBAIRUISHANGZHENGHONGLIETF"],["510900","YFDHSETF","易方达恒生ETF","QDII-ETF","YIFANGDAHENGSHENGETF"],["511010","GTSZ5NQGZETF","国泰上证5年期国债ETF","ETF-场内","GUOTAISHANGZHENG5NIANQIGUOZHAIETF"],["511080","CSQZZSQZ","长盛全债指数强债(后端)","债券指数","CHANGSHENGQUANZHAIZHISHUQIANGZHAI"],["511081","CSDTJX","长盛动态精选(后端)","混合型","CHANGSHENGDONGTAIJINGXUAN"],["511210","BSSZQZ30ETF","博时上证企债30ETF","ETF-场内","BOSHISHANGZHENGQIZHAI30ETF"],["511220","HFTSZKZYCTZETF","海富通上证可质押城投债ETF","ETF-场内","HAIFUTONGSHANGZHENGKEZHIYACHENGTOUZHAIETF"],["511230","HFTSZZQCYZETF","海富通上证周期产业债ETF","ETF-场内","HAIFUTONGSHANGZHENGZHOUQICHANYEZHAIETF"],["511600","HARRXHBH","华安日日鑫货币H","货币型","HUAANRIRIXINHUOBIH"],["511650","HXKXJYXHB","华夏快线交易型货币","货币型","HUAXIAKUAIXIANJIAOYIXINGHUOBI"],["511660","JXXJTYHBH","建信现金添益货币H","货币型","JIANXINXIANJINTIANYIHUOBIH"],["511680","AXBZJJYXHB","安信保证金交易型货币","货币型","ANXINBAOZHENGJINJIAOYIXINGHUOBI"],["511690","DCTYJYXHBE","大成添益交易型货币E","货币型","DACHENGTIANYIJIAOYIXINGHUOBIE"],["511700","PADHJYXHBE","平安大华交易型货币E","货币型","PINGANDAHUAJIAOYIXINGHUOBIE"],["511760","DBXJBE","德邦现金宝E","货币型","DEBANGXIANJINBAOE"],["511770","JYZYHBE","金鹰增益货币E","货币型","JINYINGZENGYIHUOBIE"],["511800","YFDHBE","易方达货币E","货币型","YIFANGDAHUOBIE"],["511810","NFLCJJYXHBH","南方理财金交易型货币H","货币型","NANFANGLICAIJINJIAOYIXINGHUOBIH"],["511820","PHTLJYXHBB","鹏华添利交易型货币B","货币型","PENGHUATIANLIJIAOYIXINGHUOBIB"],["511830","HTBRJYHBA","华泰柏瑞交易货币A","货币型","HUATAIBAIRUIJIAOYIHUOBIA"],["511850","ZSCFBJYXHBE","招商财富宝交易型货币E","货币型","ZHAOSHANGCAIFUBAOJIAOYIXINGHUOBIE"],["511860","BSBZJSSJYXHB","博时保证金实时交易型货币","货币型","BOSHIBAOZHENGJINSHISHIJIAOYIXINGHUOBI"],["511880","YHRLA","银华日利A","货币型","YINHUARILIA"],["511890","JSCCJYXHB","景顺长城交易型货币","货币型","JINGSHUNCHANGCHENGJIAOYIXINGHUOBI"],["511900","FGSYBJYXHBH","富国收益宝交易型货币H","货币型","FUGUOSHOUYIBAOJIAOYIXINGHUOBIH"],["511910","RTYZFHBE","融通易支付货币E","货币型","RONGTONGYIZHIFUHUOBIE"],["511920","GFHBE","广发货币E","货币型","GUANGFAHUOBIE"],["511930","ZRRRYJYXHB","中融日日盈交易型货币","货币型","ZHONGRONGRIRIYINGJIAOYIXINGHUOBI"],["511950","GFTLJYXHB","广发添利交易型货币","货币型","GUANGFATIANLIJIAOYIXINGHUOBI"],["511960","JSKXHBH","嘉实快线货币H","货币型","JIASHIKUAIXIANHUOBIH"],["511970","GSABHBE","国寿安保货币E","货币型","GUOSHOUANBAOHUOBIE"],["511980","HTFTFTHBE","汇添富添富通货币E","货币型","HUITIANFUTIANFUTONGHUOBIE"],["511990","HBXYXJTYA","华宝兴业现金添益A","货币型","HUABAOXINGYEXIANJINTIANYIA"],["512000","HBXYZZQZZQETF","华宝兴业中证全指证券ETF","ETF-场内","HUABAOXINGYEZHONGZHENGQUANZHIZHENGQUANETF"],["512010","YFDHS300YYETF","易方达沪深300医药ETF","ETF-场内","YIFANGDAHUSHEN300YIYAOETF"],["512070","YFDHS300FYETF","易方达沪深300非银ETF","ETF-场内","YIFANGDAHUSHEN300FEIYINETF"],["512100","NFZZ1000ETF","南方中证1000ETF","ETF-场内","NANFANGZHONGZHENG1000ETF"],["512120","HAZZXFYYETF","华安中证细分医药ETF","ETF-场内","HUAANZHONGZHENGXIFENYIYAOETF"],["512210","JSZZ800SPYLETF","景顺中证800食品饮料ETF","ETF-场内","JINGSHUNZHONGZHENG800SHIPINYINLIAOETF"],["512220","JSZZTMT150ETF","景顺中证TMT150ETF","ETF-场内","JINGSHUNZHONGZHENGTMT150ETF"],["512230","JSCCZZYYWSETF","景顺长城中证医药卫生ETF","ETF-场内","JINGSHUNCHANGCHENGZHONGZHENGYIYAOWEISHENGETF"],["512300","ZZ500YYWSETF","中证500医药卫生ETF","ETF-场内","ZHONGZHENG500YIYAOWEISHENGETF"],["512310","NFZZ500GYETF","南方中证500工业ETF","ETF-场内","NANFANGZHONGZHENG500GONGYEETF"],["512330","NFZZ500XXJSETF","南方中证500信息技术ETF","ETF-场内","NANFANGZHONGZHENG500XINXIJISHUETF"],["512340","NFZZ500YCLETF","南方中证500原材料ETF","ETF-场内","NANFANGZHONGZHENG500YUANCAILIAOETF"],["512500","HXZZ500ETF","华夏中证500ETF","ETF-场内","HUAXIAZHONGZHENG500ETF"],["512510","HTBRZZ500ETF","华泰柏瑞中证500ETF","ETF-场内","HUATAIBAIRUIZHONGZHENG500ETF"],["512550","JSFSZGA50ETF","嘉实富时中国A50ETF","ETF-场内","JIASHIFUSHIZHONGGUOA50ETF"],["512580","GFZZHBETF","广发中证环保ETF","ETF-场内","GUANGFAZHONGZHENGHUANBAOETF"],["512600","JSZZZYXFETF","嘉实中证主要消费ETF","ETF-场内","JIASHIZHONGZHENGZHUYAOXIAOFEIETF"],["512610","JSZZYYWSETF","嘉实中证医药卫生ETF","ETF-场内","JIASHIZHONGZHENGYIYAOWEISHENGETF"],["512640","JSZZJRDCETF","嘉实中证金融地产ETF","ETF-场内","JIASHIZHONGZHENGJINRONGDICHANETF"],["512660","GTZZJGETF","国泰中证军工ETF","ETF-场内","GUOTAIZHONGZHENGJUNGONGETF"],["512680","GFZZJGETF","广发中证军工ETF","ETF-场内","GUANGFAZHONGZHENGJUNGONGETF"],["512810","HBXYZZJGETF","华宝兴业中证军工ETF","ETF-场内","HUABAOXINGYEZHONGZHENGJUNGONGETF"],["512880","GTZZQZZQGSETF","国泰中证全指证券公司ETF","ETF-场内","GUOTAIZHONGZHENGQUANZHIZHENGQUANGONGSIETF"],["512900","NFZZQZZQETF","南方中证全指证券ETF","ETF-场内","NANFANGZHONGZHENGQUANZHIZHENGQUANETF"],["512990","MSCIZGAGETF","MSCI中国A股ETF","ETF-场内","MSCIZHONGGUOAGUETF"],["513030","HADG30(DAX)ETF","华安德国30(DAX)ETF","QDII-ETF","HUAANDEGUO30(DAX)ETF"],["513050","YFDZGHL50ETF","易方达中概互联50ETF","QDII-ETF","YIFANGDAZHONGGAIHULIAN50ETF"],["513100","GTNSDK100ETF","国泰纳斯达克100ETF","QDII-ETF","GUOTAINASIDAKE100ETF"],["513500","BSBP500ETF","博时标普500ETF","QDII-ETF","BOSHIBIAOPU500ETF"],["513600","NFHSETF","南方恒生ETF","QDII-ETF","NANFANGHENGSHENGETF"],["513660","HXHGTHSETF","华夏沪港通恒生ETF","QDII-ETF","HUAXIAHUGANGTONGHENGSHENGETF"],["518800","GTHJETF","国泰黄金ETF","ETF-场内","GUOTAIHUANGJINETF"],["518880","HAHJYETF","华安黄金易ETF","ETF-场内","HUAANHUANGJINYIETF"],["519001","YHJZYXHH","银华价值优选混合","混合型","YINHUAJIAZHIYOUXUANHUNHE"],["519002","HAAXXFHH","华安安信消费混合","混合型","HUAANANXINXIAOFEIHUNHE"],["519003","HFTSYZZ","海富通收益增长","混合型","HAIFUTONGSHOUYIZENGZHANG"],["519005","HFTGPHH","海富通股票混合","混合型","HAIFUTONGGUPIAOHUNHE"],["519007","HFTQHHB","海富通强化回报","混合型","HAIFUTONGQIANGHUAHUIBAO"],["519008","HTFYSJX","汇添富优势精选","混合型","HUITIANFUYOUSHIJINGXUAN"],["519009","HTFYSJX","汇添富优势精选(后端)","混合型","HUITIANFUYOUSHIJINGXUAN"],["519010","HTFJHZZHH","汇添富均衡增长混合(后端)","混合型","HUITIANFUJUNHENGZENGZHANGHUNHE"],["519011","HFTJX","海富通精选","混合型","HAIFUTONGJINGXUAN"],["519013","HFTFGYSHH","海富通风格优势混合","混合型","HAIFUTONGFENGGEYOUSHIHUNHE"],["519015","HFTJXEH","海富通精选二号","混合型","HAIFUTONGJINGXUANERHAO"],["519017","DCJJCZHH","大成积极成长混合","混合型","DACHENGJIJICHENGZHANGHUNHE"],["519018","HTFJHZZHH","汇添富均衡增长混合","混合型","HUITIANFUJUNHENGZENGZHANGHUNHE"],["519019","DCJYLXHH","大成景阳领先混合","混合型","DACHENGJINGYANGLINGXIANHUNHE"],["519020","GTJTPHHHA","国泰金泰平衡混合A","混合型","GUOTAIJINTAIPINGHENGHUNHEA"],["519021","GTJDJZ","国泰金鼎价值","混合型","GUOTAIJINDINGJIAZHI"],["519022","GTJTPHHHC","国泰金泰平衡混合C","混合型","GUOTAIJINTAIPINGHENGHUNHEC"],["519023","HFTWJTLZQC","海富通稳健添利债券C","债券型","HAIFUTONGWENJIANTIANLIZHAIQUANC"],["519024","HFTWJTLZA","海富通稳健添利债A","债券型","HAIFUTONGWENJIANTIANLIZHAIA"],["519025","HFTLXCZHH","海富通领先成长混合","混合型","HAIFUTONGLINGXIANCHENGZHANGHUNHE"],["519026","HFTZXPHH","海富通中小盘混合","混合型","HAIFUTONGZHONGXIAOPANHUNHE"],["519027","HFTSZZQLJ","海富通上证周期联接","联接基金","HAIFUTONGSHANGZHENGZHOUQILIANJIE"],["519029","HXPWZZ","华夏平稳增长","混合型","HUAXIAPINGWENZENGZHANG"],["519030","HFTWGZQ","海富通稳固债券","债券型","HAIFUTONGWENGUZHAIQUAN"],["519032","HFTSZFZQLJ","海富通上证非周期联接","联接基金","HAIFUTONGSHANGZHENGFEIZHOUQILIANJIE"],["519033","HFTGCDXHH","海富通国策导向混合","混合型","HAIFUTONGGUOCEDAOXIANGHUNHE"],["519034","HFTZZNDDTZS","海富通中证内地低碳指数","股票指数","HAIFUTONGZHONGZHENGNEIDIDITANZHISHU"],["519035","FGTBCXZTHH","富国天博创新主题混合","混合型","FUGUOTIANBOCHUANGXINZHUTIHUNHE"],["519036","FGTBCXZTHH","富国天博创新主题混合(后端)","混合型","FUGUOTIANBOCHUANGXINZHUTIHUNHE"],["519039","CSTDZTHH","长盛同德主题混合","混合型","CHANGSHENGTONGDEZHUTIHUNHE"],["519050","HFTYLSYHHA","海富通养老收益混合A","混合型","HAIFUTONGYANGLAOSHOUYIHUNHEA"],["519051","HFTYNDKZQA","海富通一年定开债券A","定开债券","HAIFUTONGYINIANDINGKAIZHAIA"],["519055","HFTSLZQ","海富通双利债券","债券型","HAIFUTONGSHUANGLIZHAIQUAN"],["519056","HFTNXRDHH","海富通内需热点混合","混合型","HAIFUTONGNEIXUREDIANHUNHE"],["519057","HFTSFFJZQA","海富通双福分级债券A","固定收益","HAIFUTONGSHUANGFUFENJIZHAIQUANA"],["519058","HFTSFFJZQB","海富通双福分级债券B","分级杠杆","HAIFUTONGSHUANGFUFENJIZHAIQUANB"],["519059","HFTSFFJZQ","海富通双福分级债券","债券型","HAIFUTONGSHUANGFUFENJIZHAIQUAN"],["519060","HFTCZZQC","海富通纯债债券C","债券型","HAIFUTONGCHUNZHAIZHAIQUANC"],["519061","HFTCZZQA","海富通纯债债券A","债券型","HAIFUTONGCHUNZHAIZHAIQUANA"],["519062","HFTAEFDC","海富通阿尔法对冲","混合型","HAIFUTONGAERFADUICHONG"],["519066","HTFLCWJ","汇添富蓝筹稳健","混合型","HUITIANFULANCHOUWENJIAN"],["519067","HTFLCWJ","汇添富蓝筹稳健(后端)","混合型","HUITIANFULANCHOUWENJIAN"],["519068","HTFCZJDHH","汇添富成长焦点混合","混合型","HUITIANFUCHENGZHANGJIAODIANHUNHE"],["519069","HTFJZJXHH","汇添富价值精选混合","混合型","HUITIANFUJIAZHIJINGXUANHUNHE"],["519070","HTFJZJXHH","汇添富价值精选混合(后端)","混合型","HUITIANFUJIAZHIJINGXUANHUNHE"],["519071","HTFCZJDHH","汇添富成长焦点混合(后端)","混合型","HUITIANFUCHENGZHANGJIAODIANHUNHE"],["519078","HTFZQSYZQA","汇添富增强收益债券A","债券型","HUITIANFUZENGQIANGSHOUYIZHAIQUANA"],["519087","XHYXFHHH","新华优选分红混合","混合型","XINHUAYOUXUANFENHONGHUNHE"],["519088","XHYXFHHH","新华优选分红混合(后端)","混合型","XINHUAYOUXUANFENHONGHUNHE"],["519089","XHYXCZHH","新华优选成长混合","混合型","XINHUAYOUXUANCHENGZHANGHUNHE"],["519091","XHFZYYSHH","新华泛资源优势混合","混合型","XINHUAFANZIYUANYOUSHIHUNHE"],["519093","XHZSPZQYHH","新华钻石品质企业混合","混合型","XINHUAZUANSHIPINZHIQIYEHUNHE"],["519095","XHHYZQLHHH","新华行业周期轮换混合","混合型","XINHUAHANGYEZHOUQILUNHUANHUNHE"],["519097","XHZXSZYXHH","新华中小市值优选混合","混合型","XINHUAZHONGXIAOSHIZHIYOUXUANHUNHE"],["519099","XHLHZTHH","新华灵活主题混合","混合型","XINHUALINGHUOZHUTIHUNHE"],["519100","CSZZ100","长盛中证100","股票指数","CHANGSHENGZHONGZHENG100"],["519110","PYASJZCZHHA","浦银安盛价值成长混合A","混合型","PUYINANSHENGJIAZHICHENGZHANGHUNHEA"],["519111","PYASYHSYZQA","浦银安盛优化收益债券A","债券型","PUYINANSHENGYOUHUASHOUYIZHAIQUANA"],["519112","PYSYC","浦银收益C","债券型","PUYINSHOUYIC"],["519113","PYJZSH","浦银精致生活","混合型","PUYINJINGZHISHENGHUO"],["519115","PYASHLJXHH","浦银安盛红利精选混合","混合型","PUYINANSHENGHONGLIJINGXUANHUNHE"],["519116","PYHS300ZQ","浦银沪深300增强","股票指数","PUYINHUSHEN300ZENGQIANG"],["519117","PYASJBM400ZS","浦银安盛基本面400指数","股票指数","PUYINANSHENGJIBENMIAN400ZHISHU"],["519118","PYXFA","浦银幸福A","定开债券","PUYINXINGFUA"],["519119","PYXFB","浦银幸福B","定开债券","PUYINXINGFUB"],["519120","PYZLXXCYHH","浦银战略新兴产业混合","混合型","PUYINZHANLUEXINXINGCHANYEHUNHE"],["519121","PY6GYDQKFZQA","浦银6个月定期开放债券A","定开债券","PUYIN6GEYUEDINGQIKAIFANGZHAIQUANA"],["519122","PY6GYDQKFZQC","浦银6个月定期开放债券C","定开债券","PUYIN6GEYUEDINGQIKAIFANGZHAIQUANC"],["519123","PYJJTLDKZQA","浦银季季添利定开债券A","定开债券","PUYINJIJITIANLIDINGKAIZHAIQUANA"],["519124","PYJJTLDKZQC","浦银季季添利定开债券C","定开债券","PUYINJIJITIANLIDINGKAIZHAIQUANC"],["519125","PYASXFSJHHA","浦银安盛消费升级混合A","混合型","PUYINANSHENGXIAOFEISHENGJIHUNHEA"],["519126","PYASXJJJGHH","浦银安盛新经济结构混合","混合型","PUYINANSHENGXINJINGJIJIEGOUHUNHE"],["519127","PYASSSJXHHA","浦银安盛盛世精选混合A","混合型","PUYINANSHENGSHENGSHIJINGXUANHUNHEA"],["519128","PYASYYYDQZFZQA","浦银安盛月月盈定期支付债券A","定开债券","PUYINANSHENGYUEYUEYINGDINGQIZHIFUZHAIQUANA"],["519129","PYASYYYDQZFZQC","浦银安盛月月盈定期支付债券C","定开债券","PUYINANSHENGYUEYUEYINGDINGQIZHIFUZHAIQUANC"],["519130","HFTXNXHHA","海富通新内需混合A","混合型","HAIFUTONGXINNEIXUHUNHEA"],["519131","HFTJJZLLCZQ","海富通季季增利理财债券","理财型","HAIFUTONGJIJIZENGLILICAIZHAIQUAN"],["519132","HFTDCDSJHH","海富通东财大数据混合","混合型","HAIFUTONGDONGCAIDASHUJUHUNHE"],["519133","HFTGGQDHH","海富通改革驱动混合","混合型","HAIFUTONGGAIGEQUDONGHUNHE"],["519134","HFTFXHH","海富通富祥混合","混合型","HAIFUTONGFUXIANGHUNHE"],["519135","HFTRYZQ","海富通瑞益债券","债券型","HAIFUTONGRUIYIZHAIQUAN"],["519136","HFTRFYNDKZ","海富通瑞丰一年定开债","定开债券","HAIFUTONGRUIFENGYINIANDINGKAIZHAI"],["519139","HFTHGSLHPZHH","海富通沪港深灵活配置混合","混合型","HAIFUTONGHUGANGSHENLINGHUOPEIZHIHUNHE"],["519150","XHYXXFHH","新华优选消费混合","混合型","XINHUAYOUXUANXIAOFEIHUNHE"],["519152","XHCZTLA","新华纯债添利A","债券型","XINHUACHUNZHAITIANLIA"],["519153","XHCZTLC","新华纯债添利C","债券型","XINHUACHUNZHAITIANLIC"],["519156","XHHYLHPZHHA","新华行业灵活配置混合A","混合型","XINHUAHANGYELINGHUOPEIZHIHUNHEA"],["519157","XHHYLHPZHHC","新华行业灵活配置混合C","混合型","XINHUAHANGYELINGHUOPEIZHIHUNHEC"],["519158","XHQSLHHH","新华趋势领航混合","混合型","XINHUAQUSHILINGHANGHUNHE"],["519160","XHAXHJDKZQA","新华安享惠金定开债券A","定开债券","XINHUAANXIANGHUIJINDINGKAIZHAIQUANA"],["519161","XHAXHJDKZQC","新华安享惠金定开债券C","定开债券","XINHUAANXIANGHUIJINDINGKAIZHAIQUANC"],["519162","XHXYZYZQA","新华信用增益债券A","债券型","XINHUAXINYONGZENGYIZHAIQUANA"],["519163","XHXYZYZQC","新华信用增益债券C","债券型","XINHUAXINYONGZENGYIZHAIQUANC"],["519165","XHXLLHPZ","新华鑫利灵活配置","混合型","XINHUAXINLILINGHUOPEIZHI"],["519167","XHXABBYHHH","新华鑫安保本一号混合","保本型","XINHUAXINANBAOBENYIHAOHUNHE"],["519170","PYASZZDLHH","浦银安盛增长动力混合","混合型","PUYINANSHENGZENGZHANGDONGLIHUNHE"],["519171","PYASYLJKHH","浦银安盛医疗健康混合","混合型","PUYINANSHENGYILIAOJIANKANGHUNHE"],["519172","PYASRZJXHHA","浦银安盛睿智精选混合A","混合型","PUYINANSHENGRUIZHIJINGXUANHUNHEA"],["519173","PYASRZJXHHC","浦银安盛睿智精选混合C","混合型","PUYINANSHENGRUIZHIJINGXUANHUNHEC"],["519175","PYJJDJQHH","浦银经济带崛起混合","混合型","PUYINJINGJIDAIJUEQIHUNHE"],["519176","PYASXFSJHHC","浦银安盛消费升级混合C","混合型","PUYINANSHENGXIAOFEISHENGJIHUNHEC"],["519177","PYASSSJXHHC","浦银安盛盛世精选混合C","混合型","PUYINANSHENGSHENGSHIJINGXUANHUNHEC"],["519180","WJ180ZS","万家180指数","股票指数","WANJIA180ZHISHU"],["519181","WJHXZZ","万家和谐增长","混合型","WANJIAHEXIEZENGZHANG"],["519182","WJHXZZ","万家和谐增长(后端)","混合型","WANJIAHEXIEZENGZHANG"],["519183","WJSYQLHPZ","万家双引擎灵活配置","混合型","WANJIASHUANGYINQINGLINGHUOPEIZHI"],["519185","WJJXHH","万家精选混合","混合型","WANJIAJINGXUANHUNHE"],["519186","WJWJZLZQA","万家稳健增利债券A","债券型","WANJIAWENJIANZENGLIZHAIQUANA"],["519187","WJWJZLZQC","万家稳健增利债券C","债券型","WANJIAWENJIANZENGLIZHAIQUANC"],["519188","WJHLA","万家恒利A","债券型","WANJIAHENGLIA"],["519189","WJHLC","万家恒利C","债券型","WANJIAHENGLIC"],["519190","WJSLZQ","万家双利债券","债券型","WANJIASHUANGLIZHAIQUAN"],["519191","WJXLLHPZHH","万家新利灵活配置混合","混合型","WANJIAXINLILINGHUOPEIZHIHUNHE"],["519193","WJXFCZ","万家消费成长","股票型","WANJIAXIAOFEICHENGZHANG"],["519195","WJPZ","万家品质","混合型","WANJIAPINZHI"],["519196","WJXXLCLHPZHH","万家新兴蓝筹灵活配置混合","混合型","WANJIAXINXINGLANCHOULINGHUOPEIZHIHUNHE"],["519197","WJYD","万家颐达","保本型","WANJIAYIDA"],["519198","WJYHBBHH","万家颐和保本混合","保本型","WANJIAYIHEBAOBENHUNHE"],["519199","WJJXCZ","万家家享纯债","债券型","WANJIAJIAXIANGCHUNZHAI"],["519206","WJNNHRDKZA","万家年年恒荣定开债A","定开债券","WANJIANIANNIANHENGRONGDINGKAIZHAIA"],["519207","WJNNHRDKZC","万家年年恒荣定开债C","定开债券","WANJIANIANNIANHENGRONGDINGKAIZHAIC"],["519208","WJNNHXDKZA","万家年年恒祥定开债A","定开债券","WANJIANIANNIANHENGXIANGDINGKAIZHAIA"],["519209","WJNNHXDKZC","万家年年恒祥定开债C","定开债券","WANJIANIANNIANHENGXIANGDINGKAIZHAIC"],["519210","WJHJ18GYDKZA","万家恒景18个月定开债A","定开债券","WANJIAHENGJING18GEYUEDINGKAIZHAIA"],["519211","WJHJ18GYDKZC","万家恒景18个月定开债C","定开债券","WANJIAHENGJING18GEYUEDINGKAIZHAIC"],["519212","WJHGZSDCLHH","万家宏观择时多策略混合","混合型","WANJIAHONGGUANZESHIDUOCELUEHUNHE"],["519220","HFTJLZQ","海富通聚利债券","债券型","HAIFUTONGJULIZHAIQUAN"],["519221","HFTXYHHC","海富通欣益混合C","混合型","HAIFUTONGXINYIHUNHEC"],["519222","HFTXYHHA","海富通欣益混合A","混合型","HAIFUTONGXINYIHUNHEA"],["519223","HFTXRHHC","海富通欣荣混合C","混合型","HAIFUTONGXINRONGHUNHEC"],["519224","HFTXRHHA","海富通欣荣混合A","混合型","HAIFUTONGXINRONGHUNHEA"],["519225","HFTJLZQ","海富通集利债券","债券型","HAIFUTONGJILIZHAIQUAN"],["519226","HFTRLZQ","海富通瑞利债券","债券型","HAIFUTONGRUILIZHAIQUAN"],["519227","HFTXSDKHH","海富通欣盛定开混合","混合型","HAIFUTONGXINSHENGDINGKAIHUNHE"],["519228","HFTXXLHPZHHC","海富通欣享灵活配置混合C","混合型","HAIFUTONGXINXIANGLINGHUOPEIZHIHUNHEC"],["519229","HFTXXLHPZHHA","海富通欣享灵活配置混合A","混合型","HAIFUTONGXINXIANGLINGHUOPEIZHIHUNHEA"],["519230","HFTFYZQ","海富通富源债券","债券型","HAIFUTONGFUYUANZHAIQUAN"],["519300","DCHS300ZS","大成沪深300指数","股票指数","DACHENGHUSHEN300ZHISHU"],["519301","DCHS300ZS","大成沪深300指数(后端)","股票指数","DACHENGHUSHEN300ZHISHU"],["519320","PYASXFJLDKZA","浦银安盛幸福聚利定开债A","定开债券","PUYINANSHENGXINGFUJULIDINGKAIZHAIA"],["519321","PYASXFJLDKZC","浦银安盛幸福聚利定开债C","定开债券","PUYINANSHENGXINGFUJULIDINGKAIZHAIC"],["519322","PYASSYCZZQA","浦银安盛盛元纯债债券A","债券型","PUYINANSHENGSHENGYUANCHUNZHAIZHAIQUANA"],["519323","PYASSYCZZQC","浦银安盛盛元纯债债券C","债券型","PUYINANSHENGSHENGYUANCHUNZHAIZHAIQUANC"],["519324","PYASSXDKZA","浦银安盛盛鑫定开债A","定开债券","PUYINANSHENGSHENGXINDINGKAIZHAIA"],["519325","PYASSXDKZC","浦银安盛盛鑫定开债C","定开债券","PUYINANSHENGSHENGXINDINGKAIZHAIC"],["519326","PYASXFJYDKZA","浦银安盛幸福聚益定开债A","定开债券","PUYINANSHENGXINGFUJUYIDINGKAIZHAIA"],["519327","PYASXFJYDKZC","浦银安盛幸福聚益定开债C","定开债券","PUYINANSHENGXINGFUJUYIDINGKAIZHAIC"],["519328","PYASSTCZZQA","浦银安盛盛泰纯债债券A","债券型","PUYINANSHENGSHENGTAICHUNZHAIZHAIQUANA"],["519329","PYASSTCZZQC","浦银安盛盛泰纯债债券C","债券型","PUYINANSHENGSHENGTAICHUNZHAIZHAIQUANC"],["519330","PYASSYCZZQA","浦银安盛盛跃纯债债券A","债券型","PUYINANSHENGSHENGYUECHUNZHAIZHAIQUANA"],["519331","PYASSYCZZQC","浦银安盛盛跃纯债债券C","债券型","PUYINANSHENGSHENGYUECHUNZHAIZHAIQUANC"],["519332","PYASSDCZZQA","浦银安盛盛达纯债债券A","债券型","PUYINANSHENGSHENGDACHUNZHAIZHAIQUANA"],["519333","PYASSDCZZQC","浦银安盛盛达纯债债券C","债券型","PUYINANSHENGSHENGDACHUNZHAIZHAIQUANC"],["519334","PYASSQCZZQA","浦银安盛盛勤纯债债券A","债券型","PUYINANSHENGSHENGQINCHUNZHAIZHAIQUANA"],["519335","PYASSQCZZQC","浦银安盛盛勤纯债债券C","债券型","PUYINANSHENGSHENGQINCHUNZHAIZHAIQUANC"],["519501","WJHBR","万家货币R","货币型","WANJIAHUOBIR"],["519505","HFTHBA","海富通货币A","货币型","HAIFUTONGHUOBIA"],["519506","HFTHBB","海富通货币B","货币型","HAIFUTONGHUOBIB"],["519507","WJHBB","万家货币B","货币型","WANJIAHUOBIB"],["519508","WJHBA","万家货币A","货币型","WANJIAHUOBIA"],["519509","PYHBA","浦银货币A","货币型","PUYINHUOBIA"],["519510","PYHBB","浦银货币B","货币型","PUYINHUOBIB"],["519511","WJRRXHBA","万家日日薪货币A","货币型","WANJIARIRIXINHUOBIA"],["519512","WJRRXHBB","万家日日薪货币B","货币型","WANJIARIRIXINHUOBIB"],["519513","WJRRXHBR","万家日日薪货币R","货币型","WANJIARIRIXINHUOBIR"],["519516","PYHBE","浦银货币E","货币型","PUYINHUOBIE"],["519517","HTFHBB","汇添富货币B","货币型","HUITIANFUHUOBIB"],["519518","HTFHBA","汇添富货币A","货币型","HUITIANFUHUOBIA"],["519519","HTBRWBZLZQA","华泰柏瑞稳本增利债券A","债券型","HUATAIBAIRUIWENBENZENGLIZHAIQUANA"],["519566","PYASRRYHBA","浦银安盛日日盈货币A","货币型","PUYINANSHENGRIRIYINGHUOBIA"],["519567","PYASRRYHBB","浦银安盛日日盈货币B","货币型","PUYINANSHENGRIRIYINGHUOBIB"],["519568","PYASRRYHBD","浦银安盛日日盈货币D","货币型","PUYINANSHENGRIRIYINGHUOBID"],["519588","JYHBA","交银货币A","货币型","JIAOYINHUOBIA"],["519589","JYHBB","交银货币B","货币型","JIAOYINHUOBIB"],["519601","HFTZGHWHH","海富通中国海外混合","QDII","HAIFUTONGZHONGGUOHAIWAIHUNHE"],["519602","HFTDZHHHQDII","海富通大中华混合(QDII)","QDII","HAIFUTONGDAZHONGHUAHUNHEQDII"],["519606","GTJX","国泰金鑫","股票型","GUOTAIJINXIN"],["519610","YHWLHHA","银河旺利混合A","混合型","YINHEWANGLIHUNHEA"],["519611","YHWLHHC","银河旺利混合C","混合型","YINHEWANGLIHUNHEC"],["519612","YHWLHHI","银河旺利混合I","混合型","YINHEWANGLIHUNHEI"],["519613","YHJSHHA","银河君尚混合A","混合型","YINHEJUNSHANGHUNHEA"],["519614","YHJSHHC","银河君尚混合C","混合型","YINHEJUNSHANGHUNHEC"],["519615","YHJSHHI","银河君尚混合I","混合型","YINHEJUNSHANGHUNHEI"],["519616","YHJXHHA","银河君信混合A","混合型","YINHEJUNXINHUNHEA"],["519617","YHJXHHC","银河君信混合C","混合型","YINHEJUNXINHUNHEC"],["519618","YHJXHHI","银河君信混合I","混合型","YINHEJUNXINHUNHEI"],["519619","YHJRLHPZHHA","银河君荣灵活配置混合A","混合型","YINHEJUNRONGLINGHUOPEIZHIHUNHEA"],["519620","YHJRLHPZHHC","银河君荣灵活配置混合C","混合型","YINHEJUNRONGLINGHUOPEIZHIHUNHEC"],["519621","YHJRLHPZHHI","银河君荣灵活配置混合I","混合型","YINHEJUNRONGLINGHUOPEIZHIHUNHEI"],["519622","YHJYZQ","银河君怡债券","债券型","YINHEJUNYIZHAIQUAN"],["519623","YHJYHHA","银河君耀混合A","混合型","YINHEJUNYAOHUNHEA"],["519624","YHJYHHC","银河君耀混合C","混合型","YINHEJUNYAOHUNHEC"],["519625","YHJSHHA","银河君盛混合A","混合型","YINHEJUNSHENGHUNHEA"],["519626","YHJSHHC","银河君盛混合C","混合型","YINHEJUNSHENGHUNHEC"],["519627","YHJRHHA","银河君润混合A","混合型","YINHEJUNRUNHUNHEA"],["519628","YHJRHHC","银河君润混合C","混合型","YINHEJUNRUNHUNHEC"],["519629","YHRLHHA","银河睿利混合A","混合型","YINHERUILIHUNHEA"],["519630","YHRLHHC","银河睿利混合C","混合型","YINHERUILIHUNHEC"],["519631","YHJXZQ","银河君欣债券","债券型","YINHEJUNXINZHAIQUAN"],["519632","YHJHZQ","银河君辉债券","债券型","YINHEJUNHUIZHAIQUAN"],["519633","YHJTHHA","银河君腾混合A","混合型","YINHEJUNTENGHUNHEA"],["519634","YHJTHHC","银河君腾混合C","混合型","YINHEJUNTENGHUNHEC"],["519640","YHHLHHA","银河鸿利混合A","混合型","YINHEHONGLIHUNHEA"],["519641","YHHLHHC","银河鸿利混合C","混合型","YINHEHONGLIHUNHEC"],["519642","YHZZHH","银河智造混合","混合型","YINHEZHIZAOHUNHE"],["519644","YHZLHH","银河智联混合","混合型","YINHEZHILIANHUNHE"],["519646","YHXLHHI","银河鑫利混合I","混合型","YINHEXINLIHUNHEI"],["519647","YHHLHHI","银河鸿利混合I","混合型","YINHEHONGLIHUNHEI"],["519648","YHRLBBHHI","银河润利保本混合I","保本型","YINHERUNLIBAOBENHUNHEI"],["519649","YHBLLHPZHHA","银河犇利灵活配置混合A","混合型","YINHEBENLILINGHUOPEIZHIHUNHEA"],["519650","YHBLLHPZHHC","银河犇利灵活配置混合C","混合型","YINHEBENLILINGHUOPEIZHIHUNHEC"],["519651","YHZXHH","银河转型混合","混合型","YINHEZHUANXINGHUNHE"],["519652","YHXLHHA","银河鑫利混合A","混合型","YINHEXINLIHUNHEA"],["519653","YHXLHHC","银河鑫利混合C","混合型","YINHEXINLIHUNHEC"],["519654","YHZLBBHH","银河泽利保本混合","保本型","YINHEZELIBAOBENHUNHE"],["519655","YHFWHH","银河服务混合","混合型","YINHEFUWUHUNHE"],["519656","YHLHPZHHA","银河灵活配置混合A","混合型","YINHELINGHUOPEIZHIHUNHEA"],["519657","YHLHPZHHC","银河灵活配置混合C","混合型","YINHELINGHUOPEIZHIHUNHEC"],["519660","YHZLZQA","银河增利债券A","债券型","YINHEZENGLIZHAIQUANA"],["519661","YHZLZQC","银河增利债券C","债券型","YINHEZENGLIZHAIQUANC"],["519662","YHSSHBZQA","银河岁岁回报债券A","定开债券","YINHESUISUIHUIBAOZHAIQUANA"],["519663","YHSSHBZQC","银河岁岁回报债券C","定开债券","YINHESUISUIHUIBAOZHAIQUANC"],["519664","YHMLHHA","银河美丽混合A","混合型","YINHEMEILIHUNHEA"],["519665","YHMLHHC","银河美丽混合C","混合型","YINHEMEILIHUNHEC"],["519666","YHYXTLZQB","银河银信添利债券B","债券型","YINHEYINXINTIANLIZHAIQUANB"],["519667","YHYXTLZQA","银河银信添利债券A","债券型","YINHEYINXINTIANLIZHAIQUANA"],["519668","YHCZHH","银河成长混合","混合型","YINHECHENGZHANGHUNHE"],["519669","YHLXZQ","银河领先债券","债券型","YINHELINGXIANZHAIQUAN"],["519670","YHHYHH","银河行业混合","混合型","YINHEHANGYEHUNHE"],["519671","YHHS300JZ","银河沪深300价值","股票指数","YINHEHUSHEN300JIAZHI"],["519672","YHLCHH","银河蓝筹混合","混合型","YINHELANCHOUHUNHE"],["519673","YHKL","银河康乐","股票型","YINHEKANGLE"],["519674","YHCXCZHH","银河创新成长混合","混合型","YINHECHUANGXINCHENGZHANGHUNHE"],["519675","YHRLBBHHA","银河润利保本混合A","保本型","YINHERUNLIBAOBENHUNHEA"],["519676","YHQHZQ","银河强化债券","债券型","YINHEQIANGHUAZHAIQUAN"],["519677","YHDTBTXJAZS","银河定投宝腾讯济安指数","股票指数","YINHEDINGTOUBAOTENGXUNJIANZHISHU"],["519678","YHXFHH","银河消费混合","混合型","YINHEXIAOFEIHUNHE"],["519679","YHZTHH","银河主题混合","混合型","YINHEZHUTIHUNHE"],["519680","JYZLA/B","交银增利A/B","债券型","JIAOYINZENGLIA/B"],["519681","JYZLA/B","交银增利A/B(后端)","债券型","JIAOYINZENGLIA/B"],["519682","JYZLZQC","交银增利债券C","债券型","JIAOYINZENGLIZHAIQUANC"],["519683","JYSLA/B","交银双利A/B","债券型","JIAOYINSHUANGLIA/B"],["519684","JYSLA/B","交银双利A/B(后端)","债券型","JIAOYINSHUANGLIA/B"],["519685","JYSLZQC","交银双利债券C","债券型","JIAOYINSHUANGLIZHAIQUANC"],["519686","JY180ZLLJ","交银180治理联接","联接基金","JIAOYIN180ZHILILIANJIE"],["519687","JY180ZLLJ","交银180治理联接(后端)","联接基金","JIAOYIN180ZHILILIANJIE"],["519688","JYJXHH","交银精选混合","混合型","JIAOYINJINGXUANHUNHE"],["519689","JYJXHH","交银精选混合(后端)","混合型","JIAOYINJINGXUANHUNHE"],["519690","JYWJPZHHA","交银稳健配置混合A","混合型","JIAOYINWENJIANPEIZHIHUNHEA"],["519691","JYWJPZHHA","交银稳健配置混合A(后端)","混合型","JIAOYINWENJIANPEIZHIHUNHEA"],["519692","JYCZHH","交银成长混合","混合型","JIAOYINCHENGZHANGHUNHE"],["519693","JYCZHH","交银成长混合(后端)","混合型","JIAOYINCHENGZHANGHUNHE"],["519694","JYLCHH","交银蓝筹混合","混合型","JIAOYINLANCHOUHUNHE"],["519695","JYLCHH","交银蓝筹混合(后端)","混合型","JIAOYINLANCHOUHUNHE"],["519696","JYHQJXHHQDII","交银环球精选混合(QDII)","QDII","JIAOYINHUANQIUJINGXUANHUNHEQDII"],["519697","JYYSHYHH","交银优势行业混合","混合型","JIAOYINYOUSHIHANGYEHUNHE"],["519698","JYXFHH","交银先锋混合","混合型","JIAOYINXIANFENGHUNHE"],["519699","JYXFHH","交银先锋混合(后端)","混合型","JIAOYINXIANFENGHUNHE"],["519700","JYZTYX","交银主题优选","混合型","JIAOYINZHUTIYOUXUAN"],["519701","JYZTYX","交银主题优选(后端)","混合型","JIAOYINZHUTIYOUXUAN"],["519702","JYQSHH","交银趋势混合","混合型","JIAOYINQUSHIHUNHE"],["519703","JYQSHH","交银趋势混合(后端)","混合型","JIAOYINQUSHIHUNHE"],["519704","JYXJZZHH","交银先进制造混合","混合型","JIAOYINXIANJINZHIZAOHUNHE"],["519705","JYXJZZHH","交银先进制造混合(后端)","混合型","JIAOYINXIANJINZHIZAOHUNHE"],["519706","JYSZ300LJ","交银深证300联接","联接基金","JIAOYINSHENZHENG300LIANJIE"],["519707","JYSZ300LJ","交银深证300联接(后端)","联接基金","JIAOYINSHENZHENG300LIANJIE"],["519709","JYQQZYHHQDII","交银全球资源混合(QDII)","QDII","JIAOYINQUANQIUZIYUANHUNHEQDII"],["519710","JYCLHBLHPZHH","交银策略回报灵活配置混合","混合型","JIAOYINCELUEHUIBAOLINGHUOPEIZHIHUNHE"],["519712","JYAEFHXHH","交银阿尔法核心混合","混合型","JIAOYINAERFAHEXINHUNHE"],["519713","JYAEFHXHH","交银阿尔法核心混合(后端)","混合型","JIAOYINAERFAHEXINHUNHE"],["519714","JYXFXQDGP","交银消费新驱动股票","股票型","JIAOYINXIAOFEIXINQUDONGGUPIAO"],["519716","JYLC21TZQA","交银理财21天债券A","理财型","JIAOYINLICAI21TIANZHAIQUANA"],["519717","JY21TB","交银21天B","理财型","JIAOYIN21TIANB"],["519718","JYCZA","交银纯债A","债券型","JIAOYINCHUNZHAIA"],["519719","JYCZA","交银纯债A(后端)","债券型","JIAOYINCHUNZHAIA"],["519720","JYCZC","交银纯债C","债券型","JIAOYINCHUNZHAIC"],["519721","JY60TA","交银60天A","理财型","JIAOYIN60TIANA"],["519722","JY60TB","交银60天B","理财型","JIAOYIN60TIANB"],["519723","JYSLA","交银双轮A","债券型","JIAOYINSHUANGLUNA"],["519724","JYSLA","交银双轮A(后端)","债券型","JIAOYINSHUANGLUNA"],["519725","JYSLC","交银双轮C","债券型","JIAOYINSHUANGLUNC"],["519726","JYRXBBHH","交银荣祥保本混合","保本型","JIAOYINRONGXIANGBAOBENHUNHE"],["519727","JYCZ30HH","交银成长30混合","混合型","JIAOYINCHENGZHANG30HUNHE"],["519728","JYCZ30HH","交银成长30混合(后端)","混合型","JIAOYINCHENGZHANG30HUNHE"],["519729","JYZQSYZQ","交银增强收益债券","债券型","JIAOYINZENGQIANGSHOUYIZHAIQUAN"],["519730","JYDQZFYYFZQA","交银定期支付月月丰债券A","债券型","JIAOYINDINGQIZHIFUYUEYUEFENGZHAIQUANA"],["519731","JYDQZFYYFZQC","交银定期支付月月丰债券C","债券型","JIAOYINDINGQIZHIFUYUEYUEFENGZHAIQUANC"],["519732","JYDQZFSXPHHH","交银定期支付双息平衡混合","混合型","JIAOYINDINGQIZHIFUSHUANGXIPINGHENGHUNHE"],["519733","JYQHHBA","交银强化回报A","债券型","JIAOYINQIANGHUAHUIBAOA"],["519734","JYQHHBA","交银强化回报A(后端)","债券型","JIAOYINQIANGHUAHUIBAOA"],["519735","JYQHHBC","交银强化回报C","债券型","JIAOYINQIANGHUAHUIBAOC"],["519736","JYXCZHH","交银新成长混合","混合型","JIAOYINXINCHENGZHANGHUNHE"],["519737","JYXCZHH","交银新成长混合(后端)","混合型","JIAOYINXINCHENGZHANGHUNHE"],["519738","JYZQHBLHPZHHA","交银周期回报灵活配置混合A","混合型","JIAOYINZHOUQIHUIBAOLINGHUOPEIZHIHUNHEA"],["519739","JYZQHBLHPZHHA","交银周期回报灵活配置混合A(后端)","混合型","JIAOYINZHOUQIHUIBAOLINGHUOPEIZHIHUNHEA"],["519740","JYFYSYZQA","交银丰盈收益债券","债券型","JIAOYINFENGYINGSHOUYIZHAIQUAN"],["519743","JYFRSYZQA","交银丰润收益债券A","债券型","JIAOYINFENGRUNSHOUYIZHAIQUANA"],["519745","JYFRSYZQC","交银丰润收益债券C","债券型","JIAOYINFENGRUNSHOUYIZHAIQUANC"],["519746","JYFXSYZQA","交银丰享收益债券A","债券型","JIAOYINFENGXIANGSHOUYIZHAIQUANA"],["519748","JYFXSYZQC","交银丰享收益债券C","债券型","JIAOYINFENGXIANGSHOUYIZHAIQUANC"],["519749","JYFZSYZQA","交银丰泽收益债券A","债券型","JIAOYINFENGZESHOUYIZHAIQUANA"],["519752","JYXHBLHPZHHA","交银新回报灵活配置混合A","混合型","JIAOYINXINHUIBAOLINGHUOPEIZHIHUNHEA"],["519753","JYRHBBHH","交银荣和保本混合","保本型","JIAOYINRONGHEBAOBENHUNHE"],["519755","JYDCLHBLHPZHHA","交银多策略回报灵活配置混合A","混合型","JIAOYINDUOCELUEHUIBAOLINGHUOPEIZHIHUNHEA"],["519756","JYGQGGLHPZHH","交银国企改革灵活配置混合","混合型","JIAOYINGUOQIGAIGELINGHUOPEIZHIHUNHE"],["519758","JYFSSYZQC","交银丰硕收益债券C","债券型","JIAOYINFENGSHUOSHOUYIZHAIQUANC"],["519759","JYZQHBLHPZHHC","交银周期回报灵活配置混合C","混合型","JIAOYINZHOUQIHUIBAOLINGHUOPEIZHIHUNHEC"],["519760","JYXHBLHPZHHC","交银新回报灵活配置混合C","混合型","JIAOYINXINHUIBAOLINGHUOPEIZHIHUNHEC"],["519761","JYDCLHBLHPZHHC","交银多策略回报灵活配置混合C","混合型","JIAOYINDUOCELUEHUIBAOLINGHUOPEIZHIHUNHEC"],["519762","JYYTCZZQA","交银裕通纯债债券A","债券型","JIAOYINYUTONGCHUNZHAIZHAIQUANA"],["519763","JYYTCZZQC","交银裕通纯债债券C","债券型","JIAOYINYUTONGCHUNZHAIZHAIQUANC"],["519764","JYZYHBLHPZHHA","交银卓越回报灵活配置混合A","混合型","JIAOYINZHUOYUEHUIBAOLINGHUOPEIZHIHUNHEA"],["519765","JYZYHBLHPZHHC","交银卓越回报灵活配置混合C","混合型","JIAOYINZHUOYUEHUIBAOLINGHUOPEIZHIHUNHEC"],["519766","JYRXBBHH","交银荣鑫保本混合","保本型","JIAOYINRONGXINBAOBENHUNHE"],["519767","JYKJCXLHPZHH","交银科技创新灵活配置混合","混合型","JIAOYINKEJICHUANGXINLINGHUOPEIZHIHUNHE"],["519768","JYYXHBLHPZHHA","交银优选回报灵活配置混合A","混合型","JIAOYINYOUXUANHUIBAOLINGHUOPEIZHIHUNHEA"],["519769","JYYXHBLHPZHHC","交银优选回报灵活配置混合C","混合型","JIAOYINYOUXUANHUIBAOLINGHUOPEIZHIHUNHEC"],["519770","JYYZHBLHPZHHA","交银优择回报灵活配置混合A","混合型","JIAOYINYOUZEHUIBAOLINGHUOPEIZHIHUNHEA"],["519771","JYYZHBLHPZHHC","交银优择回报灵活配置混合C","混合型","JIAOYINYOUZEHUIBAOLINGHUOPEIZHIHUNHEC"],["519772","JYXSHLLHPZHH","交银新生活力灵活配置混合","混合型","JIAOYINXINSHENGHUOLILINGHUOPEIZHIHUNHE"],["519773","JYSJCYLHPZHH","交银数据产业灵活配置混合","混合型","JIAOYINSHUJUCHANYELINGHUOPEIZHIHUNHE"],["519774","JYYXCZZQA","交银裕兴纯债债券A","债券型","JIAOYINYUXINGCHUNZHAIZHAIQUANA"],["519775","JYYXCZZQC","交银裕兴纯债债券C","债券型","JIAOYINYUXINGCHUNZHAIZHAIQUANC"],["519776","JYYYCZZQA","交银裕盈纯债债券A","债券型","JIAOYINYUYINGCHUNZHAIZHAIQUANA"],["519777","JYYYCZZQC","交银裕盈纯债债券C","债券型","JIAOYINYUYINGCHUNZHAIZHAIQUANC"],["519778","JYJJXDLHH","交银经济新动力混合","混合型","JIAOYINJINGJIXINDONGLIHUNHE"],["519779","JYHGSJZJXHH","交银沪港深价值精选混合","混合型","JIAOYINHUGANGSHENJIAZHIJINGXUANHUNHE"],["519781","JYLXHBHH","交银领先回报混合","混合型","JIAOYINLINGXIANHUIBAOHUNHE"],["519782","JYYLCZZQA","交银裕隆纯债债券A","债券型","JIAOYINYULONGCHUNZHAIZHAIQUANA"],["519783","JYYLCZZQC","交银裕隆纯债债券C","债券型","JIAOYINYULONGCHUNZHAIZHAIQUANC"],["519784","JYJSSYZQA","交银境尚收益债券A","债券型","JIAOYINJINGSHANGSHOUYIZHAIQUANA"],["519785","JYJSSYZQC","交银境尚收益债券C","债券型","JIAOYINJINGSHANGSHOUYIZHAIQUANC"],["519786","JYYLCZZQA","交银裕利纯债债券A","债券型","JIAOYINYULICHUNZHAIZHAIQUANA"],["519787","JYYLCZZQC","交银裕利纯债债券C","债券型","JIAOYINYULICHUNZHAIZHAIQUANC"],["519800","HXBZJLCHBA","华夏保证金理财货币A","货币型","HUAXIABAOZHENGJINLICAIHUOBIA"],["519801","HXBZJLCHBB","华夏保证金理财货币B","货币型","HUAXIABAOZHENGJINLICAIHUOBIB"],["519808","JSBZJCNSSHBA","嘉实保证金场内申赎货币A","货币型","JIASHIBAOZHENGJINCHANGNEISHENSHUHUOBIA"],["519809","JSBZJCNSSHBB","嘉实保证金场内申赎货币B","货币型","JIASHIBAOZHENGJINCHANGNEISHENSHUHUOBIB"],["519858","GFXJBCNHBA","广发现金宝场内货币A","货币型","GUANGFAXIANJINBAOCHANGNEIHUOBIA"],["519859","GFXJBCNHBB","广发现金宝场内货币B","货币型","GUANGFAXIANJINBAOCHANGNEIHUOBIB"],["519878","GSABCNSSSSHBA","国寿安保场内实时申赎货币A","货币型","GUOSHOUANBAOCHANGNEISHISHISHENSHUHUOBIA"],["519879","GSABCNSSSSHBB","国寿安保场内实时申赎货币B","货币型","GUOSHOUANBAOCHANGNEISHISHISHENSHUHUOBIB"],["519888","HTFSYKXHBA","汇添富收益快线货币A","货币型","HUITIANFUSHOUYIKUAIXIANHUOBIA"],["519889","HTFSYKXHBB","汇添富收益快线货币B","货币型","HUITIANFUSHOUYIKUAIXIANHUOBIB"],["519898","DCXJBHBA","大成现金宝货币A","货币型","DACHENGXIANJINBAOHUOBIA"],["519899","DCXJBHBB","大成现金宝货币B","货币型","DACHENGXIANJINBAOHUOBIB"],["519908","HXXHHHA","华夏兴华混合A","混合型","HUAXIAXINGHUAHUNHEA"],["519909","HAASHH","华安安顺混合","混合型","HUAANANSHUNHUNHE"],["519915","FGXFZTHH","富国消费主题混合","混合型","FUGUOXIAOFEIZHUTIHUNHE"],["519918","HXXHHH","华夏兴和混合","混合型","HUAXIAXINGHEHUNHE"],["519929","CXDZXXHYLHHH","长信电子信息行业量化混合","混合型","CHANGXINDIANZIXINXIHANGYELIANGHUAHUNHE"],["519931","CXGGTZS","长信港股通指数","股票指数","CHANGXINGANGGUTONGZHISHU"],["519933","CXLFZQ","长信利发债券","债券型","CHANGXINLIFAZHAIQUAN"],["519935","CXCXQDGP","长信创新驱动股票","股票型","CHANGXINCHUANGXINQUDONGGUPIAO"],["519937","CXXRZQ","长信先锐债券","债券型","CHANGXINXIANRUIZHAIQUAN"],["519939","CXHWSYYNDKZ","长信海外收益一年定开债","QDII","CHANGXINHAIWAISHOUYIYINIANDINGKAIZHAI"],["519940","CXFQCZYNDKZC","长信富全纯债一年定开债C","定开债券","CHANGXINFUQUANCHUNZHAIYINIANDINGKAIZHAIC"],["519941","CXFQCZYNDKZA","长信富全纯债一年定开债A","定开债券","CHANGXINFUQUANCHUNZHAIYINIANDINGKAIZHAIA"],["519942","CXFTCZYNDKZC","长信富泰纯债一年定开债C","定开债券","CHANGXINFUTAICHUNZHAIYINIANDINGKAIZHAIC"],["519943","CXFTCZYNDKZA","长信富泰纯债一年定开债A","定开债券","CHANGXINFUTAICHUNZHAIYINIANDINGKAIZHAIA"],["519944","CXFACZYNDKZC","长信富安纯债一年定开债C","定开债券","CHANGXINFUANCHUNZHAIYINIANDINGKAIZHAIC"],["519945","CXFACZYNDKZA","长信富安纯债一年定开债A","定开债券","CHANGXINFUANCHUNZHAIYINIANDINGKAIZHAIA"],["519947","CXLBZQ","长信利保债券","债券型","CHANGXINLIBAOZHAIQUAN"],["519949","CXLXLHPZHH","长信利信灵活配置混合","混合型","CHANGXINLIXINLINGHUOPEIZHIHUNHE"],["519951","CXLTLHPZHH","长信利泰灵活配置混合","混合型","CHANGXINLITAILINGHUOPEIZHIHUNHE"],["519953","CXFHCZYNDKZ","长信富海纯债一年定开债","定开债券","CHANGXINFUHAICHUNZHAIYINIANDINGKAIZHAI"],["519955","CXFMCZYNDKZ","长信富民纯债一年定开债","定开债券","CHANGXINFUMINCHUNZHAIYINIANDINGKAIZHAI"],["519956","CXRJHHC","长信睿进混合C","混合型","CHANGXINRUIJINHUNHEC"],["519957","CXRJHHA","长信睿进混合A","混合型","CHANGXINRUIJINHUNHEA"],["519959","CXDLHH","长信多利混合","混合型","CHANGXINDUOLIHUNHE"],["519960","CXLGHHC","长信利广混合C","混合型","CHANGXINLIGUANGHUNHEC"],["519961","CXLGHHA","长信利广混合A","混合型","CHANGXINLIGUANGHUNHEA"],["519962","CXLYHHC","长信利盈混合C","混合型","CHANGXINLIYINGHUNHEC"],["519963","CXLYHHA","长信利盈混合A","混合型","CHANGXINLIYINGHUNHEA"],["519965","CXLHDCLGP","长信量化多策略股票","股票型","CHANGXINLIANGHUADUOCELUEGUPIAO"],["519967","CXLFZQ","长信利富债券","债券型","CHANGXINLIFUZHAIQUAN"],["519969","CXXLLHPZHH","长信新利灵活配置混合","混合型","CHANGXINXINLILINGHUOPEIZHIHUNHE"],["519971","CXGGHLHH","长信改革红利混合","混合型","CHANGXINGAIGEHONGLIHUNHE"],["519972","CXCZYNDKZQC","长信纯债一年定开债券C","定开债券","CHANGXINCHUNZHAIYINIANDINGKAIZHAIC"],["519973","CXCZYNDKZQA","长信纯债一年定开债券A","定开债券","CHANGXINCHUNZHAIYINIANDINGKAIZHAIA"],["519975","CXLHZXPGP","长信量化中小盘股票","股票型","CHANGXINLIANGHUAZHONGXIAOPANGUPIAO"],["519976","CXKZZZQC","长信可转债债券C","债券型","CHANGXINKEZHUANZHAIZHAIQUANC"],["519977","CXKZZZQA","长信可转债债券A","债券型","CHANGXINKEZHUANZHAIZHAIQUANA"],["519979","CXNXCZHH","长信内需成长混合","混合型","CHANGXINNEIXUCHENGZHANGHUNHE"],["519981","CXMGBP100","长信美国标普100","QDII-指数","CHANGXINMEIGUOBIAOPU100"],["519983","CXLHXFHHA","长信量化先锋混合A","混合型","CHANGXINLIANGHUAXIANFENGHUNHEA"],["519985","CXCZYHZQA","长信纯债壹号债券A","债券型","CHANGXINCHUNZHAIYIHAOZHAIQUANA"],["519986","CXHLYSHH","长信恒利优势混合(后端)","混合型","CHANGXINHENGLIYOUSHIHUNHE"],["519987","CXHLYSHH","长信恒利优势混合","混合型","CHANGXINHENGLIYOUSHIHUNHE"],["519989","CXLFZQ","长信利丰债券","债券型","CHANGXINLIFENGZHAIQUAN"],["519990","CXSLYX","长信双利优选(后端)","混合型","CHANGXINSHUANGLIYOUXUAN"],["519991","CXSLYX","长信双利优选","混合型","CHANGXINSHUANGLIYOUXUAN"],["519992","CXZLDTCLHH","长信增利动态策略混合(后端)","混合型","CHANGXINZENGLIDONGTAICELUEHUNHE"],["519993","CXZLDTCLHH","长信增利动态策略混合","混合型","CHANGXINZENGLIDONGTAICELUEHUNHE"],["519995","CXJLQSHH","长信金利趋势混合","混合型","CHANGXINJINLIQUSHIHUNHE"],["519997","CXYLJXHH","长信银利精选混合","混合型","CHANGXINYINLIJINGXUANHUNHE"],["519998","CXLXSYHBB","长信利息收益货币B","货币型","CHANGXINLIXISHOUYIHUOBIB"],["519999","CXLXSYHBA","长信利息收益货币A","货币型","CHANGXINLIXISHOUYIHUOBIA"],["530001","JXHJJZHH","建信恒久价值混合","混合型","JIANXINHENGJIUJIAZHIHUNHE"],["530002","JXHB","建信货币","货币型","JIANXINHUOBI"],["530003","JXYXCZHHA","建信优选成长混合A","混合型","JIANXINYOUXUANCHENGZHANGHUNHEA"],["530005","JXYHPZ","建信优化配置","混合型","JIANXINYOUHUAPEIZHI"],["530006","JXHXJXHH","建信核心精选混合","混合型","JIANXINHEXINJINGXUANHUNHE"],["530008","JXWDZLZQC","建信稳定增利债券C","债券型","JIANXINWENDINGZENGLIZHAIQUANC"],["530009","JXZQZQA","建信增强债券A","债券型","JIANXINZENGQIANGZHAIQUANA"],["530010","JXZRLJ","建信责任联接","联接基金","JIANXINZERENLIANJIE"],["530011","JXNSDLHH","建信内生动力混合","混合型","JIANXINNEISHENGDONGLIHUNHE"],["530012","JXJJPZHH","建信积极配置混合","混合型","JIANXINJIJIPEIZHIHUNHE"],["530014","JXSZLCA","建信双周理财A","理财型","JIANXINSHUANGZHOULICAIA"],["530015","JXSZ60LJ","建信深证60联接","联接基金","JIANXINSHENZHENG60LIANJIE"],["530016","JXHWJZ","建信恒稳价值","混合型","JIANXINHENGWENJIAZHI"],["530017","JXSXHLZQA","建信双息红利债券A","债券型","JIANXINSHUANGXIHONGLIZHAIQUANA"],["530018","JXSZ100ZQ","建信深证100增强","股票指数","JIANXINSHENZHENG100ZENGQIANG"],["530019","JXSHZRHH","建信社会责任混合","混合型","JIANXINSHEHUIZERENHUNHE"],["530020","JXZZZQZQA","建信转债增强债券A","债券型","JIANXINZHUANZHAIZENGQIANGZHAIQUANA"],["530021","JXCZA","建信纯债A","债券型","JIANXINCHUNZHAIA"],["530028","JXYYAXLCZQA","建信月盈安心理财债券A","理财型","JIANXINYUEYINGANXINLICAIZHAIQUANA"],["530029","JXSYAXLCZQA","建信双月安心理财债券A","理财型","JIANXINSHUANGYUEANXINLICAIZHAIQUANA"],["530030","JXZYAXLCZQA","建信周盈安心理财债券A","理财型","JIANXINZHOUYINGANXINLICAIZHAIQUANA"],["531008","JXWDZLZQA","建信稳定增利债券A","债券型","JIANXINWENDINGZENGLIZHAIQUANA"],["531009","JXZQZQC","建信增强债券C","债券型","JIANXINZENGQIANGZHAIQUANC"],["531014","JXSZLCB","建信双周理财B","理财型","JIANXINSHUANGZHOULICAIB"],["531017","JXSXHLZQC","建信双息红利债券C","债券型","JIANXINSHUANGXIHONGLIZHAIQUANC"],["531020","JXZZZQZQC","建信转债增强债券C","债券型","JIANXINZHUANZHAIZENGQIANGZHAIQUANC"],["531021","JXCZC","建信纯债C","债券型","JIANXINCHUNZHAIC"],["531028","JXYYAXLCZQB","建信月盈安心理财债券B","理财型","JIANXINYUEYINGANXINLICAIZHAIQUANB"],["531029","JXSYAXLCZQB","建信双月安心理财债券B","理财型","JIANXINSHUANGYUEANXINLICAIZHAIQUANB"],["531030","JXZYAXLCZQB","建信周盈安心理财债券B","理财型","JIANXINZHOUYINGANXINLICAIZHAIQUANB"],["539001","JXQQJYHHQDII","建信全球机遇混合(QDII)","QDII","JIANXINQUANQIUJIYUHUNHEQDII"],["539002","JXXXSCHHQDII","建信新兴市场混合(QDII)","QDII","JIANXINXINXINGSHICHANGHUNHEQDII"],["539003","JXQQZYHHQDII","建信全球资源混合(QDII)","QDII","JIANXINQUANQIUZIYUANHUNHEQDII"],["540001","HFJX2016ZQ","汇丰晋信2016周期","混合型","HUIFENGJINXIN2016ZHOUQI"],["540002","HFJXLTHH","汇丰晋信龙腾混合","混合型","HUIFENGJINXINLONGTENGHUNHE"],["540003","HFJXDTCL","汇丰晋信动态策略","混合型","HUIFENGJINXINDONGTAICELUE"],["540004","HFJX2026ZQ","汇丰晋信2026周期","混合型","HUIFENGJINXIN2026ZHOUQI"],["540005","HFJXPWZLZQA","汇丰晋信平稳增利债券A","债券型","HUIFENGJINXINPINGWENZENGLIZHAIQUANA"],["540006","HFJXDPGPA","汇丰晋信大盘股票A","股票型","HUIFENGJINXINDAPANGUPIAOA"],["540007","HFJXZXPGP","汇丰晋信中小盘股票","股票型","HUIFENGJINXINZHONGXIAOPANGUPIAO"],["540008","HFJXDTXF","汇丰晋信低碳先锋","股票型","HUIFENGJINXINDITANXIANFENG"],["540009","HFJXXFHL","汇丰晋信消费红利","股票型","HUIFENGJINXINXIAOFEIHONGLI"],["540010","HFJXKJXF","汇丰晋信科技先锋","股票型","HUIFENGJINXINKEJIXIANFENG"],["540011","HFJXHBA","汇丰晋信货币A","货币型","HUIFENGJINXINHUOBIA"],["540012","HFJXHSLTZSA","汇丰晋信恒生龙头指数A","股票指数","HUIFENGJINXINHENGSHENGLONGTOUZHISHUA"],["541004","HFJX2026ZQ","汇丰晋信2026周期(后端)","混合型","HUIFENGJINXIN2026ZHOUQI"],["541005","HFJXWZZQC","汇丰晋信稳增债券C","债券型","HUIFENGJINXINWENZENGZHAIQUANC"],["541011","HFJXHBB","汇丰晋信货币B","货币型","HUIFENGJINXINHUOBIB"],["550001","XCSJH","信诚四季红","混合型","XINCHENGSIJIHONG"],["550002","XCJCCZHH","信诚精萃成长混合","混合型","XINCHENGJINGCUICHENGZHANGHUNHE"],["550003","XCSSLCHH","信诚盛世蓝筹混合","混合型","XINCHENGSHENGSHILANCHOUHUNHE"],["550004","XCSDYZQA","信诚三得益债券A","债券型","XINCHENGSANDEYIZHAIQUANA"],["550005","XCSDYZQB","信诚三得益债券B","债券型","XINCHENGSANDEYIZHAIQUANB"],["550006","XCJDYZZQA","信诚经典优债债券A","债券型","XINCHENGJINGDIANYOUZHAIZHAIQUANA"],["550007","XCJDYZZQB","信诚经典优债债券B","债券型","XINCHENGJINGDIANYOUZHAIZHAIQUANB"],["550008","XCYSJXHH","信诚优胜精选混合","混合型","XINCHENGYOUSHENGJINGXUANHUNHE"],["550009","XCZXPHH","信诚中小盘混合","混合型","XINCHENGZHONGXIAOPANHUNHE"],["550010","XCHBA","信诚货币A","货币型","XINCHENGHUOBIA"],["550011","XCHBB","信诚货币B","货币型","XINCHENGHUOBIB"],["550012","XCLC7RYZQA","信诚理财7日盈债券A","理财型","XINCHENGLICAI7RIYINGZHAIQUANA"],["550013","XCLC7RYZQB","信诚理财7日盈债券B","理财型","XINCHENGLICAI7RIYINGZHAIQUANB"],["550015","XCTJFJZQJJTJ","信诚添金分级债券季季添金","固定收益","XINCHENGTIANJINFENJIZHAIQUANJIJITIANJIN"],["550016","XCTJFJZQSSTJ","信诚添金分级债券岁岁添金","分级杠杆","XINCHENGTIANJINFENJIZHAIQUANSUISUITIANJIN"],["550017","XCTJFJZQ","信诚添金分级债券","债券型","XINCHENGTIANJINFENJIZHAIQUAN"],["550018","XCYZCZZQA","信诚优质纯债债券A","债券型","XINCHENGYOUZHICHUNZHAIZHAIQUANA"],["550019","XCYZCZZQB","信诚优质纯债债券B","债券型","XINCHENGYOUZHICHUNZHAIZHAIQUANB"],["551001","XCSJH","信诚四季红(后端)","混合型","XINCHENGSIJIHONG"],["560001","YMHB","益民货币","货币型","YIMINHUOBI"],["560002","YMHLCZ","益民红利成长","混合型","YIMINHONGLICHENGZHANG"],["560003","YMCXYS","益民创新优势","混合型","YIMINCHUANGXINYOUSHI"],["560005","YMDLZQ","益民多利债券","债券型","YIMINDUOLIZHAIQUAN"],["560006","YMHXZZHH","益民核心增长混合","混合型","YIMINHEXINZENGZHANGHUNHE"],["570001","NDJZYSHH","诺德价值优势混合","混合型","NUODEJIAZHIYOUSHIHUNHE"],["570005","NDCZYSHH","诺德成长优势混合","混合型","NUODECHENGZHANGYOUSHIHUNHE"],["570006","NDZXPHH","诺德中小盘混合","混合型","NUODEZHONGXIAOPANHUNHE"],["570007","NDYX30HH","诺德优选30混合","混合型","NUODEYOUXUAN30HUNHE"],["570008","NDZQCLHH","诺德周期策略混合","混合型","NUODEZHOUQICELUEHUNHE"],["571002","NDZTLHPZ","诺德主题灵活配置","混合型","NUODEZHUTILINGHUOPEIZHI"],["573003","NDZQZQ","诺德增强债券","债券型","NUODEZENGQIANGZHAIQUAN"],["580001","DWJHYSJX","东吴嘉禾优势精选","混合型","DONGWUJIAHEYOUSHIJINGXUAN"],["580002","DWSDLHH","东吴双动力混合","混合型","DONGWUSHUANGDONGLIHUNHE"],["580003","DWHYLDHH","东吴行业轮动混合","混合型","DONGWUHANGYELUNDONGHUNHE"],["580005","DWJQCL","东吴进取策略","混合型","DONGWUJINQUCELUE"],["580006","DWXJJHH","东吴新经济混合","混合型","DONGWUXINJINGJIHUNHE"],["580007","DWAXLHHH","东吴安享量化混合","混合型","DONGWUANXIANGLIANGHUAHUNHE"],["580008","DWXCYJXHH","东吴新产业精选混合","混合型","DONGWUXINCHANYEJINGXUANHUNHE"],["580009","DWNXZZHH","东吴内需增长混合","混合型","DONGWUNEIXUZENGZHANGHUNHE"],["581002","DWSDLHH","东吴双动力混合(后端)","混合型","DONGWUSHUANGDONGLIHUNHE"],["582001","DWYXWJZQA","东吴优信稳健债券A","债券型","DONGWUYOUXINWENJIANZHAIQUANA"],["582002","DWZLZQA","东吴增利债券A","债券型","DONGWUZENGLIZHAIQUANA"],["582003","DWPZYHHH","东吴配置优化混合","混合型","DONGWUPEIZHIYOUHUAHUNHE"],["582201","DWYXWJZQC","东吴优信稳健债券C","债券型","DONGWUYOUXINWENJIANZHAIQUANC"],["582202","DWZLZQC","东吴增利债券C","债券型","DONGWUZENGLIZHAIQUANC"],["583001","DWHBA","东吴货币A","货币型","DONGWUHUOBIA"],["583101","DWHBB","东吴货币B","货币型","DONGWUHUOBIB"],["585001","DWZZXXCY","东吴中证新兴产业","股票指数","DONGWUZHONGZHENGXINXINGCHANYE"],["590001","ZYHXYXHH","中邮核心优选混合","混合型","ZHONGYOUHEXINYOUXUANHUNHE"],["590002","ZYHXCZHH","中邮核心成长混合","混合型","ZHONGYOUHEXINCHENGZHANGHUNHE"],["590003","ZYHXYS","中邮核心优势","混合型","ZHONGYOUHEXINYOUSHI"],["590005","ZYHXZTHH","中邮核心主题混合","混合型","ZHONGYOUHEXINZHUTIHUNHE"],["590006","ZYZXPPZ","中邮中小盘配置","混合型","ZHONGYOUZHONGXIAOPANPEIZHI"],["590007","ZYSZ380ZQ","中邮上证380增强","股票指数","ZHONGYOUSHANGZHENG380ZENGQIANG"],["590008","ZYZLXXCYHH","中邮战略新兴产业混合","混合型","ZHONGYOUZHANLUEXINXINGCHANYEHUNHE"],["590009","ZYWDSYZQA","中邮稳定收益债券A","债券型","ZHONGYOUWENDINGSHOUYIZHAIQUANA"],["590010","ZYWDSYZQC","中邮稳定收益债券C","债券型","ZHONGYOUWENDINGSHOUYIZHAIQUANC"],["610001","XDAYLXZZHH","信达澳银领先增长混合","混合型","XINDAAOYINLINGXIANZENGZHANGHUNHE"],["610002","XDAYJHPZ","信达澳银精华配置","混合型","XINDAAOYINJINGHUAPEIZHI"],["610003","XDAYWDJZZA","信达澳银稳定价值债A","债券型","XINDAAOYINWENDINGJIAZHIZHAIA"],["610004","XDAYZXPHH","信达澳银中小盘混合","混合型","XINDAAOYINZHONGXIAOPANHUNHE"],["610005","XDAYHLHBHH","信达澳银红利回报混合","混合型","XINDAAOYINHONGLIHUIBAOHUNHE"],["610006","XDAYCYSJHH","信达澳银产业升级混合","混合型","XINDAAOYINCHANYESHENGJIHUNHE"],["610007","XDAYXFYXHH","信达澳银消费优选混合","混合型","XINDAAOYINXIAOFEIYOUXUANHUNHE"],["610008","XDAYXYZZQA","信达澳银信用债债券A","债券型","XINDAAOYINXINYONGZHAIZHAIQUANA"],["610103","XDAYWDJZZB","信达澳银稳定价值债B","债券型","XINDAAOYINWENDINGJIAZHIZHAIB"],["610108","XDAYXYZZQ","信达澳银信用债债券C","债券型","XINDAAOYINXINYONGZHAIZHAIQUANC"],["620001","JYSABSDLHH","金元顺安宝石动力混合","混合型","JINYUANSHUNANBAOSHIDONGLIHUNHE"],["620002","JYSACZDLHH","金元顺安成长动力混合","混合型","JINYUANSHUNANCHENGZHANGDONGLIHUNHE"],["620003","JYSAFLZQ","金元顺安丰利债券","债券型","JINYUANSHUNANFENGLIZHAIQUAN"],["620004","JYSAJZZCHH","金元顺安价值增长混合","混合型","JINYUANSHUNANJIAZHIZENGZHANGHUNHE"],["620005","JYSAHXDLHH","金元顺安核心动力混合","混合型","JINYUANSHUNANHEXINDONGLIHUNHE"],["620006","JYSAXFZTHH","金元顺安消费主题混合","混合型","JINYUANSHUNANXIAOFEIZHUTIHUNHE"],["620007","JYSABBHHA","金元顺安保本混合A","保本型","JINYUANSHUNANBAOBENHUNHEA"],["620008","JYSAXJJZTHH","金元顺安新经济主题混合","混合型","JINYUANSHUNANXINJINGJIZHUTIHUNHE"],["620009","JYSAFXZQ","金元顺安丰祥债券","债券型","JINYUANSHUNANFENGXIANGZHAIQUAN"],["620010","JYSAJYBHBA","金元顺安金元宝货币A","货币型","JINYUANSHUNANJINYUANBAOHUOBIA"],["620011","JYSAJYBHBB","金元顺安金元宝货币B","货币型","JINYUANSHUNANJINYUANBAOHUOBIB"],["630001","HSLXQY","华商领先企业","混合型","HUASHANGLINGXIANQIYE"],["630002","HSSSCZHH","华商盛世成长混合","混合型","HUASHANGSHENGSHICHENGZHANGHUNHE"],["630003","HSZQZQA","华商增强债券A","债券型","HUASHANGZENGQIANGZHAIQUANA"],["630005","HSDTAEF","华商动态阿尔法","混合型","HUASHANGDONGTAIAERFA"],["630006","HSCYSJHH","华商产业升级混合","混合型","HUASHANGCHANYESHENGJIHUNHE"],["630007","HSWJSLZQA","华商稳健双利债券A","债券型","HUASHANGWENJIANSHUANGLIZHAIQUANA"],["630008","HSCLJX","华商策略精选","混合型","HUASHANGCELUEJINGXUAN"],["630009","HSWDZLZQA","华商稳定增利债券A","债券型","HUASHANGWENDINGZENGLIZHAIQUANA"],["630010","HSJZJXHH","华商价值精选混合","混合型","HUASHANGJIAZHIJINGXUANHUNHE"],["630011","HSZTJXHH","华商主题精选混合","混合型","HUASHANGZHUTIJINGXUANHUNHE"],["630012","HSXJZLHBA","华商现金增利货币A","货币型","HUASHANGXIANJINZENGLIHUOBIA"],["630015","HSDPLHJXHH","华商大盘量化精选混合","混合型","HUASHANGDAPANLIANGHUAJINGXUANHUNHE"],["630016","HSJZGXHH","华商价值共享混合","混合型","HUASHANGJIAZHIGONGXIANGHUNHE"],["630103","HSZQZQB","华商增强债券B","债券型","HUASHANGZENGQIANGZHAIQUANB"],["630107","HSWJSLZQB","华商稳健双利债券B","债券型","HUASHANGWENJIANSHUANGLIZHAIQUANB"],["630109","HSWDZLZQC","华商稳定增利债券C","债券型","HUASHANGWENDINGZENGLIZHAIQUANC"],["630112","HSXJZLHBB","华商现金增利货币B","货币型","HUASHANGXIANJINZENGLIHUOBIB"],["650001","YDCZAL","英大纯债A类","债券型","YINGDACHUNZHAIALEI"],["650002","YDCZCL","英大纯债C类","债券型","YINGDACHUNZHAICLEI"],["660001","NYHYCZHH","农银行业成长混合","混合型","NONGYINHANGYECHENGZHANGHUNHE"],["660002","NYHJZLZQA","农银恒久增利债券A","债券型","NONGYINHENGJIUZENGLIZHAIQUANA"],["660003","NYPHSL","农银平衡双利","混合型","NONGYINPINGHENGSHUANGLI"],["660004","NYCLJZHH","农银策略价值混合","混合型","NONGYINCELUEJIAZHIHUNHE"],["660005","NYZXPHH","农银中小盘混合","混合型","NONGYINZHONGXIAOPANHUNHE"],["660006","NYDPLCHH","农银大盘蓝筹混合","混合型","NONGYINDAPANLANCHOUHUNHE"],["660007","NYHBA","农银货币A","货币型","NONGYINHUOBIA"],["660008","NYHS300","农银沪深300","股票指数","NONGYINHUSHEN300"],["660009","NYZQSYZQA","农银增强收益债券A","债券型","NONGYINZENGQIANGSHOUYIZHAIQUANA"],["660010","NYCLJXHH","农银策略精选混合","混合型","NONGYINCELUEJINGXUANHUNHE"],["660011","NYZZ500","农银中证500","股票指数","NONGYINZHONGZHENG500"],["660012","NYXFZTHH","农银消费主题混合","混合型","NONGYINXIAOFEIZHUTIHUNHE"],["660013","NYHLXYTLZQ","农银汇理信用添利债券","债券型","NONGYINHUILIXINYONGTIANLIZHAIQUAN"],["660014","NYSZ100ZQ","农银深证100增强","股票指数","NONGYINSHENZHENG100ZENGQIANG"],["660015","NYHYLDHH","农银行业轮动混合","混合型","NONGYINHANGYELUNDONGHUNHE"],["660016","NYHL7TLCZQA","农银汇理7天理财债券A","理财型","NONGYINHUILI7TIANLICAIZHAIQUANA"],["660102","NYHJZLZQC","农银恒久增利债券C","债券型","NONGYINHENGJIUZENGLIZHAIQUANC"],["660107","NYHBB","农银货币B","货币型","NONGYINHUOBIB"],["660109","NYZQSYZQC","农银增强收益债券C","债券型","NONGYINZENGQIANGSHOUYIZHAIQUANC"],["660116","NYHL7TLCZQB","农银汇理7天理财债券B","理财型","NONGYINHUILI7TIANLICAIZHAIQUANB"],["671010","XBLDCLYXHH","西部利得策略优选混合","混合型","XIBULIDECELUEYOUXUANHUNHE"],["673010","XBLDXDXHH","西部利得新动向混合","混合型","XIBULIDEXINDONGXIANGHUNHE"],["673020","XBLDCZJXHH","西部利得成长精选混合","混合型","XIBULIDECHENGZHANGJINGXUANHUNHE"],["673030","XBLDDCLYXHH","西部利得多策略优选混合","混合型","XIBULIDEDUOCELUEYOUXUANHUNHE"],["673040","XBLDHYZTYXHHA","西部利得行业主题优选混合A","混合型","XIBULIDEHANGYEZHUTIYOUXUANHUNHEA"],["673043","XBLDHYZTYXHHC","西部利得行业主题优选混合C","混合型","XIBULIDEHANGYEZHUTIYOUXUANHUNHEC"],["673050","XBLDXYHH","西部利得新盈混合","混合型","XIBULIDEXINYINGHUNHE"],["673060","XBLDJRLHPZHH","西部利得景瑞灵活配置混合","混合型","XIBULIDEJINGRUILINGHUOPEIZHIHUNHE"],["673071","XBLDXDLHHA","西部利得新动力混合A","混合型","XIBULIDEXINDONGLIHUNHEA"],["673073","XBLDXDLHHC","西部利得新动力混合C","混合型","XIBULIDEXINDONGLIHUNHEC"],["673081","XBLDXYHHA","西部利得祥运混合A","混合型","XIBULIDEXIANGYUNHUNHEA"],["673083","XBLDXYHHC","西部利得祥运混合C","混合型","XIBULIDEXIANGYUNHUNHEC"],["673090","XBLDGGJXGP","西部利得个股精选股票","股票型","XIBULIDEGEGUJINGXUANGUPIAO"],["673100","XBLDJAHBHH","西部利得久安回报混合","混合型","XIBULIDEJIUANHUIBAOHUNHE"],["675011","XBLDWJSLZQA","西部利得稳健双利债券A","债券型","XIBULIDEWENJIANSHUANGLIZHAIQUANA"],["675013","XBLDWJSLZQC","西部利得稳健双利债券C","债券型","XIBULIDEWENJIANSHUANGLIZHAIQUANC"],["675031","XBLDTTXHBA","西部利得天添鑫货币A","货币型","XIBULIDETIANTIANXINHUOBIA"],["675032","XBLDTTXHBB","西部利得天添鑫货币B","货币型","XIBULIDETIANTIANXINHUOBIB"],["675041","XBLDHXA","西部利得合享A","债券型","XIBULIDEHEXIANGA"],["675043","XBLDHXC","西部利得合享C","债券型","XIBULIDEHEXIANGC"],["675051","XBLDHYZQA","西部利得合赢债券A","债券型","XIBULIDEHEYINGZHAIQUANA"],["675053","XBLDHYZQC","西部利得合赢债券C","债券型","XIBULIDEHEYINGZHAIQUANC"],["675061","XBLDTTFHBA","西部利得天添富货币A","货币型","XIBULIDETIANTIANFUHUOBIA"],["675062","XBLDTTFHBB","西部利得天添富货币B","货币型","XIBULIDETIANTIANFUHUOBIB"],["675071","XBLDTTJHBA","西部利得天添金货币A","货币型","XIBULIDETIANTIANJINHUOBIA"],["675072","XBLDTTJHBB","西部利得天添金货币B","货币型","XIBULIDETIANTIANJINHUOBIB"],["675081","XBLDXYZQA","西部利得祥盈债券A","债券型","XIBULIDEXIANGYINGZHAIQUANA"],["675083","XBLDXYZQC","西部利得祥盈债券C","债券型","XIBULIDEXIANGYINGZHAIQUANC"],["675091","XBLDXYZQA","西部利得祥逸债券A","债券型","XIBULIDEXIANGYIZHAIQUANA"],["675093","XBLDXYZQC","西部利得祥逸债券C","债券型","XIBULIDEXIANGYIZHAIQUANC"],["675100","XBLDDZZQ","西部利得得尊债券","债券型","XIBULIDEDEZUNZHAIQUAN"],["675111","XBLDHXZQA","西部利得汇享债券A","债券型","XIBULIDEHUIXIANGZHAIQUANA"],["675113","XBLDHXZQC","西部利得汇享债券C","债券型","XIBULIDEHUIXIANGZHAIQUANC"],["675121","XBHYZQA","西部汇逸债券A","债券型","XIBUHUIYIZHAIQUANA"],["675123","XBHYZQC","西部汇逸债券C","债券型","XIBUHUIYIZHAIQUANC"],["680001","ZSJCCLPZHH","浙商聚潮策略配置混合","混合型","ZHESHANGJUCHAOCELUEPEIZHIHUNHE"],["686868","ZSJYXYZZQA","浙商聚盈信用债债券A","债券型","ZHESHANGJUYINGXINYONGZHAIZHAIQUANA"],["686869","ZSJYXYZZQC","浙商聚盈信用债债券C","债券型","ZHESHANGJUYINGXINYONGZHAIZHAIQUANC"],["688888","ZSJCCYCZHH","浙商聚潮产业成长混合","混合型","ZHESHANGJUCHAOCHANYECHENGZHANGHUNHE"],["690001","MSLC","民生蓝筹","混合型","MINSHENGLANCHOU"],["690002","MSZQZQA","民生增强债券A","债券型","MINSHENGZENGQIANGZHAIQUANA"],["690003","MSJYJXHH","民生加银精选混合","混合型","MINSHENGJIAYINJINGXUANHUNHE"],["690004","MSJYWJCZHH","民生加银稳健成长混合","混合型","MINSHENGJIAYINWENJIANCHENGZHANGHUNHE"],["690005","MSJYNXZZHH","民生加银内需增长混合","混合型","MINSHENGJIAYINNEIXUZENGZHANGHUNHE"],["690006","MSXYSLZQA","民生信用双利债券A","债券型","MINSHENGXINYONGSHUANGLIZHAIQUANA"],["690007","MSJYJQHYHH","民生加银景气行业混合","混合型","MINSHENGJIAYINJINGQIHANGYEHUNHE"],["690008","MSZZZYZS","民生中证资源指数","股票指数","MINSHENGZHONGZHENGZIYUANZHISHU"],["690009","MSJYHLHB","民生加银红利回报","混合型","MINSHENGJIAYINHONGLIHUIBAO"],["690010","MSJYXJZLHBA","民生加银现金增利货币A","货币型","MINSHENGJIAYINXIANJINZENGLIHUOBIA"],["690011","MSJYJJCZHH","民生加银积极成长混合","混合型","MINSHENGJIAYINJIJICHENGZHANGHUNHE"],["690012","MSJYJYLC7TA","民生加银家盈理财7天A","理财型","MINSHENGJIAYINJIAYINGLICAI7TIANA"],["690202","MSZQZQC","民生增强债券C","债券型","MINSHENGZENGQIANGZHAIQUANC"],["690206","MSXYSLZQC","民生信用双利债券C","债券型","MINSHENGXINYONGSHUANGLIZHAIQUANC"],["690210","MSJYXJZLHBB","民生加银现金增利货币B","货币型","MINSHENGJIAYINXIANJINZENGLIHUOBIB"],["690212","MSJYJYLC7TB","民生加银家盈理财7天B","理财型","MINSHENGJIAYINJIAYINGLICAI7TIANB"],["700001","PADHHYXFHH","平安大华行业先锋混合","混合型","PINGANDAHUAHANGYEXIANFENGHUNHE"],["700002","PADHSZ300","平安大华深证300","股票指数","PINGANDAHUASHENZHENG300"],["700003","PADHCLXFHH","平安大华策略先锋混合","混合型","PINGANDAHUACELUEXIANFENGHUNHE"],["700004","PADHBBHH","平安大华保本混合","保本型","PINGANDAHUABAOBENHUNHE"],["700005","PADHTLZQA","平安大华添利债券A","债券型","PINGANDAHUATIANLIZHAIQUANA"],["700006","PADHTLZQC","平安大华添利债券C","债券型","PINGANDAHUATIANLIZHAIQUANC"],["710001","FADYSCZHH","富安达优势成长混合","混合型","FUANDAYOUSHICHENGZHANGHUNHE"],["710002","FADCLJXHH","富安达策略精选混合","混合型","FUANDACELUEJINGXUANHUNHE"],["710301","FADZQSYZQA","富安达增强收益债券A","债券型","FUANDAZENGQIANGSHOUYIZHAIQUANA"],["710302","FADZQSYZQC","富安达增强收益债券C","债券型","FUANDAZENGQIANGSHOUYIZHAIQUANC"],["710501","FADXJTHBA","富安达现金通货币A","货币型","FUANDAXIANJINTONGHUOBIA"],["710502","FADXJTHBB","富安达现金通货币B","货币型","FUANDAXIANJINTONGHUOBIB"],["720001","CTJZDL","财通价值动量","混合型","CAITONGJIAZHIDONGLIANG"],["720002","CTDCLWZZQ","财通多策略稳增债券","债券型","CAITONGDUOCELUEWENZENGZHAIQUAN"],["720003","CTSYZQZQ","财通收益增强债券","债券型","CAITONGSHOUYIZENGQIANGZHAIQUAN"],["730001","FZFBCXDLHH","方正富邦创新动力混合","混合型","FANGZHENGFUBANGCHUANGXINDONGLIHUNHE"],["730002","FZFBHLJXHH","方正富邦红利精选混合","混合型","FANGZHENGFUBANGHONGLIJINGXUANHUNHE"],["730003","FZFBHBA","方正富邦货币A","货币型","FANGZHENGFUBANGHUOBIA"],["730103","FZFBHBB","方正富邦货币B","货币型","FANGZHENGFUBANGHUOBIB"],["740001","CAHGCLHH","长安宏观策略混合","混合型","CHANGANHONGGUANCELUEHUNHE"],["740101","CAHS300FZQ","长安沪深300非周期","股票指数","CHANGANHUSHEN300FEIZHOUQI"],["740601","CAHBA","长安货币A","货币型","CHANGANHUOBIA"],["740602","CAHBB","长安货币B","货币型","CHANGANHUOBIB"],["750001","AXLHPZHH","安信灵活配置混合","混合型","ANXINLINGHUOPEIZHIHUNHE"],["750002","AXMBSYZQA","安信目标收益债券A","债券型","ANXINMUBIAOSHOUYIZHAIQUANA"],["750003","AXMBSYZQC","安信目标收益债券C","债券型","ANXINMUBIAOSHOUYIZHAIQUANC"],["750005","AXPWZZHHFQA","安信平稳增长混合发起A","混合型","ANXINPINGWENZENGZHANGHUNHEFAQIA"],["750006","AXXJGLHBA","安信现金管理货币A","货币型","ANXINXIANJINGUANLIHUOBIA"],["750007","AXXJGLHBB","安信现金管理货币B","货币型","ANXINXIANJINGUANLIHUOBIB"],["762001","GJGXFQ","国金国鑫发起","混合型","GUOJINGUOXINFAQI"],["770001","DBYHHH","德邦优化混合","混合型","DEBANGYOUHUAHUNHE"]]; \ No newline at end of file diff --git a/trade_process/kline_technical_index.py b/trade_process/kline_technical_index.py index 1128b3e..3c997e7 100644 --- a/trade_process/kline_technical_index.py +++ b/trade_process/kline_technical_index.py @@ -1,252 +1,252 @@ -#coding=utf-8 -""" - K线图 - 技术指标 - http://kekefund.com/2015/12/10/japan-candle-diagram-technique/ -""" - -import wrapcache -from tqdm import tqdm - -from data_process.data_get import get_all_stock_codes, get_stock_k_line - -@wrapcache.wrapcache(timeout=24*60*60) -def line_hammer_and_hang(code, df_code): - """ - 锤子线(底部反转) | 上吊线(顶部反转) - :param df_code: 一只股票代码的DataFrame - :return: - """ - - #print df_code[:3][['code', 'date','open','high','close','close','low']] - - dates_up = [] #锤子线 - dates_down = [] #上吊线 - for ix, row in df_code.iterrows(): - if ix - 3 < 0: - continue - - len_yingxian_down = min(row['close'], row['open']) - row['low'] #下影线长度 - len_yingxian_up = row['high'] - max(row['close'], row['open']) #上影线长度 - len_solid = abs(row['close'] - row['open']) # 实体线高度 - - if len_yingxian_down >= 2 * len_solid and len_yingxian_up < len_solid * 0.1: - trend = _judge_trend(df_code.ix[ix-3:ix+1]) - if trend == -1: # 下降趋势 - dates_up.append(str(row['date'])) - elif trend == 1: # 上升趋势 - dates_down.append(str(row['date'])) - - code_dict = {} - code_dict[code] = {'up': dates_up, 'down':dates_down} - - return code_dict - -def shape_devour(code, df_code): - """ - 吞没形态 - --- 看涨吞没形态 - --- 看跌吞没形态 - :param code: - :param df_code: - :return: - """ - - dates_up = [] #看涨 - dates_down = [] #看跌 - - for ix, row in df_code.iterrows(): - if ix - 3 < 0: - continue - - #判断趋势 - trend = _judge_trend(df_code.ix[ix-3:ix]) - - #先判断形态 - row_pre = df_code.ix[ix-1] - - # 1,看涨吞没形态 - if trend == -1 and \ - row_pre.close < row_pre.open and \ - row.close > row_pre.open and \ - row.open < row_pre.close: - print row_pre - print row - dates_up.append(str(row['date'])) - - # 2,看跌吞没形态 - if trend == 1 and \ - (row_pre.close > row_pre.open) and \ - row.close < row_pre.open and \ - row.open > row_pre.close: - dates_down.append(str(row['date'])) - - code_dict = {} - code_dict[code] = {'up': dates_up, 'down':dates_down} - #print code_dict - return code_dict - -def shape_dark_cloud_cover_top(code, df_code): - """ - 乌云盖顶形态(顶部反转) | 透刺形态(底部反转) - :param code: - :param df_code: - :return: - """ - - dates_up = [] #看涨 - dates_down = [] #看跌 - - for ix, row in df_code.iterrows(): - if ix - 5 < 0: - continue - - #判断趋势 - pct_changes = df_code.ix[ix-5:ix].close.pct_change() - - if len(pct_changes[pct_changes > 0]) >= 3: # 必须近期总体趋势是向上的 - - row_pre = df_code.ix[ix-1] - if row_pre.close > row_pre.open and row.close < row.open: # 前一天是坚挺的白色实体, 当前天是黑色实体 - if row.open > row_pre.high + (row_pre.close + row_pre.open) * 0.2: # 当前天的开盘价超过了(前一天的最高价 + 系数) - if row.close < (row_pre.open + row_pre.close)/2 and row.close > row_pre.open: # 当前天的收盘价下穿到前一天白色实体的50% - dates_down.append(str(row.date)) - - elif len(pct_changes[pct_changes < 0]) >= 3: # 必须近期总体趋势是向下的 - - row_pre = df_code.ix[ix-1] - if row_pre.close < row_pre.open and row.close > row.open: # 前一天是黑色实体, 当前天是白色实体 - if row.open < row_pre.low - (row_pre.close + row_pre.open) * 0.2: # 当前天的开盘价低于(前一天的最低价 - 系数) - if row.close > (row_pre.open + row_pre.close)/2 and row.close < row_pre.open: # 当前天的收盘价上穿到前一天白色实体的50% - dates_up.append(str(row.date)) - code_dict = {} - code_dict[code] = {'up': dates_up, 'down':dates_down} - #print code_dict - return code_dict - -def shape_morning_and_evening_star(code, df_code): - """ - 启明星形态(底部反转) | 黄昏星形态(顶部反转) - 含十字线形态 - :return: dict - """ - dates_up = [] #看涨 - dates_down = [] #看跌 - - len_df = len(df_code) - for ix, row in df_code[1:len_df-1].iterrows(): - - row_pre = df_code.ix[ix-1] - row_post = df_code.ix[ix+1] - - if abs(row.open - row.close)/row.open < 0.02: # 星线 或 十字线 - if row_pre.close < row_pre.open and (row_pre.open-row_pre.close)/row_pre.open > 0.03: #前一天是黑色实体 且跌幅>3% - if max(row.open, row.close) < min(row_pre.close, row_pre.open): #当前天的实体部分与前一天的实体形成价格跳空 - if row_post.close > row_post.open and row_post.close > row_pre.close: #后一天是白色实体 且收盘价向上推进到前一天的黑色实体之内 - dates_up.append(str(row.date)) - - elif row_pre.close > row_pre.open and (row_pre.close-row_pre.open)/row_pre.open > 0.03: #前一天是白色实体 且涨幅>3% - if min(row.open, row.close) > max(row_pre.close, row_pre.open): #当前天的实体部分与前一天的实体形成价格跳空 - if row_post.close < row_post.open and row_post.close < row_pre.close: #后一天是黑色实体 且收盘价向下推进到前一天的白色实体之内 - dates_down.append(str(row.date)) - - - code_dict = {} - code_dict[code] = {'up': dates_up, 'down':dates_down} - #print code_dict - return code_dict - -def shape_meteor_and_invertedhammer_star(code, df_code): - """ - 流星形态 | 倒锤子线 - -- 非主要反转信号 - :return: dict - """ - dates_up = [] #看涨 - dates_down = [] #看跌 - - len_df = len(df_code) - for ix, row in df_code[5:len_df-1].iterrows(): - - row_pre = df_code.ix[ix-1] - row_post = df_code.ix[ix+1] - pct_changes = df_code.ix[ix-5:ix].close.pct_change() - - #定义流星: 1,流星实体部分较小; 2,白色或黑色皆可#流星上影线较长; 3,下影线几乎没有(长度小于实体的1/10) - meteor_star = abs(row.open - row.close)/row.open < 0.02 and \ - row.high-max(row.open, row.close) > abs(row.open - row.close) * 2 and \ - abs(row.low-min(row.open, row.close)) < abs(row.open - row.close) * 0.1 - if meteor_star: - #流星 - if len(pct_changes[pct_changes > 0]) >= 3: # 必须近期总体趋势是向上的 - if min(row.open, row.close) > max(row_pre.close, row_pre.open): # 当前天的实体部分与前一天的实体形成价格跳空 - if max(row_post.open, row_post.close) < min(row.close, row.open) or \ - (row_post.open - row_post.close)/row_post.open > 0.03: # 后一天向下跳空 或 跌幅>3% - dates_down.append(str(row.date)) - #倒锤子线 - if len(pct_changes[pct_changes < 0]) >= 3: # 必须近期总体趋势是向下的 - if max(row.open, row.close) < min(row_pre.close, row_pre.open): # 当前天的实体部分与前一天的实体形成价格跳空 - if min(row_post.open, row_post.close) > max(row.close, row.open) or \ - (row_post.close - row_post.open)/row_post.open > 0.03: # 后一天向上跳空 或 涨幅>3% - dates_up.append(str(row.date)) - - - code_dict = {} - code_dict[code] = {'up': dates_up, 'down':dates_down} - #print code_dict - return code_dict - -# 辅助函数 -def _judge_trend(df_code): - """ - 判断收盘价趋势 - :param df_code: - :return: 1:上升; -1:下降; 0:震荡 - """ - pct_changes = df_code.close.pct_change() - - if len(pct_changes[pct_changes > 0]) == 0: # 下降趋势 - return -1 - elif len(pct_changes[pct_changes < 0]) == 0: # 上升趋势 - return 1 - else: - return 0 - -def run(): - codes = list(get_all_stock_codes()) - codes.reverse() - codes = ['000725'] - result_list = [] - for code in tqdm(codes): - df = get_stock_k_line(code, date_start='2016-01-01') - - code_dict = line_hammer_and_hang(code, df) - result_list.append(code_dict) - - code_dict = shape_dark_cloud_cover_top(code, df) - result_list.append(code_dict) - - code_dict = shape_devour(code, df) - result_list.append(code_dict) - - code_dict = shape_morning_and_evening_star(code, df) - result_list.append(code_dict) - - code_dict = shape_meteor_and_invertedhammer_star(code, df) - result_list.append(code_dict) - - - - for result in result_list: - for code, d in result.items(): - if d['up']: - print code, " up:", d['up'] - - for result in result_list: - for code, d in result.items(): - if d['down']: - print code, " down:", d['down'] - - print 'end' -if __name__ == "__main__": - run() - +#coding=utf-8 +""" + K线图 - 技术指标 + http://kekefund.com/2015/12/10/japan-candle-diagram-technique/ +""" + +import wrapcache +from tqdm import tqdm + +from data_process.data_get import get_all_stock_codes, get_stock_k_line + +@wrapcache.wrapcache(timeout=24*60*60) +def line_hammer_and_hang(code, df_code): + """ + 锤子线(底部反转) | 上吊线(顶部反转) + :param df_code: 一只股票代码的DataFrame + :return: + """ + + #print df_code[:3][['code', 'date','open','high','close','close','low']] + + dates_up = [] #锤子线 + dates_down = [] #上吊线 + for ix, row in df_code.iterrows(): + if ix - 3 < 0: + continue + + len_yingxian_down = min(row['close'], row['open']) - row['low'] #下影线长度 + len_yingxian_up = row['high'] - max(row['close'], row['open']) #上影线长度 + len_solid = abs(row['close'] - row['open']) # 实体线高度 + + if len_yingxian_down >= 2 * len_solid and len_yingxian_up < len_solid * 0.1: + trend = _judge_trend(df_code.ix[ix-3:ix+1]) + if trend == -1: # 下降趋势 + dates_up.append(str(row['date'])) + elif trend == 1: # 上升趋势 + dates_down.append(str(row['date'])) + + code_dict = {} + code_dict[code] = {'up': dates_up, 'down':dates_down} + + return code_dict + +def shape_devour(code, df_code): + """ + 吞没形态 + --- 看涨吞没形态 + --- 看跌吞没形态 + :param code: + :param df_code: + :return: + """ + + dates_up = [] #看涨 + dates_down = [] #看跌 + + for ix, row in df_code.iterrows(): + if ix - 3 < 0: + continue + + #判断趋势 + trend = _judge_trend(df_code.ix[ix-3:ix]) + + #先判断形态 + row_pre = df_code.ix[ix-1] + + # 1,看涨吞没形态 + if trend == -1 and \ + row_pre.close < row_pre.open and \ + row.close > row_pre.open and \ + row.open < row_pre.close: + print row_pre + print row + dates_up.append(str(row['date'])) + + # 2,看跌吞没形态 + if trend == 1 and \ + (row_pre.close > row_pre.open) and \ + row.close < row_pre.open and \ + row.open > row_pre.close: + dates_down.append(str(row['date'])) + + code_dict = {} + code_dict[code] = {'up': dates_up, 'down':dates_down} + #print code_dict + return code_dict + +def shape_dark_cloud_cover_top(code, df_code): + """ + 乌云盖顶形态(顶部反转) | 透刺形态(底部反转) + :param code: + :param df_code: + :return: + """ + + dates_up = [] #看涨 + dates_down = [] #看跌 + + for ix, row in df_code.iterrows(): + if ix - 5 < 0: + continue + + #判断趋势 + pct_changes = df_code.ix[ix-5:ix].close.pct_change() + + if len(pct_changes[pct_changes > 0]) >= 3: # 必须近期总体趋势是向上的 + + row_pre = df_code.ix[ix-1] + if row_pre.close > row_pre.open and row.close < row.open: # 前一天是坚挺的白色实体, 当前天是黑色实体 + if row.open > row_pre.high + (row_pre.close + row_pre.open) * 0.2: # 当前天的开盘价超过了(前一天的最高价 + 系数) + if row.close < (row_pre.open + row_pre.close)/2 and row.close > row_pre.open: # 当前天的收盘价下穿到前一天白色实体的50% + dates_down.append(str(row.date)) + + elif len(pct_changes[pct_changes < 0]) >= 3: # 必须近期总体趋势是向下的 + + row_pre = df_code.ix[ix-1] + if row_pre.close < row_pre.open and row.close > row.open: # 前一天是黑色实体, 当前天是白色实体 + if row.open < row_pre.low - (row_pre.close + row_pre.open) * 0.2: # 当前天的开盘价低于(前一天的最低价 - 系数) + if row.close > (row_pre.open + row_pre.close)/2 and row.close < row_pre.open: # 当前天的收盘价上穿到前一天白色实体的50% + dates_up.append(str(row.date)) + code_dict = {} + code_dict[code] = {'up': dates_up, 'down':dates_down} + #print code_dict + return code_dict + +def shape_morning_and_evening_star(code, df_code): + """ + 启明星形态(底部反转) | 黄昏星形态(顶部反转) + 含十字线形态 + :return: dict + """ + dates_up = [] #看涨 + dates_down = [] #看跌 + + len_df = len(df_code) + for ix, row in df_code[1:len_df-1].iterrows(): + + row_pre = df_code.ix[ix-1] + row_post = df_code.ix[ix+1] + + if abs(row.open - row.close)/row.open < 0.02: # 星线 或 十字线 + if row_pre.close < row_pre.open and (row_pre.open-row_pre.close)/row_pre.open > 0.03: #前一天是黑色实体 且跌幅>3% + if max(row.open, row.close) < min(row_pre.close, row_pre.open): #当前天的实体部分与前一天的实体形成价格跳空 + if row_post.close > row_post.open and row_post.close > row_pre.close: #后一天是白色实体 且收盘价向上推进到前一天的黑色实体之内 + dates_up.append(str(row.date)) + + elif row_pre.close > row_pre.open and (row_pre.close-row_pre.open)/row_pre.open > 0.03: #前一天是白色实体 且涨幅>3% + if min(row.open, row.close) > max(row_pre.close, row_pre.open): #当前天的实体部分与前一天的实体形成价格跳空 + if row_post.close < row_post.open and row_post.close < row_pre.close: #后一天是黑色实体 且收盘价向下推进到前一天的白色实体之内 + dates_down.append(str(row.date)) + + + code_dict = {} + code_dict[code] = {'up': dates_up, 'down':dates_down} + #print code_dict + return code_dict + +def shape_meteor_and_invertedhammer_star(code, df_code): + """ + 流星形态 | 倒锤子线 + -- 非主要反转信号 + :return: dict + """ + dates_up = [] #看涨 + dates_down = [] #看跌 + + len_df = len(df_code) + for ix, row in df_code[5:len_df-1].iterrows(): + + row_pre = df_code.ix[ix-1] + row_post = df_code.ix[ix+1] + pct_changes = df_code.ix[ix-5:ix].close.pct_change() + + #定义流星: 1,流星实体部分较小; 2,白色或黑色皆可#流星上影线较长; 3,下影线几乎没有(长度小于实体的1/10) + meteor_star = abs(row.open - row.close)/row.open < 0.02 and \ + row.high-max(row.open, row.close) > abs(row.open - row.close) * 2 and \ + abs(row.low-min(row.open, row.close)) < abs(row.open - row.close) * 0.1 + if meteor_star: + #流星 + if len(pct_changes[pct_changes > 0]) >= 3: # 必须近期总体趋势是向上的 + if min(row.open, row.close) > max(row_pre.close, row_pre.open): # 当前天的实体部分与前一天的实体形成价格跳空 + if max(row_post.open, row_post.close) < min(row.close, row.open) or \ + (row_post.open - row_post.close)/row_post.open > 0.03: # 后一天向下跳空 或 跌幅>3% + dates_down.append(str(row.date)) + #倒锤子线 + if len(pct_changes[pct_changes < 0]) >= 3: # 必须近期总体趋势是向下的 + if max(row.open, row.close) < min(row_pre.close, row_pre.open): # 当前天的实体部分与前一天的实体形成价格跳空 + if min(row_post.open, row_post.close) > max(row.close, row.open) or \ + (row_post.close - row_post.open)/row_post.open > 0.03: # 后一天向上跳空 或 涨幅>3% + dates_up.append(str(row.date)) + + + code_dict = {} + code_dict[code] = {'up': dates_up, 'down':dates_down} + #print code_dict + return code_dict + +# 辅助函数 +def _judge_trend(df_code): + """ + 判断收盘价趋势 + :param df_code: + :return: 1:上升; -1:下降; 0:震荡 + """ + pct_changes = df_code.close.pct_change() + + if len(pct_changes[pct_changes > 0]) == 0: # 下降趋势 + return -1 + elif len(pct_changes[pct_changes < 0]) == 0: # 上升趋势 + return 1 + else: + return 0 + +def run(): + codes = list(get_all_stock_codes()) + codes.reverse() + codes = ['000725'] + result_list = [] + for code in tqdm(codes): + df = get_stock_k_line(code, date_start='2016-01-01') + + code_dict = line_hammer_and_hang(code, df) + result_list.append(code_dict) + + code_dict = shape_dark_cloud_cover_top(code, df) + result_list.append(code_dict) + + code_dict = shape_devour(code, df) + result_list.append(code_dict) + + code_dict = shape_morning_and_evening_star(code, df) + result_list.append(code_dict) + + code_dict = shape_meteor_and_invertedhammer_star(code, df) + result_list.append(code_dict) + + + + for result in result_list: + for code, d in result.items(): + if d['up']: + print code, " up:", d['up'] + + for result in result_list: + for code, d in result.items(): + if d['down']: + print code, " down:", d['down'] + + print 'end' +if __name__ == "__main__": + run() + diff --git a/trade_process/live_trade.py b/trade_process/live_trade.py index c4626b3..1f22bfe 100644 --- a/trade_process/live_trade.py +++ b/trade_process/live_trade.py @@ -1,152 +1,144 @@ -#!/usr/local/bin/python3 -#coding=utf-8 - -import sys -import platform -from apscheduler.schedulers.blocking import BlockingScheduler -import logging -logging.basicConfig() - -if platform.system() == 'Windows': - sys.path.append('../') -else: - sys.path.append('/Users/cbb/Documents/pythonspace/stock-master/') - -import ctypes -from ConfigParser import ConfigParser - -import data_process.online_data as OnlineData -from trade_process.strategy.macd_live_test import MAStrategy -from util.stockutil import fn_timer as fn_timer_ -from data_process.data_get import * -from data_process.Stock import Stock -import util.stockutil as util -from util.codeConvert import GetNowTime -from util.send_mail import send_email_163 -from init import * -from strategy.stop_loss import stop_loss_by_price - - - - - -#stock_list =['600893'] - - - - -def main(): - - #获取实时股价 - try: - stockList = OnlineData.getAllChinaStock() - except Exception, e: - errorLogger.logger.error(encode_wrap('获取实时估价失败! ') + str(e)) - return - - #止盈止损判断 - judgements = stop_loss_by_price() - if judgements: - for judgement in judgements: - infoLogger.logger.info(encode_wrap('卖出:{}'.format(judgement[0]))) - - - cf = ConfigParser() - cf.read(config_file_path) - threshold_buy = cf.get('trade_threshold', 'Threshold_Buy_Count') - threshold_sale = cf.get('trade_threshold', 'Threshold_Sale_Count') - infoLogger.logger.info(encode_wrap('阈值: Buy(%s) ,Sale(%s)' %(threshold_buy, threshold_sale))) - - # 监听股票列表 - stock_list = ['600000','600048', '600011', '002600', '002505', '000725', '000783', '300315', '002167', '601001',\ - '600893', '000020', '600111'] - - print '>>>>>Calcute ...' - stock_buy_list, stock_sale_list = live_mult_stock(stockList) - if len(stock_buy_list) == 0 and len([stock for stock in stock_sale_list if stock.code in stock_list]) == 0: - infoLogger.logger.info(encode_wrap('没有合适的买卖机会,请耐心等待')) - return - - str_all = '{}\n\n\n买入\n'.format(GetNowTime()) - - infoLogger.logger.info(encode_wrap('{}\n\n买入'.format(GetNowTime()))) - for stock in stock_buy_list: - infoLogger.logger.info('Buy now! ' + stock.str_print()) - str_all = str_all + stock.str_print() + '\n' - - #print encode_wrap('\n卖出:')f - print '\n' - infoLogger.logger.info(encode_wrap('卖出')) - str_all = '\n\n\n' + str_all + '卖出\n' - for stock in stock_sale_list: - # if stock.code in stock_list: - infoLogger.logger.info('Sale now! ' + stock.str_print()) - #print '>' * 3, 'Sale now!', encode_wrap(stock.name), stock.code, stock.current, (float(stock.current)-float(stock.close))/float(stock.close)*100, '%' - str_all = str_all + stock.str_print() + '\n' - - send_email_163(subject='MA Strategy Results', content=str_all) - - -@fn_timer_ -def live_mult_stock(stockClassList): -# pool = ThreadPool(processes=4) -# pool.map(live_single_stock, stockClassList) -# pool.close() -# pool.join() - - stock_buy_list = [] - stock_sale_list = [] - for stock in stockClassList: - try: - live_single_stock(stock) - if stock.signal > 0: - stock_buy_list.append(stock) - elif stock.signal < 0: - stock_sale_list.append(stock) - except Exception, e: - errorLogger.logger.error((str(e))) - return stock_buy_list, stock_sale_list - -def live_single_stock(stock): - try: - # 多线程提醒实时买卖 - if float(stock.current) == 0.0: - #print '>>>', stock.name,'>>>停牌!', stock.close, stock.time - return 0, '' - - #取最近三个月的收盘价 - d_90_day = datetime.date.today() + datetime.timedelta(days=-90) - date_90_day = d_90_day.strftime("%Y-%m-%y") - df = get_stock_k_line(stock.code, date_start=date_90_day) - if len(df) < AVR_LONG: - return Stock() - - cf = ConfigParser() - cf.read(config_file_path) - threshold_buy = cf.get('trade_threshold', 'Threshold_Buy_Count') - threshold_sale = cf.get('trade_threshold', 'Threshold_Sale_Count') - - maStrategy = MAStrategy(code=stock.code, trade= stock.current, df_close=df) - signal = maStrategy.select_Time_Mix(int(threshold_buy), int(threshold_sale)) - # if signal > 0: - # print '>' * 5, 'Buy now!', stock.name, stock.current, (float(stock.current)-float(stock.close))/float(stock.close)*100, '%' - - stock.signal = signal - return stock - - except Exception as e: - print encode_wrap(stock.name), str(e) - stock = Stock() - return stock - - - - -if __name__ == "__main__": - print ">>live trade begin" - main() - - sched = BlockingScheduler() - sched.add_job(main, 'cron', day_of_week='0-4', hour='9-12,13-15', minute='*/5') - - print ">>live trade end" +#!/usr/local/bin/python3 +#coding=utf-8 + +import sys +import platform +from apscheduler.schedulers.blocking import BlockingScheduler +import logging +logging.basicConfig() +# import errorLogger +if platform.system() == 'Windows': + sys.path.append('../') +else: + sys.path.append('/Users/cbb/Documents/pythonspace/stock-master/') + +import ctypes +from ConfigParser import ConfigParser + +import data_process.online_data as OnlineData +from trade_process.strategy.macd_live_test import MAStrategy +from util.stockutil import fn_timer as fn_timer_ +from data_process.data_get import * +from data_process.Stock import Stock +import util.stockutil as util +from util.codeConvert import GetNowTime +from util.send_mail import send_email_163 +from init import * +from strategy.stop_loss import stop_loss_by_price + +#stock_list =['600893'] +def main(): + + #获取实时股价 + try: + stockList = OnlineData.getAllChinaStock() + except Exception, e: + errorLogger.logger.error(encode_wrap('获取实时估价失败! ') + str(e)) + return + + #止盈止损判断 + judgements = stop_loss_by_price() + if judgements: + for judgement in judgements: + infoLogger.logger.info(encode_wrap('卖出:{}'.format(judgement[0]))) + + + cf = ConfigParser() + cf.read(config_file_path) + threshold_buy = cf.get('trade_threshold', 'Threshold_Buy_Count') + threshold_sale = cf.get('trade_threshold', 'Threshold_Sale_Count') + infoLogger.logger.info(encode_wrap('阈值: Buy(%s) ,Sale(%s)' %(threshold_buy, threshold_sale))) + + # 监听股票列表 + stock_list = ['600000','600048', '600011', '002600', '002505', '000725', '000783', '300315', '002167', '601001',\ + '600893', '000020', '600111'] + + print '>>>>>Calcute ...' + stock_buy_list, stock_sale_list = live_mult_stock(stockList) + if len(stock_buy_list) == 0 and len([stock for stock in stock_sale_list if stock.code in stock_list]) == 0: + infoLogger.logger.info(encode_wrap('没有合适的买卖机会,请耐心等待')) + return + + str_all = '{}\n\n\n买入\n'.format(GetNowTime()) + + infoLogger.logger.info(encode_wrap('{}\n\n买入'.format(GetNowTime()))) + for stock in stock_buy_list: + infoLogger.logger.info('Buy now! ' + stock.str_print()) + str_all = str_all + stock.str_print() + '\n' + + #print encode_wrap('\n卖出:')f + print '\n' + infoLogger.logger.info(encode_wrap('卖出')) + str_all = '\n\n\n' + str_all + '卖出\n' + for stock in stock_sale_list: + # if stock.code in stock_list: + infoLogger.logger.info('Sale now! ' + stock.str_print()) + #print '>' * 3, 'Sale now!', encode_wrap(stock.name), stock.code, stock.current, (float(stock.current)-float(stock.close))/float(stock.close)*100, '%' + str_all = str_all + stock.str_print() + '\n' + + send_email_163(subject='MA Strategy Results', content=str_all) + + +@fn_timer_ +def live_mult_stock(stockClassList): +# pool = ThreadPool(processes=4) +# pool.map(live_single_stock, stockClassList) +# pool.close() +# pool.join() + + stock_buy_list = [] + stock_sale_list = [] + for stock in stockClassList: + try: + live_single_stock(stock) + if stock.signal > 0: + stock_buy_list.append(stock) + elif stock.signal < 0: + stock_sale_list.append(stock) + except Exception, e: + errorLogger.logger.error((str(e))) + return stock_buy_list, stock_sale_list + +def live_single_stock(stock): + try: + # 多线程提醒实时买卖 + if float(stock.current) == 0.0: + #print '>>>', stock.name,'>>>停牌!', stock.close, stock.time + return 0, '' + + #取最近三个月的收盘价 + d_90_day = datetime.date.today() + datetime.timedelta(days=-90) + date_90_day = d_90_day.strftime("%Y-%m-%y") + df = get_stock_k_line(stock.code, date_start=date_90_day) + if len(df) < AVR_LONG: + return Stock() + + cf = ConfigParser() + cf.read(config_file_path) + threshold_buy = cf.get('trade_threshold', 'Threshold_Buy_Count') + threshold_sale = cf.get('trade_threshold', 'Threshold_Sale_Count') + + maStrategy = MAStrategy(code=stock.code, trade= stock.current, df_close=df) + signal = maStrategy.select_Time_Mix(int(threshold_buy), int(threshold_sale)) + # if signal > 0: + # print '>' * 5, 'Buy now!', stock.name, stock.current, (float(stock.current)-float(stock.close))/float(stock.close)*100, '%' + + stock.signal = signal + return stock + + except Exception as e: + print encode_wrap(stock.name), str(e) + stock = Stock() + return stock + + + + +if __name__ == "__main__": + print ">>live trade begin" + main() + + sched = BlockingScheduler() + sched.add_job(main, 'cron', day_of_week='0-4', hour='9-12,13-15', minute='*/5') + + print ">>live trade end" diff --git a/trade_process/requirements.txt b/trade_process/requirements.txt new file mode 100644 index 0000000..c324d3f --- /dev/null +++ b/trade_process/requirements.txt @@ -0,0 +1,10 @@ +anyjson==0.3.3 +beautifulsoup4==4.6.0 +bs4==0.0.1 +request==0.0.13 +requests==2.14.2 +requests-file==1.4.2 +requests-ftp==0.3.13 +six==1.11.0 +win-unicode-console==0.5 +xlrd==0.9.3 diff --git a/trade_process/select_stock_center.py b/trade_process/select_stock_center.py index b019249..9f6ff48 100644 --- a/trade_process/select_stock_center.py +++ b/trade_process/select_stock_center.py @@ -1,75 +1,75 @@ -#!/usr/local/bin/python3 -#coding=utf-8 -#量化选股中心 - -from multiprocessing.dummy import Pool as ThreadPool - -from data_process.data_get import * -import trade_process.strategy.macd_live_test as MACD_LIVE_TEST -from util.stockutil import getSixDigitalStockCode - -stock_buy_list = [] -stock_sale_list = [] - -def select_stock_from_all_stocks(): - print '>>>开始筛选所有A股' - try: - df = pd.read_csv(cm.DownloadDir + cm.TABLE_STOCKS_BASIC + '.csv') - code_all_list = df['code'].get_values(); - #过滤停牌的股票 - code_list = code_all_list - - pool = ThreadPool(processes=20) - pool.map(evaluation_stock, code_list) - pool.close() - pool.join() - - except Exception as e: - print str(e) - - print '>>>结束筛选所有A股' - - -def evaluation_stock(code): - # 以上一交易日的收盘价为判断点 - - try: - #print 'evaluation', getSixDigitalStockCode(code), 'begin' - date_end = datetime.date.today() + datetime.timedelta(-1) - df = get_stock_k_line(code) - if df is None: - return - else: - nearest_date = df.head(1)['date'] - #print nearest_date - if str(nearest_date.values[0]) != str(date_end): - return - if len(df.index) > 30: - - maStrategy = MACD_LIVE_TEST.MAStrategy(df=df) - signal = maStrategy.select_Time_Mix() - if signal > 0: - #print stock.name, stock.current, (float(stock.current)-float(stock.close))/float(stock.close)*100, '%' - print '>' * 5, 'Buy now!', getSixDigitalStockCode(code) - stock_buy_list.append(getSixDigitalStockCode(code)) - elif signal < 0: - #print stock.name, stock.current, (float(stock.current)-float(stock.close))/float(stock.close)*100, '%' - print '>' * 5, 'Sale now!', getSixDigitalStockCode(code) - stock_sale_list.append(getSixDigitalStockCode(code)) - except Exception as e: - print str(e) - -if __name__ == "__main__": - select_stock_from_all_stocks() - #evaluation_stock('000001') - - - print '买入:' - for code in stock_buy_list: - stockInfo = get_stock_info(code) - print 'Buy:', code, stockInfo['name'] - - print '\n卖出:' - for code in stock_sale_list: - stockInfo = get_stock_info(code) +#!/usr/local/bin/python3 +#coding=utf-8 +#量化选股中心 + +from multiprocessing.dummy import Pool as ThreadPool + +from data_process.data_get import * +import trade_process.strategy.macd_live_test as MACD_LIVE_TEST +from util.stockutil import getSixDigitalStockCode + +stock_buy_list = [] +stock_sale_list = [] + +def select_stock_from_all_stocks(): + print '>>>开始筛选所有A股' + try: + df = pd.read_csv(cm.DownloadDir + cm.TABLE_STOCKS_BASIC + '.csv') + code_all_list = df['code'].get_values(); + #过滤停牌的股票 + code_list = code_all_list + + pool = ThreadPool(processes=20) + pool.map(evaluation_stock, code_list) + pool.close() + pool.join() + + except Exception as e: + print str(e) + + print '>>>结束筛选所有A股' + + +def evaluation_stock(code): + # 以上一交易日的收盘价为判断点 + + try: + #print 'evaluation', getSixDigitalStockCode(code), 'begin' + date_end = datetime.date.today() + datetime.timedelta(-1) + df = get_stock_k_line(code) + if df is None: + return + else: + nearest_date = df.head(1)['date'] + #print nearest_date + if str(nearest_date.values[0]) != str(date_end): + return + if len(df.index) > 30: + + maStrategy = MACD_LIVE_TEST.MAStrategy(df=df) + signal = maStrategy.select_Time_Mix() + if signal > 0: + #print stock.name, stock.current, (float(stock.current)-float(stock.close))/float(stock.close)*100, '%' + print '>' * 5, 'Buy now!', getSixDigitalStockCode(code) + stock_buy_list.append(getSixDigitalStockCode(code)) + elif signal < 0: + #print stock.name, stock.current, (float(stock.current)-float(stock.close))/float(stock.close)*100, '%' + print '>' * 5, 'Sale now!', getSixDigitalStockCode(code) + stock_sale_list.append(getSixDigitalStockCode(code)) + except Exception as e: + print str(e) + +if __name__ == "__main__": + select_stock_from_all_stocks() + #evaluation_stock('000001') + + + print '买入:' + for code in stock_buy_list: + stockInfo = get_stock_info(code) + print 'Buy:', code, stockInfo['name'] + + print '\n卖出:' + for code in stock_sale_list: + stockInfo = get_stock_info(code) print 'Sale:', code, stockInfo['name'] \ No newline at end of file diff --git a/trade_process/strategy/__init__.py b/trade_process/strategy/__init__.py index 65d9a01..699f4ff 100644 --- a/trade_process/strategy/__init__.py +++ b/trade_process/strategy/__init__.py @@ -1,4 +1,4 @@ -from trade_process.strategy.macd_back_test import * -from trade_process.strategy.macd_live_test import * -from trade_process.strategy.strategy_macd import * - +from trade_process.strategy.macd_back_test import * +from trade_process.strategy.macd_live_test import * +from trade_process.strategy.strategy_macd import * + diff --git a/trade_process/strategy/__init__.pyc b/trade_process/strategy/__init__.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b3adedf5807b0458a512105670244ff8e1b7a63e GIT binary patch literal 323 zcmZSn%*(axc3f040~9a;X$K%KRss?!K*Y$9!@v*%Wii58Oh6VBL$C%jP+8`GAkbh0 zvPwXNmLFKOL=_}Zl$eqlUr>~voLXG0R}AEqq^4KuuMEaVC)$ZlUACSVhAQPO2Tqm&GhVf{T%h5dbnWT4MkJ literal 0 HcmV?d00001 diff --git a/trade_process/strategy/macd_back_test.py b/trade_process/strategy/macd_back_test.py index 2be2045..48b4367 100644 --- a/trade_process/strategy/macd_back_test.py +++ b/trade_process/strategy/macd_back_test.py @@ -1,609 +1,646 @@ -#!/usr/local/bin/python -#coding=utf-8 - -#回测均线策略 - -import pandas as pd -import matplotlib.pyplot as plt -import os -import numpy as np - -AVR_SHORT = 12 -AVR_LONG = 40 - -SIGNAL_BUY = 1 #买 -SIGNAL_SALE = -1 #卖 -SIGNAL_DEFAULT = 0 - - -# 导入csv股票数据,写5日、20日、60日移动平均线 -def processEMA(stockCsvPath, stockCsvNewPath): - #导入数据,stockCsvPath为在电脑中的路径 - stock_data = pd.read_csv(stockCsvPath) - - # 将数据按照交易日期从远到近排序 - stock_data.sort('Date', inplace=True) - - #=====================计算移动平均线 - - # 分别计算5日、20日、60日移动平均线 - ma_list = [5, 20, 60] - - # 计算简单算术移动平均线MA - 注意:stock_data['close']为股票每条的收盘价 - for ma in ma_list: - stock_data['MA_' + str(ma)] = pd.rolling_mean(stock_data['Adj Close'], ma) - - # 计算指数平滑移动平均线EMA - for ma in ma_list: - stock_data['EMA_' + str(ma)] = pd.ewma(stock_data['Adj Close'], span=ma) - - # 将数据按照交易日期从近到远排序 - stock_data.sort('Date', ascending=False, inplace=True) - - stock_data['DIF'] = stock_data['EMA_'+str(ma_list[0])] - stock_data['EMA_'+str(ma_list[-1])] - stock_data['DEA_' + str(10)] = pd.ewma(stock_data['DIF'], span=10) - - # =================================== 将算好的数据输出到csv文件,这里请填写输出文件在您电脑的路径 - stock_data.to_csv(stockCsvNewPath, index=False) - -# 自适应均线 -def self_adaptive_ma(stock_data): - # 将数据按照交易日期从远到近排序 - stock_data.sort('Date', inplace=True) - - close_price = stock_data['Adj Close'].get_values() - high_price = stock_data['High'].get_values() - low_price = stock_data['Low'].get_values() - longDay = 100 - - print len(close_price) - if len(close_price) < 100: - return - - print close_price[-10:-1] - direction = abs(close_price[-1] - close_price[-10]) - volatility = sum(abs(close_price[i+1]-close_price[i]) for i in range(-9,0)) - ER = abs(direction/volatility) - fastSC = 2.0/(2.0+1) - slowSC = 2.0/(30.0+1) - sSC = ER * (fastSC-slowSC) + slowSC - constaint = sSC*sSC - - #EMA 100 - ema_close_100 = pd.ewma(close_price, span=longDay) - ema_high_100 = pd.ewma(high_price, span=longDay) - ema_low_100 = pd.ewma(low_price, span=longDay) - - amaClose = ema_close_100[-1] + constaint * (close_price[-1] - ema_close_100[-1]) - amaHigh = ema_high_100[-1] + constaint * (high_price[-1] - ema_high_100[-1]) - amaLow = ema_low_100[-1] + constaint * (low_price[-1] - ema_low_100[-1]) - print ema_close_100[-1], ema_high_100[-1], ema_low_100[-1] - - BKPRICE = 0.0 - SKPRICE = float('Inf') - status = SIGNAL_DEFAULT - print high_price[-1], low_price[-1], close_price[-1] - if low_price[-1] > amaHigh: - status = SIGNAL_BUY - elif close_price[-1] < amaClose or close_price[-1] <= 0.995 * BKPRICE: - status = SIGNAL_BUY - elif high_price[-1] < amaLow: - status = SIGNAL_SALE - elif close_price[-1] > amaClose or close_price[-1] >= 1.005 * SKPRICE: - status = SIGNAL_SALE - - return status - - -# MA指标择时 (回测) -def select_Time_MA(stock_data, stockName): - - start_money = 100000000 - now_count = 0 - now_money = start_money - - # 将数据按照交易日期从远到近排序 - stock_data.sort('Date', inplace=True) - - close_price = stock_data['Adj Close'].get_values() - - #EMA - ma_list = [AVR_SHORT, AVR_LONG] - ema_close_short = pd.ewma(close_price, span=ma_list[0]) - ema_close_long = pd.ewma(close_price, span=ma_list[1]) - - signals = [0]*(ma_list[1]+1) - tradeTimes = 0 - bBuySignal = True - for t in range(ma_list[1]+1, len(close_price)): - - signal = SIGNAL_DEFAULT - - if ema_close_short[t] > ema_close_short[t-1] and ema_close_short[t] > ema_close_long[t] \ - and ema_close_short[t-1] < ema_close_long[t-1]: - if bBuySignal: - signal = SIGNAL_BUY - now_count = (int)(start_money / close_price[t] /100)*100 - now_money = start_money - now_count * close_price[t] - #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money - bBuySignal = False - elif ema_close_long[t] < ema_close_long[t-1] and ema_close_short[t] < ema_close_long[t] \ - and ema_close_short[t-1] > ema_close_long[t-1]: - if bBuySignal == False: - signal = SIGNAL_SALE - now_money += now_count * close_price[t] - now_count = 0 - #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money - bBuySignal = True - signals.append(signal) - if signal != 0: - #print 't:', t, ' signal:', signal - tradeTimes += 1 - - - print stockName, u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ - u"交易次数", tradeTimes, u" 最新市值:", now_money+now_count * close_price[-1] - stock_data['SIGNAL_MA'] = signals - -# fig = plt.figure(facecolor='white') -# left, width = 0.1, 0.8 -# rect1 = [left, 0.5, width, 0.4] -# rect2 = [left, 0.1, width, 0.3] -# -# axescolor = '#f6f6f6' # the axes background color -# ax1 = fig.add_axes(rect1, axisbg=axescolor) #left, bottom, width, height -# ax2 = fig.add_axes(rect2, axisbg=axescolor, sharex=ax1) -# -# ax1.plot(range(len(close_price)), close_price, color="black", linewidth=1) -# ax1.grid() -# ax2.plot(range(len(ema_close_long)), ema_close_long,label='', color="red", linewidth=1) -# ax2.plot(range(len(ema_close_short)), ema_close_short,label='', color="blue", linewidth=1) -# ax2.grid() - #plt.show() - - # 将数据按照交易日期从近到远排序 - #stock_data.sort('date', ascending=False, inplace=True) - -# MACD指标择时 (回测) -def select_Time_MACD(stock_data, stockName): - - start_money = 100000000 - now_count = 0 - now_money = start_money - - # 将数据按照交易日期从远到近排序 - stock_data.sort('Date', inplace=True) - - close_price = stock_data['Adj Close'].get_values() - - #EMA - ma_list = [AVR_SHORT, AVR_LONG] - ma_dea = 10 - ema_close_short = pd.ewma(close_price, span=ma_list[0]) - ema_close_long = pd.ewma(close_price, span=ma_list[1]) - - - dif_price = ema_close_short - ema_close_long - dea_price = pd.ewma(dif_price, span=ma_dea) - macd_price = 2 * (dif_price - dea_price) - - signals = [0]*(ma_list[1]+1) - tradeTimes = 0 - bBuySignal = True - for t in range(ma_list[1]+1, len(close_price)): - - signal = SIGNAL_DEFAULT - - if dif_price[t] > dif_price[t-1] and dif_price[t] > dea_price[t] \ - and dif_price[t-1] < dea_price[t-1] and dea_price[t] > 0: - if bBuySignal: - signal = SIGNAL_BUY - now_count = (int)(now_money / close_price[t] /100)*100 - now_money = start_money - now_count * close_price[t] - #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money - bBuySignal = False - elif dif_price[t] < dif_price[t-1] and dif_price[t] < dea_price[t] \ - and dif_price[t-1] > dea_price[t-1] and dif_price[t] < 0: - if bBuySignal == False: - signal = SIGNAL_SALE - now_money += now_count * close_price[t] - now_count = 0 - #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money - bBuySignal = True - signals.append(signal) - if signal != 0: - #print 't:', t, ' signal:', signal - tradeTimes += 1 - - - - print stockName, u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ - u"交易次数", tradeTimes, u" 最新市值:", now_money+now_count * close_price[-1] - stock_data['SIGNAL_MACD'] = signals - -# fig = plt.figure(facecolor='white') -# left, width = 0.1, 0.8 -# rect1 = [left, 0.5, width, 0.4] -# rect2 = [left, 0.1, width, 0.3] -# -# axescolor = '#f6f6f6' # the axes background color -# ax1 = fig.add_axes(rect1, axisbg=axescolor) #left, bottom, width, height -# ax2 = fig.add_axes(rect2, axisbg=axescolor, sharex=ax1) -# -# ax1.plot(range(len(close_price)), close_price, color="black", linewidth=1) -# ax1.grid() -# ax2.plot(range(len(dif_price)), ema_close_long,label='', color="red", linewidth=1) -# ax2.plot(range(len(dea_price)), ema_close_short,label='', color="blue", linewidth=1) -# ax2.grid() - #plt.show() - - # 将数据按照交易日期从近到远排序 - #stock_data.sort('date', ascending=False, inplace=True) - - return dif_price, dea_price, macd_price - -# DMA指标择时 (回测) -def select_Time_DMA(stock_data, stockName): - - start_money = 100000000 - now_count = 0 - now_money = start_money - - # 将数据按照交易日期从远到近排序 - stock_data.sort('Date', inplace=True) - - close_price = stock_data['Adj Close'].get_values() - - #MA - ma_list = [AVR_SHORT, AVR_LONG] - ma_dea = 10 - ma_close_short = pd.rolling_mean(close_price, ma_list[0]) - ma_close_long = pd.rolling_mean(close_price, ma_list[1]) - - - dma_price = ma_close_short - ma_close_long - ama_price = pd.rolling_mean(dma_price, ma_dea) - - signals = [0]*(ma_list[1]+1) - tradeTimes = 0 - bBuySignal = True - for t in range(ma_list[1]+1, len(close_price)): - - signal = SIGNAL_DEFAULT - - if dma_price[t] > dma_price[t-1] and dma_price[t] > ama_price[t] \ - and dma_price[t-1] < ama_price[t-1]: - if bBuySignal: - signal = SIGNAL_BUY - now_count = (int)(now_money / close_price[t] /100)*100 - now_money = start_money - now_count * close_price[t] - #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money - bBuySignal = False - elif dma_price[t] < dma_price[t-1] and dma_price[t] < ama_price[t] \ - and dma_price[t-1] > ama_price[t-1]: - if bBuySignal == False: - signal = SIGNAL_SALE - now_money += now_count * close_price[t] - now_count = 0 - #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money - bBuySignal = True - signals.append(signal) - if signal != 0: - #print 't:', t, ' signal:', signal - tradeTimes += 1 - - - - print stockName, u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ - u"交易次数", tradeTimes, u" 最新市值:", now_money+now_count * close_price[-1] - stock_data['SIGNAL_DMA'] = signals - -# fig = plt.figure(facecolor='white') -# left, width = 0.1, 0.8 -# rect1 = [left, 0.5, width, 0.4] -# rect2 = [left, 0.1, width, 0.3] -# -# axescolor = '#f6f6f6' # the axes background color -# ax1 = fig.add_axes(rect1, axisbg=axescolor) #left, bottom, width, height -# ax2 = fig.add_axes(rect2, axisbg=axescolor, sharex=ax1) -# -# ax1.plot(range(len(close_price)), close_price, color="black", linewidth=1) -# ax1.grid() -# ax2.plot(range(len(dma_price)), dma_price,label='', color="red", linewidth=1) -# ax2.plot(range(len(ama_price)), ama_price,label='', color="blue", linewidth=1) -# ax2.grid() - #plt.show() - - # 将数据按照交易日期从近到远排序 - #stock_data.sort('date', ascending=False, inplace=True) - -# DMA指标择时 (回测) -def select_Time_TRIX(stock_data, stockName): - - start_money = 100000000 - now_count = 0 - now_money = start_money - - # 将数据按照交易日期从远到近排序 - stock_data.sort('Date', inplace=True) - - close_price = stock_data['Adj Close'].get_values() - - #EMA - ma_list = [AVR_SHORT, AVR_SHORT] #N,M - - ema_close = pd.ewma(close_price, span=ma_list[0]) - ema_close = pd.ewma(ema_close, span=ma_list[0]) - tr_close = pd.ewma(ema_close, span=ma_list[0]) - - trixsList = [0] - for i in range(1, len(tr_close)): - #print tr_close[i], tr_close[i-1] - trix = (tr_close[i]-tr_close[i-1])/tr_close[i-1]*100 - trixsList.append(trix) - trixs = np.array(trixsList) - maxtrix = pd.rolling_mean(trixs, ma_list[1]) - - - signals = [0]*(ma_list[1]+1) - tradeTimes = 0 - bBuySignal = True - for t in range(ma_list[1]+1, len(close_price)): - - signal = SIGNAL_DEFAULT - - if trixs[t] > trixs[t-1] and trixs[t] > maxtrix[t] \ - and trixs[t-1] < maxtrix[t-1]: - if bBuySignal: - signal = SIGNAL_BUY - now_count = (int)(now_money / close_price[t] /100)*100 - now_money = start_money - now_count * close_price[t] - #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money - bBuySignal = False - elif trixs[t] < trixs[t-1] and trixs[t] < maxtrix[t] \ - and trixs[t-1] > maxtrix[t-1]: - if bBuySignal == False: - signal = SIGNAL_SALE - now_money += now_count * close_price[t] - now_count = 0 - #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money - bBuySignal = True - signals.append(signal) - if signal != 0: - #print 't:', t, ' signal:', signal - tradeTimes += 1 - - - - print stockName, u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ - u"交易次数", tradeTimes, u" 最新市值:", now_money+now_count * close_price[-1] - stock_data['SIGNAL_TRIX'] = signals - - -# 组合择时指标 (回测) -def select_Time_Mix(stock_data, stockName): - - start_money = 100000000 - now_count = 0 - now_money = start_money - - # 综合策略 - signals = [] - tradeTimes = 0 - bBuySignal = True - - close_price = stock_data['Adj Close'].get_values() - s_ma = stock_data['SIGNAL_MA'].get_values() - s_macd = stock_data['SIGNAL_MACD'].get_values() - s_dma = stock_data['SIGNAL_DMA'].get_values() - s_trix = stock_data['SIGNAL_TRIX'].get_values() - - for i in range(len(s_ma)): - - signal = SIGNAL_DEFAULT - - up = 0; - down = 0; - if s_ma[i] == 1: - up += 1 - elif s_ma[i] == -1: - down += 1 - - if s_macd[i] == 1: - up += 1 - elif s_macd[i] == -1: - down += 1 - - if s_dma[i] == 1: - up += 1 - elif s_dma[i] == -1: - down += 1 - - if s_trix[i] == 1: - up += 1 - elif s_trix[i] == -1: - down += 1 - - - if up >= 3: - if bBuySignal: - signal = SIGNAL_BUY - now_count = (int)(now_money / close_price[i] /100)*100 - now_money = start_money - now_count * close_price[i] - #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money - bBuySignal = False - elif down <= -3: - if bBuySignal == False: - signal = SIGNAL_SALE - now_money += now_count * close_price[i] - now_count = 0 - #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money - bBuySignal = True - - signals.append(signal) - if signal != 0: - #print 't:', t, ' signal:', signal - tradeTimes += 1 - - print stockName, u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ - u"交易次数", tradeTimes, u" 最新市值:", now_money+now_count * close_price[-1] - stock_data['SIGNAL_MIX'] = signals - -# AMA指标择时 -def select_Time_AMA(stock_data, stockName): - - percentage = 0.1 - - start_money = 100000000 - now_count = 0 - now_money = 0 - one_hand = 10000 - - # 将数据按照交易日期从远到近排序 - stock_data.sort('Date', inplace=True) - - close_price = stock_data['Adj Close'].get_values() - - # 指数平滑序列 - containts = [0]*10 - for i in range(10, len(close_price)): - sub_price = close_price[i-10:i] - constaint = getConstaint(sub_price) - containts.append(constaint); - - ama_price = [close_price[0]] - for i in range(1, len(close_price)): - ama = containts[i-1] * close_price[i-1] + (1-containts[i-1])*ama_price[i-1] - ama_price.append(ama) - - signals = [0]*21 - tradeTimes = 0 - - record_buy = 0 - record_sale = [] - - # 从20天以后开始判断买卖点 - for i in range(21, len(ama_price)): - - signal = SIGNAL_DEFAULT - - #print np.array(ama_price[i-19:i+1]) - np.array(ama_price[i-20:i]) - threshold = percentage * np.std(np.array(ama_price[i-19:i+1]) - np.array(ama_price[i-20:i])) # 过滤器 - - if ama_price[i] - np.min(ama_price[i-5:i]) > threshold: - signal = SIGNAL_BUY - now_count += one_hand - record_buy += one_hand * close_price[i] - #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money - elif np.max(ama_price[i-5:i]) - ama_price[i] > threshold: - signal = SIGNAL_SALE - if now_count > one_hand: - now_count -= one_hand - record_sale = one_hand * close_price[i] - #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money - signals.append(signal) - if signal != 0: - #print 't:', t, ' signal:', signal - tradeTimes += 1 - - # 成本 - print u'盈利', record_sale + now_count * close_price[-1] - record_buy - -# print stockName, u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ -# u"交易次数", tradeTimes, u" 最新市值:", now_money+now_count * close_price[-1] - stock_data['SIGNAL_AMA'] = signals - - return ama_price - -# 获取平方平滑系数 -def getConstaint(prices): - direction = abs(prices[-1] - prices[0]) - volatility = sum(abs(prices[i+1]-prices[i]) for i in range(len(prices)-1)) - ER = abs(direction/volatility) - fastSC = 2.0/(2.0+1) - slowSC = 2.0/(30.0+1) - sSC = ER * (fastSC-slowSC) + slowSC - constaint = sSC*sSC - return constaint - -# 选择一种均线策略 -def getMAStrategy(stockCsvPath, stockName, strategyName='MACD'): - if os.path.exists(stockCsvPath) == False: - return - stock_data = pd.read_csv(stockCsvPath) - if strategyName == 'MACD': - return select_Time_MACD(stock_data, stockName) - elif strategyName == 'MA': - return select_Time_MA(stock_data, stockName) - elif strategyName == 'DMA': - return select_Time_DMA(stock_data, stockName) - elif strategyName == 'TRIX': - return select_Time_TRIX(stock_data, stockName) - elif strategyName == 'AMA': - return select_Time_AMA(stock_data, stockName) - -# 执行策略 -def run(stockCsvPath, stockName): - if os.path.exists(stockCsvPath) == False: - return - #stockCsvNewPath = stockName + '_macd.csv' - #processEMA(stockCsvPath, stockCsvNewPath) - stock_data = pd.read_csv(stockCsvPath) - #self_adaptive_ma(stock_data) - - print u'>>>>>>>>>>>>> MA 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' - select_Time_MA(stock_data, stockName) - - print u'>>>>>>>>>>>>> MACD 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' - select_Time_MACD(stock_data, stockName) - - print u'>>>>>>>>>>>>> DMA 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' - select_Time_DMA(stock_data, stockName) - - print u'>>>>>>>>>>>>> TRIX 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' - select_Time_TRIX(stock_data, stockName) - - print u'>>>>>>>>>>>>> 组合策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' - select_Time_Mix(stock_data, stockName) - - print u'>>>>>>>>>>>>> AMA策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' - select_Time_AMA(stock_data, stockName) - - print '\n' - -if __name__ == "__main__": - print "main begin" - stockList=['000725','000783','002167','002505','002600','300315','600000','600011','600048','601001'] - #stockList = ['000725'] - for stockName in stockList: -# if stockName != '002600': -# continue - stockCsvPath = os.path.pardir +"\\stockdata\\" + stockName + '.csv' - #stockCsvPath = stockName + '.csv' - if os.path.exists(stockCsvPath) == False: - continue - #stockCsvNewPath = stockName + '_macd.csv' - #processEMA(stockCsvPath, stockCsvNewPath) - stock_data = pd.read_csv(stockCsvPath) - #self_adaptive_ma(stock_data) - - print u'>>>>>>>>>>>>> MA 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' - select_Time_MA(stock_data, stockName) - - print u'>>>>>>>>>>>>> MACD 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' - select_Time_MACD(stock_data, stockName) - - print u'>>>>>>>>>>>>> DMA 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' - select_Time_DMA(stock_data, stockName) - - print u'>>>>>>>>>>>>> TRIX 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' - select_Time_TRIX(stock_data, stockName) - - print u'>>>>>>>>>>>>> 组合策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' - select_Time_Mix(stock_data, stockName) - - print u'>>>>>>>>>>>>> AMA策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' - select_Time_AMA(stock_data, stockName) - - print '\n' +#!/usr/local/bin/python +#coding=utf-8 + +#回测均线策略 + +import pandas as pd +import matplotlib.pyplot as plt +import os +import numpy as np +from data_process.download_stock import downloadAllHistoryAShareData + +AVR_SHORT = 12 +AVR_LONG = 40 + +SIGNAL_BUY = 1 #买 +SIGNAL_SALE = -1 #卖 +SIGNAL_DEFAULT = 0 + + +# 导入csv股票数据,写5日、20日、60日移动平均线 +def processEMA(stockCsvPath, stockCsvNewPath): + #导入数据,stockCsvPath为在电脑中的路径 + stock_data = pd.read_csv(stockCsvPath) + + # 将数据按照交易日期从远到近排序 + stock_data.sort('Date', inplace=True) + + #=====================计算移动平均线 + + # 分别计算5日、20日、60日移动平均线 + ma_list = [5, 20, 60] + + # 计算简单算术移动平均线MA - 注意:stock_data['close']为股票每条的收盘价 + for ma in ma_list: + stock_data['MA_' + str(ma)] = pd.rolling_mean(stock_data['Adj Close'], ma) + + # 计算指数平滑移动平均线EMA + for ma in ma_list: + stock_data['EMA_' + str(ma)] = pd.ewma(stock_data['Adj Close'], span=ma) + + # 将数据按照交易日期从近到远排序 + stock_data.sort('Date', ascending=False, inplace=True) + + stock_data['DIF'] = stock_data['EMA_'+str(ma_list[0])] - stock_data['EMA_'+str(ma_list[-1])] + stock_data['DEA_' + str(10)] = pd.ewma(stock_data['DIF'], span=10) + + # =================================== 将算好的数据输出到csv文件,这里请填写输出文件在您电脑的路径 + stock_data.to_csv(stockCsvNewPath, index=False) + +# 自适应均线 +def self_adaptive_ma(stock_data): + # 将数据按照交易日期从远到近排序 + stock_data.sort('Date', inplace=True) + + close_price = stock_data['Adj Close'].get_values() + high_price = stock_data['High'].get_values() + low_price = stock_data['Low'].get_values() + longDay = 100 + + print len(close_price) + if len(close_price) < 100: + return + + print close_price[-10:-1] + direction = abs(close_price[-1] - close_price[-10]) + volatility = sum(abs(close_price[i+1]-close_price[i]) for i in range(-9,0)) + ER = abs(direction/volatility) + fastSC = 2.0/(2.0+1) + slowSC = 2.0/(30.0+1) + sSC = ER * (fastSC-slowSC) + slowSC + constaint = sSC*sSC + + #EMA 100 + ema_close_100 = pd.ewma(close_price, span=longDay) + ema_high_100 = pd.ewma(high_price, span=longDay) + ema_low_100 = pd.ewma(low_price, span=longDay) + + amaClose = ema_close_100[-1] + constaint * (close_price[-1] - ema_close_100[-1]) + amaHigh = ema_high_100[-1] + constaint * (high_price[-1] - ema_high_100[-1]) + amaLow = ema_low_100[-1] + constaint * (low_price[-1] - ema_low_100[-1]) + print ema_close_100[-1], ema_high_100[-1], ema_low_100[-1] + + BKPRICE = 0.0 + SKPRICE = float('Inf') + status = SIGNAL_DEFAULT + print high_price[-1], low_price[-1], close_price[-1] + if low_price[-1] > amaHigh: + status = SIGNAL_BUY + elif close_price[-1] < amaClose or close_price[-1] <= 0.995 * BKPRICE: + status = SIGNAL_BUY + elif high_price[-1] < amaLow: + status = SIGNAL_SALE + elif close_price[-1] > amaClose or close_price[-1] >= 1.005 * SKPRICE: + status = SIGNAL_SALE + + return status + + +# MA指标择时 (回测) +def select_Time_MA(stock_data, stockName): + + start_money = 100000000 + now_count = 0 + now_money = start_money + + # 将数据按照交易日期从远到近排序 + stock_data.sort('Date', inplace=True) + + close_price = stock_data['Adj Close'].get_values() + + #EMA + ma_list = [AVR_SHORT, AVR_LONG] + ema_close_short = pd.ewma(close_price, span=ma_list[0]) + ema_close_long = pd.ewma(close_price, span=ma_list[1]) + + signals = [0]*(ma_list[1]+1) + tradeTimes = 0 + bBuySignal = True + for t in range(ma_list[1]+1, len(close_price)): + + signal = SIGNAL_DEFAULT + + if ema_close_short[t] > ema_close_short[t-1] and ema_close_short[t] > ema_close_long[t] \ + and ema_close_short[t-1] < ema_close_long[t-1]: + if bBuySignal: + signal = SIGNAL_BUY + now_count = (int)(start_money / close_price[t] /100)*100 + now_money = start_money - now_count * close_price[t] + #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money + bBuySignal = False + elif ema_close_long[t] < ema_close_long[t-1] and ema_close_short[t] < ema_close_long[t] \ + and ema_close_short[t-1] > ema_close_long[t-1]: + if bBuySignal == False: + signal = SIGNAL_SALE + now_money += now_count * close_price[t] + now_count = 0 + #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money + bBuySignal = True + signals.append(signal) + if signal != 0: + #print 't:', t, ' signal:', signal + tradeTimes += 1 + + + print stockName, u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ + u"交易次数", tradeTimes, u" 最新市值:", now_money+now_count * close_price[-1] + stock_data['SIGNAL_MA'] = signals + +# fig = plt.figure(facecolor='white') +# left, width = 0.1, 0.8 +# rect1 = [left, 0.5, width, 0.4] +# rect2 = [left, 0.1, width, 0.3] +# +# axescolor = '#f6f6f6' # the axes background color +# ax1 = fig.add_axes(rect1, axisbg=axescolor) #left, bottom, width, height +# ax2 = fig.add_axes(rect2, axisbg=axescolor, sharex=ax1) +# +# ax1.plot(range(len(close_price)), close_price, color="black", linewidth=1) +# ax1.grid() +# ax2.plot(range(len(ema_close_long)), ema_close_long,label='', color="red", linewidth=1) +# ax2.plot(range(len(ema_close_short)), ema_close_short,label='', color="blue", linewidth=1) +# ax2.grid() + #plt.show() + + # 将数据按照交易日期从近到远排序 + #stock_data.sort('date', ascending=False, inplace=True) + +# MACD指标择时 (回测) +def select_Time_MACD(stock_data, stockName): + + start_money = 100000000 + now_count = 0 + now_money = start_money + + # 将数据按照交易日期从远到近排序 + stock_data.sort('Date', inplace=True) + + close_price = stock_data['Adj Close'].get_values() + + #EMA + ma_list = [AVR_SHORT, AVR_LONG] + ma_dea = 10 + ema_close_short = pd.ewma(close_price, span=ma_list[0]) + ema_close_long = pd.ewma(close_price, span=ma_list[1]) + + + dif_price = ema_close_short - ema_close_long + dea_price = pd.ewma(dif_price, span=ma_dea) + macd_price = 2 * (dif_price - dea_price) + + signals = [0]*(ma_list[1]+1) + tradeTimes = 0 + bBuySignal = True + for t in range(ma_list[1]+1, len(close_price)): + + signal = SIGNAL_DEFAULT + + if dif_price[t] > dif_price[t-1] and dif_price[t] > dea_price[t] \ + and dif_price[t-1] < dea_price[t-1] and dea_price[t] > 0: + if bBuySignal: + signal = SIGNAL_BUY + now_count = (int)(now_money / close_price[t] /100)*100 + now_money = start_money - now_count * close_price[t] + #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money + bBuySignal = False + elif dif_price[t] < dif_price[t-1] and dif_price[t] < dea_price[t] \ + and dif_price[t-1] > dea_price[t-1] and dif_price[t] < 0: + if bBuySignal == False: + signal = SIGNAL_SALE + now_money += now_count * close_price[t] + now_count = 0 + #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money + bBuySignal = True + signals.append(signal) + if signal != 0: + #print 't:', t, ' signal:', signal + tradeTimes += 1 + + + + print stockName, u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ + u"交易次数", tradeTimes, u" 最新市值:", now_money+now_count * close_price[-1] + stock_data['SIGNAL_MACD'] = signals + +# fig = plt.figure(facecolor='white') +# left, width = 0.1, 0.8 +# rect1 = [left, 0.5, width, 0.4] +# rect2 = [left, 0.1, width, 0.3] +# +# axescolor = '#f6f6f6' # the axes background color +# ax1 = fig.add_axes(rect1, axisbg=axescolor) #left, bottom, width, height +# ax2 = fig.add_axes(rect2, axisbg=axescolor, sharex=ax1) +# +# ax1.plot(range(len(close_price)), close_price, color="black", linewidth=1) +# ax1.grid() +# ax2.plot(range(len(dif_price)), ema_close_long,label='', color="red", linewidth=1) +# ax2.plot(range(len(dea_price)), ema_close_short,label='', color="blue", linewidth=1) +# ax2.grid() + #plt.show() + + # 将数据按照交易日期从近到远排序 + #stock_data.sort('date', ascending=False, inplace=True) + + return dif_price, dea_price, macd_price + +# DMA指标择时 (回测) +def select_Time_DMA(stock_data, stockName): + + start_money = 100000000 + now_count = 0 + now_money = start_money + + # 将数据按照交易日期从远到近排序 + stock_data.sort('Date', inplace=True) + + close_price = stock_data['Adj Close'].get_values() + + #MA + ma_list = [AVR_SHORT, AVR_LONG] + ma_dea = 10 + ma_close_short = pd.rolling_mean(close_price, ma_list[0]) + ma_close_long = pd.rolling_mean(close_price, ma_list[1]) + + + dma_price = ma_close_short - ma_close_long + ama_price = pd.rolling_mean(dma_price, ma_dea) + + signals = [0]*(ma_list[1]+1) + tradeTimes = 0 + bBuySignal = True + for t in range(ma_list[1]+1, len(close_price)): + + signal = SIGNAL_DEFAULT + + if dma_price[t] > dma_price[t-1] and dma_price[t] > ama_price[t] \ + and dma_price[t-1] < ama_price[t-1]: + if bBuySignal: + signal = SIGNAL_BUY + now_count = (int)(now_money / close_price[t] /100)*100 + now_money = start_money - now_count * close_price[t] + #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money + bBuySignal = False + elif dma_price[t] < dma_price[t-1] and dma_price[t] < ama_price[t] \ + and dma_price[t-1] > ama_price[t-1]: + if bBuySignal == False: + signal = SIGNAL_SALE + now_money += now_count * close_price[t] + now_count = 0 + #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money + bBuySignal = True + signals.append(signal) + if signal != 0: + #print 't:', t, ' signal:', signal + tradeTimes += 1 + + + + print stockName, u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ + u"交易次数", tradeTimes, u" 最新市值:", now_money+now_count * close_price[-1] + stock_data['SIGNAL_DMA'] = signals + +# fig = plt.figure(facecolor='white') +# left, width = 0.1, 0.8 +# rect1 = [left, 0.5, width, 0.4] +# rect2 = [left, 0.1, width, 0.3] +# +# axescolor = '#f6f6f6' # the axes background color +# ax1 = fig.add_axes(rect1, axisbg=axescolor) #left, bottom, width, height +# ax2 = fig.add_axes(rect2, axisbg=axescolor, sharex=ax1) +# +# ax1.plot(range(len(close_price)), close_price, color="black", linewidth=1) +# ax1.grid() +# ax2.plot(range(len(dma_price)), dma_price,label='', color="red", linewidth=1) +# ax2.plot(range(len(ama_price)), ama_price,label='', color="blue", linewidth=1) +# ax2.grid() + #plt.show() + + # 将数据按照交易日期从近到远排序 + #stock_data.sort('date', ascending=False, inplace=True) + +# DMA指标择时 (回测) +def select_Time_TRIX(stock_data, stockName): + + start_money = 100000000 + now_count = 0 + now_money = start_money + + # 将数据按照交易日期从远到近排序 + stock_data.sort('Date', inplace=True) + + close_price = stock_data['Adj Close'].get_values() + + #EMA + ma_list = [AVR_SHORT, AVR_SHORT] #N,M + + ema_close = pd.ewma(close_price, span=ma_list[0]) + ema_close = pd.ewma(ema_close, span=ma_list[0]) + tr_close = pd.ewma(ema_close, span=ma_list[0]) + + trixsList = [0] + for i in range(1, len(tr_close)): + #print tr_close[i], tr_close[i-1] + trix = (tr_close[i]-tr_close[i-1])/tr_close[i-1]*100 + trixsList.append(trix) + trixs = np.array(trixsList) + maxtrix = pd.rolling_mean(trixs, ma_list[1]) + + + signals = [0]*(ma_list[1]+1) + tradeTimes = 0 + bBuySignal = True + for t in range(ma_list[1]+1, len(close_price)): + + signal = SIGNAL_DEFAULT + + if trixs[t] > trixs[t-1] and trixs[t] > maxtrix[t] \ + and trixs[t-1] < maxtrix[t-1]: + if bBuySignal: + signal = SIGNAL_BUY + now_count = (int)(now_money / close_price[t] /100)*100 + now_money = start_money - now_count * close_price[t] + #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money + bBuySignal = False + elif trixs[t] < trixs[t-1] and trixs[t] < maxtrix[t] \ + and trixs[t-1] > maxtrix[t-1]: + if bBuySignal == False: + signal = SIGNAL_SALE + now_money += now_count * close_price[t] + now_count = 0 + #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money + bBuySignal = True + signals.append(signal) + if signal != 0: + #print 't:', t, ' signal:', signal + tradeTimes += 1 + + + + print stockName, u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ + u"交易次数", tradeTimes, u" 最新市值:", now_money+now_count * close_price[-1] + stock_data['SIGNAL_TRIX'] = signals + + +# 组合择时指标 (回测) +def select_Time_Mix(stock_data, stockName): + + start_money = 100000000 + now_count = 0 + now_money = start_money + + # 综合策略 + signals = [] + tradeTimes = 0 + bBuySignal = True + + close_price = stock_data['Adj Close'].get_values() + s_ma = stock_data['SIGNAL_MA'].get_values() + s_macd = stock_data['SIGNAL_MACD'].get_values() + s_dma = stock_data['SIGNAL_DMA'].get_values() + s_trix = stock_data['SIGNAL_TRIX'].get_values() + + for i in range(len(s_ma)): + + signal = SIGNAL_DEFAULT + + up = 0; + down = 0; + if s_ma[i] == 1: + up += 1 + elif s_ma[i] == -1: + down += 1 + + if s_macd[i] == 1: + up += 1 + elif s_macd[i] == -1: + down += 1 + + if s_dma[i] == 1: + up += 1 + elif s_dma[i] == -1: + down += 1 + + if s_trix[i] == 1: + up += 1 + elif s_trix[i] == -1: + down += 1 + + if up >= 3: + if bBuySignal: + signal = SIGNAL_BUY + now_count = (int)(now_money / close_price[i] /100)*100 + now_money = start_money - now_count * close_price[i] + #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money + bBuySignal = False + elif down <= -3: + if bBuySignal == False: + signal = SIGNAL_SALE + now_money += now_count * close_price[i] + now_count = 0 + #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money + bBuySignal = True + + signals.append(signal) + if signal != 0: + #print 't:', t, ' signal:', signal + tradeTimes += 1 + + print stockName, u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ + u"交易次数", tradeTimes, u" 最新市值:", now_money+now_count * close_price[-1] + stock_data['SIGNAL_MIX'] = signals + +# AMA指标择时 +def select_Time_AMA(stock_data, stockName): + + percentage = 0.1 + + start_money = 100000000 + now_count = 0 + now_money = 0 + one_hand = 10000 + + # 将数据按照交易日期从远到近排序 + stock_data.sort('Date', inplace=True) + + close_price = stock_data['Adj Close'].get_values() + + # 指数平滑序列 + containts = [0]*10 + for i in range(10, len(close_price)): + sub_price = close_price[i-10:i] + constaint = getConstaint(sub_price) + containts.append(constaint); + + ama_price = [close_price[0]] + for i in range(1, len(close_price)): + ama = containts[i-1] * close_price[i-1] + (1-containts[i-1])*ama_price[i-1] + ama_price.append(ama) + + signals = [0]*21 + tradeTimes = 0 + + record_buy = 0 + record_sale = [] + + # 从20天以后开始判断买卖点 + for i in range(21, len(ama_price)): + + signal = SIGNAL_DEFAULT + + #print np.array(ama_price[i-19:i+1]) - np.array(ama_price[i-20:i]) + threshold = percentage * np.std(np.array(ama_price[i-19:i+1]) - np.array(ama_price[i-20:i])) # 过滤器 + + if ama_price[i] - np.min(ama_price[i-5:i]) > threshold: + signal = SIGNAL_BUY + now_count += one_hand + record_buy += one_hand * close_price[i] + #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money + elif np.max(ama_price[i-5:i]) - ama_price[i] > threshold: + signal = SIGNAL_SALE + if now_count > one_hand: + now_count -= one_hand + record_sale = one_hand * close_price[i] + #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money + signals.append(signal) + if signal != 0: + #print 't:', t, ' signal:', signal + tradeTimes += 1 + + # 成本 + print u'盈利', record_sale + now_count * close_price[-1] - record_buy + +# print stockName, u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ +# u"交易次数", tradeTimes, u" 最新市值:", now_money+now_count * close_price[-1] + stock_data['SIGNAL_AMA'] = signals + + return ama_price + +# 获取平方平滑系数 +def getConstaint(prices): + direction = abs(prices[-1] - prices[0]) + volatility = sum(abs(prices[i+1]-prices[i]) for i in range(len(prices)-1)) + ER = abs(direction/volatility) + fastSC = 2.0/(2.0+1) + slowSC = 2.0/(30.0+1) + sSC = ER * (fastSC-slowSC) + slowSC + constaint = sSC*sSC + return constaint + +# 选择一种均线策略 +def getMAStrategy(stockCsvPath, stockName, strategyName='MACD'): + if os.path.exists(stockCsvPath) == False: + return + stock_data = pd.read_csv(stockCsvPath) + if strategyName == 'MACD': + return select_Time_MACD(stock_data, stockName) + elif strategyName == 'MA': + return select_Time_MA(stock_data, stockName) + elif strategyName == 'DMA': + return select_Time_DMA(stock_data, stockName) + elif strategyName == 'TRIX': + return select_Time_TRIX(stock_data, stockName) + elif strategyName == 'AMA': + return select_Time_AMA(stock_data, stockName) + +# 执行策略 +def run(stockCsvPath, stockName): + if os.path.exists(stockCsvPath) == False: + return + stockCsvNewPath = stockName + '_macd.csv' + processEMA(stockCsvPath, stockCsvNewPath) + stock_data = pd.read_csv(stockCsvPath) + self_adaptive_ma(stock_data) + + print u'>>>>>>>>>>>>> MA 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' + select_Time_MA(stock_data, stockName) + + print u'>>>>>>>>>>>>> MACD 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' + select_Time_MACD(stock_data, stockName) + + print u'>>>>>>>>>>>>> DMA 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' + select_Time_DMA(stock_data, stockName) + + print u'>>>>>>>>>>>>> TRIX 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' + select_Time_TRIX(stock_data, stockName) + + print u'>>>>>>>>>>>>> 组合策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' + select_Time_Mix(stock_data, stockName) + + print u'>>>>>>>>>>>>> AMA策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' + select_Time_AMA(stock_data, stockName) + + print '\n' +def main(stockList): + print "main begin" + # stockList = ['000725', '000783', '002167', '002505', '002600', '300315', '600000', '600011', '600048', '601001'] + downloadAllHistoryAShareData(stockList) + # stockList = ['000725'] + for stockName in stockList: + # if stockName != '002600': + # continue + stockCsvPath = os.path.pardir + "\\stockdata\\" + stockName + '.csv' + # stockCsvPath = stockName + '.csv' + if os.path.exists(stockCsvPath) == False: + continue + # stockCsvNewPath = stockName + '_macd.csv' + # processEMA(stockCsvPath, stockCsvNewPath) + stock_data = pd.read_csv(stockCsvPath) + # self_adaptive_ma(stock_data) + + print u'>>>>>>>>>>>>> MA 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' + select_Time_MA(stock_data, stockName) + + print u'>>>>>>>>>>>>> MACD 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' + select_Time_MACD(stock_data, stockName) + + print u'>>>>>>>>>>>>> DMA 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' + select_Time_DMA(stock_data, stockName) + + print u'>>>>>>>>>>>>> TRIX 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' + select_Time_TRIX(stock_data, stockName) + + print u'>>>>>>>>>>>>> 组合策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' + select_Time_Mix(stock_data, stockName) + + print u'>>>>>>>>>>>>> AMA策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' + select_Time_AMA(stock_data, stockName) + + print '\n' + print "main end" +if __name__ == "__main__": + print "main begin" + stockList=['000725','000783','002167','002505','002600','300315','600000','600011','600048','601001'] + downloadAllHistoryAShareData(stockList) + #stockList = ['000725'] + for stockName in stockList: + # if stockName != '002600': + # continue + stockCsvPath = os.path.pardir +"\\stockdata\\" + stockName + '.csv' + #stockCsvPath = stockName + '.csv' + if os.path.exists(stockCsvPath) == False: + continue + #stockCsvNewPath = stockName + '_macd.csv' + #processEMA(stockCsvPath, stockCsvNewPath) + stock_data = pd.read_csv(stockCsvPath) + #self_adaptive_ma(stock_data) + + print u'>>>>>>>>>>>>> MA 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' + select_Time_MA(stock_data, stockName) + + print u'>>>>>>>>>>>>> MACD 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' + select_Time_MACD(stock_data, stockName) + + print u'>>>>>>>>>>>>> DMA 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' + select_Time_DMA(stock_data, stockName) + + print u'>>>>>>>>>>>>> TRIX 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' + select_Time_TRIX(stock_data, stockName) + + print u'>>>>>>>>>>>>> 组合策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' + select_Time_Mix(stock_data, stockName) + + print u'>>>>>>>>>>>>> AMA策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' + select_Time_AMA(stock_data, stockName) + + print '\n' print "main end" \ No newline at end of file diff --git a/trade_process/strategy/macd_back_test.pyc b/trade_process/strategy/macd_back_test.pyc new file mode 100644 index 0000000000000000000000000000000000000000..04fcc0e05eb36fd7bb13c00b579d94e2ed18cea6 GIT binary patch literal 14063 zcmeHOU2GiJbv`r8za^LA-%=zkN}+7YVr^L^rO0wy{ZS-EsTLVys6;j^b-UUbQA;g% z$(>n=49M1rT}$mlQlLrDCIyP3EzqE85#*t06TcK_U;NstMKP|mtuW~E%pdA<)?8I!!YetkKcb2B%yxjUJ_^Mhk6>j8TVi(wY~k@EK<5W6eU z*W8upv_|oJIWc4(w~i!oWPYv;-$>v67A6kNzNB(RcCvJdK?0i(f%V@J`5i3+o)6QT zDjyJlC=H%zp(tQFAE@BWT&hNqa|e^YL;#&fE@T1Bb`T|+SQzmkLme8V#6g6b<-W)* zFkDjJ!@Rc;Q^C>@r74tPp=R;{q-3L6`k6)%0CZaVH_Q!PYBC1$~B|BvUy8;Hj(H^}*NEl2HZ0?Z_48i15 zY#1{H=AvcnB4I8XWy}zm+a0w$6IPiCGlBWtve_dL5^NNF=U&0mZ}zEVqLCR2E}!9? z&Rhx!8(ngzNy;BvK?jQ$eF;l!?BT-reRi0}zO&II={uH`hwZTN#i;p>Ze7KbHpGCf zyb^DvN&L5}tzbmGXr)=oH>1K}pFSW4*>cVy2RfA223#PLT*@!rR*}3?x|avPNdBjQ zctwF6>qUTlg4JI}05-jGP{5A>GrR_;TY!5estoldYZchXErXR6{KGAS?4P~qD_w>2 z*cg}}Wz3G!foP711tHAmyip`&cSKfS{Pdz%^ww6&XD_f_j;%%VKjYi7qeTYzoYw(| zsk7%DPEwRdX%o3zytVk_KV3P~{^O6&EvEl^<|kiH|NFVHNZa`^a_;u)%hC#N+&AI4b(JqHzE z*+&`6IY8nBf@jBmE{X3IZe_A=b|uK)^)ky@m5oct5WCOrw)od#cUZkvlbx~#t;0yS z(vkzGO8?sxhl+|JlAwOvy!Y_Q_|$Euu*lQM`q$MD+uT20{S1P4&bAfH!8enhYo?wk%@jL0ORS8%P7v zIRd~rM$;i{H!MtltN<1d9RMx4cicE@Z351dvI+b~G3Z0)fu;tBh>=&Uh>m*5j?=Ud zwh`j8mdBok@*PtCzyf2UO>hn-0{yXSzuTr;6CPf0J93 zj;6l#4;n{<9wXY8(O~q*!xolOy&Yrf)c3@))cQSze$9%R`C{(?&7>@0&+6nnS=?@H zxs#Cc4+Og#`Zcx&pEeC6~EHtHEvoWVBSSPokf z_Fu3Lluy9){3w}fE-yd%&t?U^Cv6RidPZ&Mo=_o*J^IGqJpRt_KK|PMkKg~c?hh3< zb~yQOKm4;tfAIT{zV|1OzWMzM#be~rAHDtPTi<{9w_knu_WLNTfDnSz?8GQ_xEd@v zBS>nAi7z>s`Ac7LuB!Yqb>$0lGc_P|USP$83=T7RkrjzKKpBUsv2%nJ#fX&^sI>aB z2K@+0s^raOmp#QBU_?2{ESHL&fxIHHCs(QfuvnHU%~R-bxQ(jrSpzcvHnm*NK#fKS zRWS1Ni$y53ik_-fUd=B9@`>p;FI3j&HCuPSzyPQc3}B(mZebNi2dn~=XE=b&>;xCn z=k_PS9{eSMSBVr5Xvpqo+B#&n*hj5ljSpMBz%QnVQoX>ml+|ga?4HCZYA8naqNOTE z{qb&K6t&toAQ^B8k*Y0*R3-!J7ayr?YA37 z7o%+%9Y#|v&(WE(uvZQ2VT^!1%tHiF9Amm3_RMGidz}hO+1F>=D+YR%uGdU=Qy;15BGi#Ti)5jpYD)*l^U+IBk|4V1FwC{3AZ?0RPnRje#JQ zMb(a<5eZ}Z+3dvR)OJ|toIzjCSq4=da69O8&ap@p_nh-cj#3^K@f>P94kg{8{@_e8 zpc-Vbj35bx%k{F(G>I1xDDb)YTQLn0`C*DfQA1cYb7zK?sPQ z48kU-zKf3hD+uaAjEdAyq8$p>o;ol)S_fuF8^NrJVAkHRaK_oJ!dd21fU`*Jf(8}C zvQT}3#g=a0@=wNFBSaxJ5c32M=OV zL^BGI(oK0F0rK`p`H`w)K*TCeq3RRWG2~To3IhK~)v>LkLFOa?r7jRxWN8IeHJpbp03YP0~% zXau1kyo@k{R{v72VP%(4IY|P|MvMWaATY-KBm}CK)@YGJc|aC`4b{380?pfmCMyS6 zXOTjof+Yyo8=CIHF!f;|&45TqhYEpgLLh*pR*0$vbeG5?MP9d*T~&kNAcR?GR5et6 zA_OAOKwuX~yz1JtNVkp#aOc_)JseGpW*{&&8jKX>fy3}W;^Ycrf&&xpS%pCMTd$g# z-T{GobTN7j1mY;oKp@O*-5pM0dRMPl`0gA6yPgDrn4yBdNVPvUc+Mu0{QmA*Lm=Wr#2BjLpLD{&@6!(I1e$Bsv zqYY<22hqd;Bprt4srk8_U1Q?2!^TD}jdOYdj$Qu^46sg1v!SEG*i2f(_KQ}J)disZ zUl^V>kgU_xzOgMxE(%XA2o3OjAr2S-+wp`2&MBmUJxKF}#iWg+guXMA1{5J5XNqAO zScEh{B}}Je?L!NE03U?GEWp;(jUQT6#+s;%8B}5jH3Y4jGe1h^`&6#f;^~s&{%U4Y z#r7jwjGEakMMx&bQLFjWhMHlfso6&;iq*u3YchYsEPM#7am1?L|aIuxkwYtwPUeL*a zN{1toeKuMIgL4MaZX4STu`R3{!!})TwtyLgLjcpyvsQT9bY19eyRRDyC!|GI@AGT0 zjb^1mOl)^aAZE?mhVdG6vjx}&d}}BNvlH7an4~-OwvkI?)@J?ji*p*e&Mbp@25%uS zIvx+%^Xl26zb5}*NN%w^ckFzNX?wFkIt4VUSn7D&C8e&x9HgD8*yO`GZX8^Q6C;RFN)@@#i4RA<4JW<2%DUnD z!VfvyKj|WCfvb!zGya7RGg}>IcGY3V1DQ7bXq5Y3ZNM#n6WzrKfm?tO$c#BAR?Q9S z4SZQv1VVaD3@JfzC`6F@G!SiVhH!)gCQ*G~#tlEFh9v+H&U?71@Hl83WdIi{Tfl-g zJsJp=F&CnsEf1k-sA6lsq0QoIL|wC&YxXJxWl(+l=z-BR9d3}yFgZvqCdwKBLL$wh z2;%`?{gGS?UxQ99NGPTNK!UKFXK!#Xt&LlJF?jbdf)oc0b#Us&b9DUy5~$?>iSZIh zA_Od&4&m@K{SF*Now}@)nFx@13ZCYK)*AGe7rE%F*0uC7>H@>KO~)Yw8#?o;fTg&EElxbPyfXon;>gtt zCZjV%^=%oa{{phq>F)=w^J`IJIbW8uYG;1sW@vhjv+^|rIv|*&HHAw%!x?I+jH@G+ zbv!R@jKv$x=W>R^Xy|3`vd=r}X}|L_E$6TsC2(CPtP4O_43Q(-SL zY_}vP0beaRzwFm%3bC|-wZu?UyPYG0aQ3+F+_d}$2+ZXGoLKT=08}7z(*zP|$$fLv zBq8sin5s`G0tp1-Q4pu_!xtx=XamPzJmz8=(hnGH#WfSX2nHPM2Tbx%406)U3n$IE za01EDZ<^{}E0~*;Jf}REM@(`YEnrtidjijAz0;uQ_j;kh8Afx;C+0Q-ML<0k<|KM| z&Y$ZqG9>XP(M1Nn7_d@5(ItelQ6zpXfkuOl+IgO_s@RQk5uJ4gFEcpG;1veP82loG zF$U!OQT)UluCvDOyqr@&Q>}a_8We(~^P{z+b4&FCdd+j>GQI_$llb}HLjZ1pVvgHW z*dW0#kV)!^xT6VY7pl?$VlEhhV{nRYY4(&Vrl9D4GS3VczNmLY{Tg){rop=ec5+>< zMw8a~IvuO^8O@sU7rcB?%iwrM$s2RdmpN=Q`@HSm9SNA#gfYoh+{ijEYJXWm!)CpF%ynm14pR~MK3#{h=Ap=+d)PQb;3$jo* zxl=}~PCrnBtYKk|aThMOjJ#h8N^Jcspb;psg|h%Zpg=K*7T+v`Ld?Ze;k5@jwO|{9X9aJRZ)wMMO zp4&matsRm_cTn-b%Y1D-39iIfD#p z(()@zslV%1ro?Vv}qFK38e4Y~WBH~6u+94NRR=eE{+he<*ZfKMi z{uB)V1rdk?_z;qy%+KrSi19i)@9il{;%+{~U;v^s0OnWOF?2`}#0SL;dO5PXmu?6^ z&JqMjv$z+lc+`oIibtIYsd&_hkcvm02vI!hMF_WD8bk zGA@~o-1HXnMW6U*uJZCC@O7Uv@^dNsWF&bODf6i?==@hN+khZWRqk|~TFI7ioiHYX zHR*f0;HeU>7kAX@Il<<25BpRkkPO53IYSYAiSJ@H+wFE|V$dFhrred-P5?7svb?hHsI|)r!UQx}o%){%$D)6_$*5p(J}e~rPc8{X5m zIaR%#cUbpb1~Ag7=!#@AMQDeajPoAJDu8b@_S+0p6l_~Md_azUftY%!Z-I+lD E4^O`51^@s6 literal 0 HcmV?d00001 diff --git a/trade_process/strategy/macd_live_test.py b/trade_process/strategy/macd_live_test.py index 1199873..f774466 100644 --- a/trade_process/strategy/macd_live_test.py +++ b/trade_process/strategy/macd_live_test.py @@ -1,252 +1,252 @@ -#!/usr/local/bin/python -#coding=utf-8 - -#实时均线策略 - -import pandas as pd -import numpy as np -from data_process.data_calcute import calcute_ma - -from init import * -from util.codeConvert import GetNowDate -from copy import deepcopy - - -class MAStrategy: - - # df: DataFrame - def __init__(self, code, trade, df_close): - """ - :param code: 股票代码 - :param trade: 实时股价, float - :param df_close: 收盘价序列,已排序, columns=['date', 'close'] - """ - - self.AVR_SHORT = AVR_SHORT - self.AVR_LONG = AVR_LONG - self.MA_DEA = 10 - - self.COL_MA_S = 'ma_{}'.format(self.AVR_SHORT) - self.COL_MA_L = 'ma_{}'.format(self.AVR_LONG) - self.COL_EMA_S = 'ema_{}'.format(self.AVR_SHORT) - self.COL_EMA_L = 'ema_{}'.format(self.AVR_LONG) - - - #方式二 - # 将数据按照交易日期从远到近排序 - # df.sort(columns='date', inplace=True) - - df_close = calcute_ma(df_close, AVR_SHORT, AVR_LONG) - - if trade: #有实时股价 - df_now = deepcopy(df_close.tail(1)) - df_now['date'] = GetNowDate() - df_now['close'] = trade - df_close = pd.concat([df_close, df_now], ignore_index=True) - # print df_close.tail() - - #计算当前日期的ma - lastest_ma_short = sum(df_close['close'][-self.AVR_SHORT:])/self.AVR_SHORT - lastest_ma_long = sum(df_close['close'][-self.AVR_LONG:])/self.AVR_LONG - - df_last = df_close[-1:] - df_last[self.COL_MA_S] = lastest_ma_short - df_last[self.COL_MA_L] = lastest_ma_long - - - #计算当前的ema - lastest_ema_short = df_close[self.COL_EMA_S].get_values()[-2] * (self.AVR_SHORT-1)/(self.AVR_SHORT+1) + trade * 2 /(self.AVR_SHORT+1) - lastest_ema_long = df_close[self.COL_EMA_L].get_values()[-2] * (self.AVR_LONG-1)/(self.AVR_LONG+1) + trade * 2 /(self.AVR_LONG+1) - - df_last[self.COL_EMA_S] = lastest_ema_short - df_last[self.COL_EMA_L] = lastest_ema_long - - self.df_close = df_close - - # print self.df_close.head() - # print self.df_close.tail() - - - - # 组合择时指标 (实时) - def select_Time_Mix(self, conditionBuy = 2, conditonSale = 2): - - # 综合策略 - signalMA = self.select_Time_MA() - signalMACD = self.select_Time_MACD() - signalDMA = self.select_Time_DMA() - signalTRIX = self.select_Time_TRIX() - signalAMA = self.select_Time_AMA() - - # 买入信号的总数 - buyTotal = (abs(signalMA)+signalMA)/2 + (abs(signalMACD)+signalMACD)/2 + \ - (abs(signalDMA)+signalDMA)/2 + (abs(signalTRIX)+signalTRIX)/2 + (abs(signalAMA)+signalAMA)/2 - - # 卖出信号的总数 - saleTotal = (-abs(signalMA)+signalMA)/2 + (-abs(signalMACD)+signalMACD)/2 + \ - (-abs(signalDMA)+signalDMA)/2 + (-abs(signalTRIX)+signalTRIX)/2 + (-abs(signalAMA)+signalAMA)/2 - - signal = SIGNAL_DEFAULT - if buyTotal+saleTotal >= conditionBuy: - signal = SIGNAL_BUY - elif buyTotal+saleTotal <= -conditonSale: - signal = SIGNAL_SALE - - return signal - - # MA指标择时 - def select_Time_MA(self): - - #DMA - dma_close_short = self.df_close[self.COL_MA_S].get_values() - dma_close_long = self.df_close[self.COL_MA_L].get_values() - - - signal = SIGNAL_DEFAULT - - if dma_close_short[-1] > dma_close_short[-2] and dma_close_short[-1] > dma_close_long[-1] \ - and dma_close_short[-2] < dma_close_long[-2]: - signal = SIGNAL_BUY - elif dma_close_long[-1] < dma_close_long[-2] and dma_close_short[-1] < dma_close_long[-1] \ - and dma_close_short[-2] > dma_close_long[-2]: - signal = SIGNAL_SALE - - return signal - - - # MACD指标择时 - def select_Time_MACD(self): - - #EMA - # print self.df_close.tail() - ema_close_short = self.df_close[self.COL_EMA_S].get_values() - ema_close_long = self.df_close[self.COL_EMA_L].get_values() - - - dif_price = ema_close_short - ema_close_long - dea_price = pd.ewma(dif_price, span=self.MA_DEA) - macd_price = 2 * (dif_price - dea_price) - - signal = SIGNAL_DEFAULT - - if dif_price[-1] > dif_price[-2] and dif_price[-1] > dea_price[-2] \ - and dif_price[-2] < dea_price[-2] and dea_price[-1] > 0: - signal = SIGNAL_BUY - elif dif_price[-1] < dif_price[-2] and dif_price[-1] < dea_price[-1] \ - and dif_price[-2] > dea_price[-2] and dif_price[-1] < 0: - signal = SIGNAL_SALE - return signal - - # DMA指标择时 (回测) - def select_Time_DMA(self): - - # DMA - ma_close_short = self.df_close[self.COL_MA_S].get_values() - ma_close_long = self.df_close[self.COL_MA_L].get_values() - - # #MA - # ma_list = [self.AVR_SHORT, self.AVR_LONG] - # ma_dea = 10 - # - # if ma_list[0] == self.AVR_SHORT and ma_list[1] == self.AVR_LONG: - # ma_close_short = self.ma_short - # ma_close_long = self.ma_long - # else: - # ma_close_short = pd.rolling_mean(self.close_price, ma_list[0]) - # ma_close_long = pd.rolling_mean(self.close_price, ma_list[1]) - - dma_price = ma_close_short - ma_close_long - ama_price = pd.rolling_mean(dma_price, self.MA_DEA) - - signal = SIGNAL_DEFAULT - - if dma_price[-1] > dma_price[-2] and dma_price[-1] > ama_price[-1] \ - and dma_price[-2] < ama_price[-2]: - signal = SIGNAL_BUY - elif dma_price[-1] < dma_price[-2] and dma_price[-1] < ama_price[-1] \ - and dma_price[-2] > ama_price[-2]: - signal = SIGNAL_SALE - return signal - - - # TRIX指标择时 (回测) - def select_Time_TRIX(self): - - #EMA - ema_close_short = self.df_close[self.COL_EMA_S].get_values() - ema_ema_close_short = pd.ewma(ema_close_short, span=self.AVR_SHORT) - tr_close = pd.ewma(ema_ema_close_short, span=self.AVR_SHORT) - - # ma_list = [self.AVR_SHORT, self.AVR_SHORT] #N,M - # - # if ma_list[0] == self.AVR_SHORT: - # ema_close = self.ema_short - # else: - # ema_close = pd.ewma(self.close_price, span=ma_list[0]) - # ema_close = pd.ewma(ema_close, span=ma_list[0]) - # tr_close = pd.ewma(ema_close, span=ma_list[0]) - - trixsList = [0] - for i in range(1, len(tr_close)): - #print tr_close[i], tr_close[i-1] - trix = (tr_close[i]-tr_close[i-1])/tr_close[i-1]*100 - trixsList.append(trix) - trixs = np.array(trixsList) - maxtrix = pd.rolling_mean(trixs, self.AVR_LONG) - - signal = SIGNAL_DEFAULT - - if trixs[-1] > trixs[-2] and trixs[-1] > maxtrix[-1] \ - and trixs[-2] < maxtrix[-2]: - signal = SIGNAL_BUY - elif trixs[-1] < trixs[-2] and trixs[-1] < maxtrix[-1] \ - and trixs[-2] > maxtrix[-2]: - signal = SIGNAL_SALE - return signal - - - - - # AMA指标择时 - def select_Time_AMA(self): - - percentage = 0.1 - - close_price = self.df_close['close'].get_values() - - # 指数平滑序列 - containts = [0]*10 - for i in range(10, len(close_price)): - sub_price = close_price[i-10:i] - constaint = self._getConstaint(sub_price) - containts.append(constaint) - - ama_price = [float(close_price[0])] - for i in range(1, len(close_price)): - ama = containts[i-1] * float(close_price[i-1]) + (1-containts[i-1])*ama_price[i-1] - ama_price.append(float(ama)) - - #print np.array(ama_price[i-19:i+1]) - np.array(ama_price[i-20:i]) - threshold = percentage * np.std(np.array(ama_price[i-19:i+1]) - np.array(ama_price[i-20:i])) # 过滤器 - - signal = SIGNAL_DEFAULT - if ama_price[-1] - np.min(ama_price[-6:-1]) > threshold: - signal = SIGNAL_BUY - elif np.max(ama_price[-6:-1]) - ama_price[-1] > threshold: - signal = SIGNAL_SALE - - return signal - - # 获取平方平滑系数 - def _getConstaint(self, prices): - direction = abs(float(prices[-1]) - float(prices[0])) - volatility = sum(abs(float(prices[i+1])-float(prices[i])) for i in range(len(prices)-1)) - if volatility == 0.0: - return 0 - ER = abs(direction/volatility) - fastSC = 2.0/(2.0+1) - slowSC = 2.0/(30.0+1) - sSC = ER * (fastSC-slowSC) + slowSC - constaint = sSC*sSC - return constaint - +#!/usr/local/bin/python +#coding=utf-8 + +#实时均线策略 + +import pandas as pd +import numpy as np +from data_process.data_calcute import calcute_ma + +from init import * +from util.codeConvert import GetNowDate +from copy import deepcopy + + +class MAStrategy: + + # df: DataFrame + def __init__(self, code, trade, df_close): + """ + :param code: 股票代码 + :param trade: 实时股价, float + :param df_close: 收盘价序列,已排序, columns=['date', 'close'] + """ + + self.AVR_SHORT = AVR_SHORT + self.AVR_LONG = AVR_LONG + self.MA_DEA = 10 + + self.COL_MA_S = 'ma_{}'.format(self.AVR_SHORT) + self.COL_MA_L = 'ma_{}'.format(self.AVR_LONG) + self.COL_EMA_S = 'ema_{}'.format(self.AVR_SHORT) + self.COL_EMA_L = 'ema_{}'.format(self.AVR_LONG) + + + #方式二 + # 将数据按照交易日期从远到近排序 + # df.sort(columns='date', inplace=True) + + df_close = calcute_ma(df_close, AVR_SHORT, AVR_LONG) + + if trade: #有实时股价 + df_now = deepcopy(df_close.tail(1)) + df_now['date'] = GetNowDate() + df_now['close'] = trade + df_close = pd.concat([df_close, df_now], ignore_index=True) + # print df_close.tail() + + #计算当前日期的ma + lastest_ma_short = sum(df_close['close'][-self.AVR_SHORT:])/self.AVR_SHORT + lastest_ma_long = sum(df_close['close'][-self.AVR_LONG:])/self.AVR_LONG + + df_last = df_close[-1:] + df_last[self.COL_MA_S] = lastest_ma_short + df_last[self.COL_MA_L] = lastest_ma_long + + + #计算当前的ema + lastest_ema_short = df_close[self.COL_EMA_S].get_values()[-2] * (self.AVR_SHORT-1)/(self.AVR_SHORT+1) + trade * 2 /(self.AVR_SHORT+1) + lastest_ema_long = df_close[self.COL_EMA_L].get_values()[-2] * (self.AVR_LONG-1)/(self.AVR_LONG+1) + trade * 2 /(self.AVR_LONG+1) + + df_last[self.COL_EMA_S] = lastest_ema_short + df_last[self.COL_EMA_L] = lastest_ema_long + + self.df_close = df_close + + # print self.df_close.head() + # print self.df_close.tail() + + + + # 组合择时指标 (实时) + def select_Time_Mix(self, conditionBuy = 2, conditonSale = 2): + + # 综合策略 + signalMA = self.select_Time_MA() + signalMACD = self.select_Time_MACD() + signalDMA = self.select_Time_DMA() + signalTRIX = self.select_Time_TRIX() + signalAMA = self.select_Time_AMA() + + # 买入信号的总数 + buyTotal = (abs(signalMA)+signalMA)/2 + (abs(signalMACD)+signalMACD)/2 + \ + (abs(signalDMA)+signalDMA)/2 + (abs(signalTRIX)+signalTRIX)/2 + (abs(signalAMA)+signalAMA)/2 + + # 卖出信号的总数 + saleTotal = (-abs(signalMA)+signalMA)/2 + (-abs(signalMACD)+signalMACD)/2 + \ + (-abs(signalDMA)+signalDMA)/2 + (-abs(signalTRIX)+signalTRIX)/2 + (-abs(signalAMA)+signalAMA)/2 + + signal = SIGNAL_DEFAULT + if buyTotal+saleTotal >= conditionBuy: + signal = SIGNAL_BUY + elif buyTotal+saleTotal <= -conditonSale: + signal = SIGNAL_SALE + + return signal + + # MA指标择时 + def select_Time_MA(self): + + #DMA + dma_close_short = self.df_close[self.COL_MA_S].get_values() + dma_close_long = self.df_close[self.COL_MA_L].get_values() + + + signal = SIGNAL_DEFAULT + + if dma_close_short[-1] > dma_close_short[-2] and dma_close_short[-1] > dma_close_long[-1] \ + and dma_close_short[-2] < dma_close_long[-2]: + signal = SIGNAL_BUY + elif dma_close_long[-1] < dma_close_long[-2] and dma_close_short[-1] < dma_close_long[-1] \ + and dma_close_short[-2] > dma_close_long[-2]: + signal = SIGNAL_SALE + + return signal + + + # MACD指标择时 + def select_Time_MACD(self): + + #EMA + # print self.df_close.tail() + ema_close_short = self.df_close[self.COL_EMA_S].get_values() + ema_close_long = self.df_close[self.COL_EMA_L].get_values() + + + dif_price = ema_close_short - ema_close_long + dea_price = pd.ewma(dif_price, span=self.MA_DEA) + macd_price = 2 * (dif_price - dea_price) + + signal = SIGNAL_DEFAULT + + if dif_price[-1] > dif_price[-2] and dif_price[-1] > dea_price[-2] \ + and dif_price[-2] < dea_price[-2] and dea_price[-1] > 0: + signal = SIGNAL_BUY + elif dif_price[-1] < dif_price[-2] and dif_price[-1] < dea_price[-1] \ + and dif_price[-2] > dea_price[-2] and dif_price[-1] < 0: + signal = SIGNAL_SALE + return signal + + # DMA指标择时 (回测) + def select_Time_DMA(self): + + # DMA + ma_close_short = self.df_close[self.COL_MA_S].get_values() + ma_close_long = self.df_close[self.COL_MA_L].get_values() + + # #MA + # ma_list = [self.AVR_SHORT, self.AVR_LONG] + # ma_dea = 10 + # + # if ma_list[0] == self.AVR_SHORT and ma_list[1] == self.AVR_LONG: + # ma_close_short = self.ma_short + # ma_close_long = self.ma_long + # else: + # ma_close_short = pd.rolling_mean(self.close_price, ma_list[0]) + # ma_close_long = pd.rolling_mean(self.close_price, ma_list[1]) + + dma_price = ma_close_short - ma_close_long + ama_price = pd.rolling_mean(dma_price, self.MA_DEA) + + signal = SIGNAL_DEFAULT + + if dma_price[-1] > dma_price[-2] and dma_price[-1] > ama_price[-1] \ + and dma_price[-2] < ama_price[-2]: + signal = SIGNAL_BUY + elif dma_price[-1] < dma_price[-2] and dma_price[-1] < ama_price[-1] \ + and dma_price[-2] > ama_price[-2]: + signal = SIGNAL_SALE + return signal + + + # TRIX指标择时 (回测) + def select_Time_TRIX(self): + + #EMA + ema_close_short = self.df_close[self.COL_EMA_S].get_values() + ema_ema_close_short = pd.ewma(ema_close_short, span=self.AVR_SHORT) + tr_close = pd.ewma(ema_ema_close_short, span=self.AVR_SHORT) + + # ma_list = [self.AVR_SHORT, self.AVR_SHORT] #N,M + # + # if ma_list[0] == self.AVR_SHORT: + # ema_close = self.ema_short + # else: + # ema_close = pd.ewma(self.close_price, span=ma_list[0]) + # ema_close = pd.ewma(ema_close, span=ma_list[0]) + # tr_close = pd.ewma(ema_close, span=ma_list[0]) + + trixsList = [0] + for i in range(1, len(tr_close)): + #print tr_close[i], tr_close[i-1] + trix = (tr_close[i]-tr_close[i-1])/tr_close[i-1]*100 + trixsList.append(trix) + trixs = np.array(trixsList) + maxtrix = pd.rolling_mean(trixs, self.AVR_LONG) + + signal = SIGNAL_DEFAULT + + if trixs[-1] > trixs[-2] and trixs[-1] > maxtrix[-1] \ + and trixs[-2] < maxtrix[-2]: + signal = SIGNAL_BUY + elif trixs[-1] < trixs[-2] and trixs[-1] < maxtrix[-1] \ + and trixs[-2] > maxtrix[-2]: + signal = SIGNAL_SALE + return signal + + + + + # AMA指标择时 + def select_Time_AMA(self): + + percentage = 0.1 + + close_price = self.df_close['close'].get_values() + + # 指数平滑序列 + containts = [0]*10 + for i in range(10, len(close_price)): + sub_price = close_price[i-10:i] + constaint = self._getConstaint(sub_price) + containts.append(constaint) + + ama_price = [float(close_price[0])] + for i in range(1, len(close_price)): + ama = containts[i-1] * float(close_price[i-1]) + (1-containts[i-1])*ama_price[i-1] + ama_price.append(float(ama)) + + #print np.array(ama_price[i-19:i+1]) - np.array(ama_price[i-20:i]) + threshold = percentage * np.std(np.array(ama_price[i-19:i+1]) - np.array(ama_price[i-20:i])) # 过滤器 + + signal = SIGNAL_DEFAULT + if ama_price[-1] - np.min(ama_price[-6:-1]) > threshold: + signal = SIGNAL_BUY + elif np.max(ama_price[-6:-1]) - ama_price[-1] > threshold: + signal = SIGNAL_SALE + + return signal + + # 获取平方平滑系数 + def _getConstaint(self, prices): + direction = abs(float(prices[-1]) - float(prices[0])) + volatility = sum(abs(float(prices[i+1])-float(prices[i])) for i in range(len(prices)-1)) + if volatility == 0.0: + return 0 + ER = abs(direction/volatility) + fastSC = 2.0/(2.0+1) + slowSC = 2.0/(30.0+1) + sSC = ER * (fastSC-slowSC) + slowSC + constaint = sSC*sSC + return constaint + diff --git a/trade_process/strategy/macd_live_test.pyc b/trade_process/strategy/macd_live_test.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b7393f9a8b47b0ae645eee7aae7c032faaa6b7e5 GIT binary patch literal 6728 zcmcIp-)|gO6}~gGzc+5|#E#cd)i`a57nDS$L4`&pjbpoMz;UXvleWfTnCy(*ab{;X zJF|%`><35%eE}qd+5!~RBqxsb%IeD$J{TL9G;YO;&|PRWGTP63RK{6_l4(Zz*+KsW(>2>|v=|L~p^r@v~Sp zkWETRYHnC-C%#j6wTu;?>s6oklf}lZIXCgOtbl6I_nWmwb4%J^oLNd*s9xXNHM?`r zi?1N@JM+R=R!okAf2Mj%&(Y!-S2COrGg;+jC4(8{B$H3)fq7z1)F~=kPo_F(e}$Qi9G+wP8`XfpyWf=(#I2Izo)XdPox^>I%D>d6g8@w#81- z-EB+lz`m(ke^yD6@{JN_hQ9E(lTk^T`>~BqvuYZ8%;nT{vQKRcQ61%V3=>wLKnnxL zA{gG!D(FqI&^c;!fg{n2f*v-8 zIY6)2=?jCejOuQY9UsG(y^`vejPJ+-P$xgw9!uY8FWFt~Q_1)a778ZxV6Yh5DCVToq{%`{9~oxO=h)vPbqIDsUob5;blm!^nnioWKxR z%8B1>v=aElE@9Y+)|0$$L)~PgubzvpTlJfwl+CKpRFcHA$jzT#eeTqS<<+%z(E6$9H2X>_<-VXE?V zL$#haun(-kij_bf;y|*jat?xFv7UbD*AizrsQYjZLE3K7?3^I2UpV&&#bx`#>klc; zK+!@c?zLDtTe@(5ab^L&`SQ%=g=O)PRCMn08#o!1N{dS~3-eW$?QtYR3UD+pNPCqQgj(wa-X@GpiXFJ~Iq28i60xNTOsOuJJ5B@t=@r=U{5!G}7)M zC;f)5v$|4~EX3nlE(jC+GS$TOjB4HL%H+P%CxZe{KpawRlgxSSryO^%e5 z_z3o%jI?K;Vk>+eFZbC;VeuM1@hELuhm1p3&a4`v*fmM@zHwF@vFzJ$m(>2ZeZy8^ zy(?IG?BIql8Wx{zNh1cR5Icm$1nE>pc|!t2=!+0`A97quWKZu<$)gM{cF9oa$gpkD zg97w$Ya>4H@X`m1(dDjz)F_nq8GT04hCtD>KBF+w)uU0-fy>b-aGC=S=y8ksoNT(0 z@Kz5M0VV8#cgKN-1{-jQ|;1)@KBU z@A4LiVGu3ZN3e$MIWJO!tRc`Kle8LP7)0w%-FKr$LWFCm35DnyKnNMAE9wCRq8>op zPHC?Y@eBs>J$&K{5}}%*k})QD=+ceG1DAuhY@r*3+5ZI(IIa;J=>vgV&TEjdgM&iL zh2wj2*|l|v>o#8{i-RISHP}tuuWp-a?&^yvQm{qbWPCxTGEwQvkAZkb$xdK0L_u;7 zGH&?lHS8~fM~GpJ7dH%{+zE{K(L8TlLyFN8LS%M;FGO&J-H6eVA!tTbPsSh;GU@>W zBL*%eu)qUsw-Hoc88p(B^%+5DR}9>IXauWT1Qbavi}n|h3QI|>6L>80|>(O54-lY1aoe;=a<#q4yhK;)S;U;vse1^5a8Ew%X-Ms_G*y>YsB zAbd(93;j}o;}m#2O7@eG0(d4k7tFK0E7 zTA9!-NtZ04^(Zp*msC;#P&@fid3(syPuZ*>gEo|L<9+oSoERGfmtv}46ks7IGl0eM zqcFXzDz7I8afQ7y+$c%70mmq)3F?af;cWzEHm?Bg^sMU!ZsZI!PKZT3ShE zU39?;eQW4(KH?PVHMYNsTJfZ~eXZ|MfI>R1b5!6!a878Kd$Z-k8$)leyy-LO>@WDl zbSs5(;-EETJSmp{7_zF7#W))Rj5q(71PwR7dV=K8of6MJ zrN(>Hf}k_4E5;4Eujo)(u(>EvwS5e>>{pRUQP}z9bAkZzBp)L|o;UqgqMtiC82-0Io= (1 + threshold_profit_open)*close_price_begin: #止盈策略启动 - max_price = max(close_prices) - if realtime_price <= (1 - threshold_profit_pretect) * max_price: - #符合止盈策略,卖出 - reason = '符合止盈策略:相比最高价,下跌了{:.2}%'.format((max_price - realtime_price) / max_price * 100) - symbolAccount.order(symbol, symbolAccount.avail_secpos[symbol], realtime_price, GetNowDate()) - judgements.append((symbol, -1, reason)) - - elif realtime_price <= (1 - threshold_loss_pretect) * close_price_begin: - #符合止损策略,卖出 - down = (close_price_begin-realtime_price)/close_price_begin*100 - reason = '符合止损策略:相比成本价,下跌了{:.2f}%'.format(down) - symbolAccount.order(symbol, symbolAccount.avail_secpos[symbol], realtime_price, GetNowDate()) - judgements.append((symbol, -1, reason)) - - return judgements - - - - - - -class SymbolAccount(): - """ - 股票账户类 - """ - - def __init__(self, account=100000): - self.account = account #初始资金 - self.cash = self.account - self.avail_secpos = {} # 字典,键为证券代码,值为持有的证券数量, {'000001': 100, '600000': 100} - self.order_history = {} #dict, {symbol:000001, [(order_time:2016-07-11, , order_amount:100, order_price)]} , order_amount为正时买入,为负时卖出 - self.position_history = [] # 持仓历史[2016-07-11, cash, {'600000':100, '600031':300}] - - def init_position_from_db(self): - """ - 从数据库初始化持仓情况 - :return: - """ - sql = "SELECT * FROM classifier_db.trade_order order by trade_time asc" - df = pd.read_sql(sql, engine_test) - #剩余现金 - if len(df): - self.cash = df['cash'].get_values()[-1] - - for code in df['code'].drop_duplicates(): - df_code = df[df['code'] == code] - self.avail_secpos[code] = df_code['trade_count'].sum() - - self.order_history.setdefault(code, []) - for _, row in df_code.iterrows(): - self.order_history[code].append([str(row['trade_time']), row['trade_count'], row['trade_price']]) - - - - - - def order(self, smybol, amount, price, trade_date): - """ - - Parameters - ---------- - smybol: 股票代码 - amount: 数量, 正数为买入,负数为卖出 - price: 下单价格 - trade_date: 下单日期 - - Returns: True,成功; False,失败 - ------- - - """ - self.avail_secpos.setdefault(smybol, 0) - self.order_history.setdefault(smybol, []) - - if amount > 0: # 买入 - if amount * price < self.cash: - self.cash -= amount * price - self.avail_secpos[smybol] += amount - self.order_history[smybol].append([str(trade_date)[:10], amount, price]) - else: - return False - - else: #卖出 - if abs(amount) <= self.avail_secpos[smybol]: - self.cash += abs(amount) * price - self.avail_secpos[smybol] += amount - self.order_history[smybol].append([str(trade_date)[:10],amount, price]) - - for smybol in self.avail_secpos.keys(): - if self.avail_secpos[smybol] == 0: #删除持仓为0的股票 - del self.avail_secpos[smybol] - - self.position_history.append([trade_date, self.cash, copy.deepcopy(self.avail_secpos)]) - - - # def order_pct(self, smybol, pct, price): - # """ - # - # Parameters - # ---------- - # smybol: 股票代码 - # pct: 买入比例 - # price: 买入价格 - # - # Returns - # ------- - # - # """ - # pass - - - def get_current_account(self, current_date): - """ - 获取当前时间的持仓市值 - Parameters - ---------- - current_date: 当前日期 - - Returns - ------- - - """ - - smybol_market_values = 0 - for symbol in self.avail_secpos.keys(): - - # 获取股票价格 - close_hfq = get_close_price(symbol, current_date) - if close_hfq == -1: - msg = "{},{},get code close_price error!".format(symbol, current_date) - # raise Exception(msg) - print msg - return 0 - - smybol_market_values += close_hfq * self.avail_secpos[symbol] - - return smybol_market_values + self.cash - - def get_sorted_symbols_by_return_rate(self, trade_date): - """ - 持仓股票按收益率排序 - Returns - ------- - - """ - smybol_rate_list = [] - for smybol in self.order_history.keys(): - #单只股票持仓成本 - total_count = 0 - total_cost = 0.0 - for one_order in self.order_history[smybol]: - total_count += one_order[1] - total_cost += one_order[1] * one_order[2] - if total_count == 0: - continue - - aver_price = total_cost/total_count #平均持仓成本 - now_price = get_close_price(smybol, trade_date) - smybol_rate_list.append((smybol, (now_price-aver_price)/aver_price)) - - smybol_rate_list = sorted(smybol_rate_list, key=itemgetter(1), reverse=True) - return smybol_rate_list - - def get_all_order_history_by_date(self): - orders = [] - for smybol in self.order_history.keys(): - smybol_orders = self.order_history[smybol] - smybol_orders = [[smybol] +one for one in smybol_orders] - orders.extend(smybol_orders) - orders = sorted(orders, key =lambda x : x[1]) - print orders[:3] - print orders[-3:] - return orders - - def calcute_maximun_drawdown(self): - """ - 计算最大回撤 - Returns - ------- - """ - - jingzhi_list = self.get_jingzhi_daliy() - - if len(jingzhi_list) >= 2: - jingzhi_list_sorted = sorted(jingzhi_list, key=lambda x : x[1], reverse=True) - max_vale = jingzhi_list_sorted[0][1] - max_value_date = jingzhi_list_sorted[0][0] - jingzhi_list_after = [jingzhi for jingzhi in jingzhi_list if jingzhi[0] > max_value_date] - jingzhi_list_sorted = sorted(jingzhi_list, key=lambda x : x[1]) - min_value = jingzhi_list_sorted[0][1] - - max_drawdown = (max_vale-min_value)/max_vale * 100.0 - return max_drawdown - - return 0 - - def get_jingzhi_daliy(self): - """ - 获取每日净值 - Returns - ------- - """ - if len(self.position_history) < 2: - return [] - - # 持仓起止日期范围 - rng = pd.date_range(self.position_history[0][0], self.position_history[-1][0], freq='D') - jingzhi_list = [] - - for trade_date in rng: - # 获取现金,持仓股票及数量 - position = self.get_position_by_trade_date(trade_date) - if not position: - continue - - # 此刻的持仓成本 - cash = position[1] # cash - avail_secpos = position[2] - is_trade_date = True - - for smybol in avail_secpos.keys(): - close_price = get_close_price(smybol, trade_date) - if close_price == -1: - is_trade_date = False - break - cash += avail_secpos[smybol] * close_price - - if not is_trade_date: - continue - - jingzhi_list.append([trade_date, cash * 1.0 / self.account]) - - return jingzhi_list - - def get_position_by_trade_date(self, trade_date): - """ - 获取持仓股票及数量 - Parameters - ---------- - trade_date - - Returns - ------- - """ - for i in range(1,len(self.position_history)): - # print type(trade_date.to_datetime()), str(position[0]) - if str(trade_date.to_datetime()) >= str(self.position_history[i-1][0]) and str(trade_date.to_datetime()) < str(self.position_history[i][0]): - return self.position_history[i-1] - - # if len(self.position_history): - # return self.position_history[-1] - return None - -def get_close_price(symbol, trade_date): - """ - 获取后复权价格 - Parameters - ---------- - symbol - trade_date - - Returns - ------- - - """ - if len(symbol) == 6: - sql = "SELECT close FROM hq_db.stock_kline_fq where code='{}' and date>='{}' order by date asc".format(symbol, trade_date) - else: - sql = "SELECT close FROM hq_db.stock_kline_fq where code='{}' and date>='{}' order by date asc".format( - symbol, trade_date) - df = pd.read_sql(sql, engine) - closes = df['close'].get_values() - if len(closes) == 0: - # raise Exception("get code close_price error!") - return -1 - - return closes[0] - - -def get_close_prices(symbol, trade_date_begin, trade_date_end): - - """ - 获取前复权价格序列 - :param symbol: - :param trade_date_begin: - :param trade_date_end: - :return: - """ - - if len(symbol) == 6: - sql = "SELECT date, close FROM hq_db.stock_kline_fq where code='{}' and date>='{}' and date <='{}' order by date asc".format( - symbol, trade_date_begin, trade_date_end) - else: - sql = "SELECT date, close FROM hq_db.stock_kline_fq where code='{}' and date>='{}' and date <='{}' order by date asc".format( - symbol, trade_date_begin, trade_date_end) - df = pd.read_sql(sql, engine) - closes = df['close'].get_values() - - return closes - -def get_realtime_price(symbol): - """ - 获取实时股价 - :param symbol: - :return: - """ - try: - df = get_real_price_dataframe() - df_s = df[df['code'] == symbol] - if len(df_s['trade'].get_values()): - return df_s['trade'].get_values()[0] - else: - return -1 - except: - return -1 - -if __name__ == "__main__": +#coding: utf-8 + +""" +止盈止损策略 +""" + +import pandas as pd +import copy +from operator import itemgetter + +# from init import engine, engine_test +from util.codeConvert import GetNowDate +from data_process.online_data import get_real_price_dataframe + +#限价止损 +def stop_loss_by_price(): + """ + 限价止损 + :return: + """ + #查询持仓股票 + symbolAccount = SymbolAccount() + symbolAccount.init_position_from_db() + + threshold_profit_open = 0.08 #止盈开启阈值 + threshold_profit_pretect = 0.02 #止盈保护阈值 + threshold_loss_pretect = 0.1 #止损保护阈值 + + judgements = [] + + #计算持仓股票的最初价格 + for symbol in symbolAccount.avail_secpos.keys(): + orders = symbolAccount.order_history[symbol] + if len(orders) == 0: + continue + + trade_date_begin = orders[0][0] + + #止盈保护 + close_prices = get_close_prices(symbol, trade_date_begin[:10], GetNowDate()) + if len(close_prices) < 1: + continue + + close_price_begin = close_prices[0] + realtime_price = get_realtime_price(symbol) + if realtime_price == -1: + continue + + if max(close_prices) >= (1 + threshold_profit_open)*close_price_begin: #止盈策略启动 + max_price = max(close_prices) + if realtime_price <= (1 - threshold_profit_pretect) * max_price: + #符合止盈策略,卖出 + reason = '符合止盈策略:相比最高价,下跌了{:.2}%'.format((max_price - realtime_price) / max_price * 100) + symbolAccount.order(symbol, symbolAccount.avail_secpos[symbol], realtime_price, GetNowDate()) + judgements.append((symbol, -1, reason)) + + elif realtime_price <= (1 - threshold_loss_pretect) * close_price_begin: + #符合止损策略,卖出 + down = (close_price_begin-realtime_price)/close_price_begin*100 + reason = '符合止损策略:相比成本价,下跌了{:.2f}%'.format(down) + symbolAccount.order(symbol, symbolAccount.avail_secpos[symbol], realtime_price, GetNowDate()) + judgements.append((symbol, -1, reason)) + + return judgements + + + + + + +class SymbolAccount(): + """ + 股票账户类 + """ + + def __init__(self, account=100000): + self.account = account #初始资金 + self.cash = self.account + self.avail_secpos = {} # 字典,键为证券代码,值为持有的证券数量, {'000001': 100, '600000': 100} + self.order_history = {} #dict, {symbol:000001, [(order_time:2016-07-11, , order_amount:100, order_price)]} , order_amount为正时买入,为负时卖出 + self.position_history = [] # 持仓历史[2016-07-11, cash, {'600000':100, '600031':300}] + + def init_position_from_db(self): + """ + 从数据库初始化持仓情况 + :return: + """ + sql = "SELECT * FROM classifier_db.trade_order order by trade_time asc" + df = pd.read_sql(sql, engine_test) + #剩余现金 + if len(df): + self.cash = df['cash'].get_values()[-1] + + for code in df['code'].drop_duplicates(): + df_code = df[df['code'] == code] + self.avail_secpos[code] = df_code['trade_count'].sum() + + self.order_history.setdefault(code, []) + for _, row in df_code.iterrows(): + self.order_history[code].append([str(row['trade_time']), row['trade_count'], row['trade_price']]) + + + + + + def order(self, smybol, amount, price, trade_date): + """ + + Parameters + ---------- + smybol: 股票代码 + amount: 数量, 正数为买入,负数为卖出 + price: 下单价格 + trade_date: 下单日期 + + Returns: True,成功; False,失败 + ------- + + """ + self.avail_secpos.setdefault(smybol, 0) + self.order_history.setdefault(smybol, []) + + if amount > 0: # 买入 + if amount * price < self.cash: + self.cash -= amount * price + self.avail_secpos[smybol] += amount + self.order_history[smybol].append([str(trade_date)[:10], amount, price]) + else: + return False + + else: #卖出 + if abs(amount) <= self.avail_secpos[smybol]: + self.cash += abs(amount) * price + self.avail_secpos[smybol] += amount + self.order_history[smybol].append([str(trade_date)[:10],amount, price]) + + for smybol in self.avail_secpos.keys(): + if self.avail_secpos[smybol] == 0: #删除持仓为0的股票 + del self.avail_secpos[smybol] + + self.position_history.append([trade_date, self.cash, copy.deepcopy(self.avail_secpos)]) + + + # def order_pct(self, smybol, pct, price): + # """ + # + # Parameters + # ---------- + # smybol: 股票代码 + # pct: 买入比例 + # price: 买入价格 + # + # Returns + # ------- + # + # """ + # pass + + + def get_current_account(self, current_date): + """ + 获取当前时间的持仓市值 + Parameters + ---------- + current_date: 当前日期 + + Returns + ------- + + """ + + smybol_market_values = 0 + for symbol in self.avail_secpos.keys(): + + # 获取股票价格 + close_hfq = get_close_price(symbol, current_date) + if close_hfq == -1: + msg = "{},{},get code close_price error!".format(symbol, current_date) + # raise Exception(msg) + print msg + return 0 + + smybol_market_values += close_hfq * self.avail_secpos[symbol] + + return smybol_market_values + self.cash + + def get_sorted_symbols_by_return_rate(self, trade_date): + """ + 持仓股票按收益率排序 + Returns + ------- + + """ + smybol_rate_list = [] + for smybol in self.order_history.keys(): + #单只股票持仓成本 + total_count = 0 + total_cost = 0.0 + for one_order in self.order_history[smybol]: + total_count += one_order[1] + total_cost += one_order[1] * one_order[2] + if total_count == 0: + continue + + aver_price = total_cost/total_count #平均持仓成本 + now_price = get_close_price(smybol, trade_date) + smybol_rate_list.append((smybol, (now_price-aver_price)/aver_price)) + + smybol_rate_list = sorted(smybol_rate_list, key=itemgetter(1), reverse=True) + return smybol_rate_list + + def get_all_order_history_by_date(self): + orders = [] + for smybol in self.order_history.keys(): + smybol_orders = self.order_history[smybol] + smybol_orders = [[smybol] +one for one in smybol_orders] + orders.extend(smybol_orders) + orders = sorted(orders, key =lambda x : x[1]) + print orders[:3] + print orders[-3:] + return orders + + def calcute_maximun_drawdown(self): + """ + 计算最大回撤 + Returns + ------- + """ + + jingzhi_list = self.get_jingzhi_daliy() + + if len(jingzhi_list) >= 2: + jingzhi_list_sorted = sorted(jingzhi_list, key=lambda x : x[1], reverse=True) + max_vale = jingzhi_list_sorted[0][1] + max_value_date = jingzhi_list_sorted[0][0] + jingzhi_list_after = [jingzhi for jingzhi in jingzhi_list if jingzhi[0] > max_value_date] + jingzhi_list_sorted = sorted(jingzhi_list, key=lambda x : x[1]) + min_value = jingzhi_list_sorted[0][1] + + max_drawdown = (max_vale-min_value)/max_vale * 100.0 + return max_drawdown + + return 0 + + def get_jingzhi_daliy(self): + """ + 获取每日净值 + Returns + ------- + """ + if len(self.position_history) < 2: + return [] + + # 持仓起止日期范围 + rng = pd.date_range(self.position_history[0][0], self.position_history[-1][0], freq='D') + jingzhi_list = [] + + for trade_date in rng: + # 获取现金,持仓股票及数量 + position = self.get_position_by_trade_date(trade_date) + if not position: + continue + + # 此刻的持仓成本 + cash = position[1] # cash + avail_secpos = position[2] + is_trade_date = True + + for smybol in avail_secpos.keys(): + close_price = get_close_price(smybol, trade_date) + if close_price == -1: + is_trade_date = False + break + cash += avail_secpos[smybol] * close_price + + if not is_trade_date: + continue + + jingzhi_list.append([trade_date, cash * 1.0 / self.account]) + + return jingzhi_list + + def get_position_by_trade_date(self, trade_date): + """ + 获取持仓股票及数量 + Parameters + ---------- + trade_date + + Returns + ------- + """ + for i in range(1,len(self.position_history)): + # print type(trade_date.to_datetime()), str(position[0]) + if str(trade_date.to_datetime()) >= str(self.position_history[i-1][0]) and str(trade_date.to_datetime()) < str(self.position_history[i][0]): + return self.position_history[i-1] + + # if len(self.position_history): + # return self.position_history[-1] + return None + +def get_close_price(symbol, trade_date): + """ + 获取后复权价格 + Parameters + ---------- + symbol + trade_date + + Returns + ------- + + """ + if len(symbol) == 6: + sql = "SELECT close FROM hq_db.stock_kline_fq where code='{}' and date>='{}' order by date asc".format(symbol, trade_date) + else: + sql = "SELECT close FROM hq_db.stock_kline_fq where code='{}' and date>='{}' order by date asc".format( + symbol, trade_date) + df = pd.read_sql(sql, engine) + closes = df['close'].get_values() + if len(closes) == 0: + # raise Exception("get code close_price error!") + return -1 + + return closes[0] + + +def get_close_prices(symbol, trade_date_begin, trade_date_end): + + """ + 获取前复权价格序列 + :param symbol: + :param trade_date_begin: + :param trade_date_end: + :return: + """ + + if len(symbol) == 6: + sql = "SELECT date, close FROM hq_db.stock_kline_fq where code='{}' and date>='{}' and date <='{}' order by date asc".format( + symbol, trade_date_begin, trade_date_end) + else: + sql = "SELECT date, close FROM hq_db.stock_kline_fq where code='{}' and date>='{}' and date <='{}' order by date asc".format( + symbol, trade_date_begin, trade_date_end) + df = pd.read_sql(sql, engine) + closes = df['close'].get_values() + + return closes + +def get_realtime_price(symbol): + """ + 获取实时股价 + :param symbol: + :return: + """ + try: + df = get_real_price_dataframe() + df_s = df[df['code'] == symbol] + if len(df_s['trade'].get_values()): + return df_s['trade'].get_values()[0] + else: + return -1 + except: + return -1 + +if __name__ == "__main__": stop_loss_by_price() \ No newline at end of file diff --git a/trade_process/strategy/stop_loss.pyc b/trade_process/strategy/stop_loss.pyc new file mode 100644 index 0000000000000000000000000000000000000000..094657fe1fd166dc2b7612a8f48452972daa6b4f GIT binary patch literal 9831 zcmcIqZEzfA9e;N3a>-rN7uuxdD9EX!#7?OoN+lGE5-5%mWUpH3wCrqd_tH!5CE4Ay ziR5O`04>-z<)vyXtw_}wp}^V?-xy>O(qci0I%U3M+np^fc(PT8LHO9jt%ozN-z zPQ{ZW;*2Rg_u>iO!`Pv0p{~@NQsaiK4(CvpBdg=Q5~`k1V@lPNYUU+_jZ8J3V7uX6 zKQ`)J(l4pzx>UBFQX$?`YF-YKJ1(lJI~8_|LN}?heCpjQOtJkOPO(en!fp;Wk9m5e zdyjNasR^b0Q?2ej(!HKmVGp}vf_g^H$xU#YKS%Atw3=)6pEK0jxwPt^=u-ZpMqE?x zm3~-(sji*tMZKZ?cMV+TI7XC877yS;`#DXYY!Kyor>5)_Ge^r#Dq}9G#?h*au$b#p zMI4TyjH!1GY@JKQR0&MQrC=(QVUZarkV)!*N=7DMCj0u>6W+-~*pAiY2YY$DpGA_% z;pfuNj$Al@R%1&FhI}ua_NznkGWJ;i>8*eN{+TUN=D96nKmQqj-q}*Z2&yF5BMJqO z!IzL*c;(lPBSb4OtI;~NaO~~oYtJ>0KYr8 zsDj%%`^HFb_1%A@dHj_R^exsuH@FP_LMHjy%4n_pwL+mbT@Awll$5Ha(4MRXrLa`1 z+C{%svE9+I4>isnr&P8BuYlSxiGm4lHjq(jzU%q+?otre{Mj&psar%y!0N-@z8CDS zm0iqND`F=#^av@%AE=qcrFn%gT(hVWYYos>SMjFCr`<8HfcvaUe38TyVZ z%;4Fh-dL$B=heCI@EQ!&Q4lpFdt7!1X%yiQ^m)lVXb{w@a^h}nZ*>q2lqA7s^D~#E0DXvvCD0!UVfZAu37P;Z1boH}$WE&YFkH8kfWJgrK#fG20>q#- zMX$0Vfz4tr5y^``{N=)_-(EcP>*oHm3vZm4veL)-A=gjrf^AZ zLqT>~Xtpv!;w-^(AxEMvMh1yjFd2j;5~(Ee1t-{TvBqMJ045f&NN5JR2)W|GD;KR# z;cY4Jxd-FfwurX9r;9T&xg z0mh+|5^6JZX(4hsYfNs;e1nb0d-Z^Ks-0L+mx7+uZP67Rek2=bvts z9gCF7Nwt0IA+;SK$`4ZFf?*_r3ljW=^M{(xzur7}x^eE=#{OS4e)FTofft$wesJOZ zv(5P@8&CZ{Zn=p0*)`aLf%5l#>%M!p<<{r!w;p;hS13C{P%4%{k?!b5EtbL^Ih~Hq z=5!&cFy{mX>qd+r%0UoOsJUK94WwIXs^$f@dv#Qckust=lAxM&q2h&QTsxR5OG~c` zj`Hl#3qp&PVh)k2_c-NgFOd1e6{v81kcB%vSuPd89)U1)FkR^YGuIJ#q3ac$>2fGj z!LIWC+TOq-yXh{WKS*dng60XiITAyVZYu%zPTO}B6>4#C4Pzo%{VjhoJh^i}P ztTOwI>&&%Azp>U_ZDfrCg|zjE986&`#8yiPAQQwPi(s~iT#UikVv%s!L{j<31>_0U z&sG3A4*z)$lEe$)kD9NVHu5qqB&z^1K*gqnKprg&kto`JkSnnqbGl;-zP$!CL%v$$ z!J&pQZw;26fME7=g`BTlk6AZe-K-SqO|8>_RY;lsJT2Sy+&CVZkL%=saB_yaYigZ= zf7{sx!YsnhJeCF{4Q8OM8ykqW1`f#&@}h$OAj!mn_HBnIH;@&?MK{MkaZym2g*h{n z(}aKF{I3>H{vfV&Dl~G2auDrH`wnl&HDCP|vKQVycj2Aa8&96vaPiCu{oXkELSx^# zxSvSWP!0xIaK^FfDgCGbiFio)9UszKEO{OERzsk24xrw4|&Y z>qHOLpzD*c-D0PiV!_c>9Nq$J@a9Xm~D6`#wxh`kVk*Yupb7SiFWSpoq?IK>mHK zz5)Nh_BpaGv{P)I=g8asr!^|XULh((5nN`+TY^TyZ%`m6yw0-D1&4IRHKy!}<4?5p z3oGD2wk+b^#VJ8-B^X;mV1=tOfvh_^#K>=;FG# zDM8m?kO9FHU8gQX*KRe4dx!Nb^Dj2R74&6>>vPdA@?YvI^43y1bK5B;QZ?r_{J;0k!U6jaW;y5HXt$YbkmULV;cl29WkFX~H;IQsi>+{;RdU`fVxkNFgB}_10|d zNe1+~;BF#(Ae%UkM#1$+R5#EmzE{7o+@Oz@GBfb4ZZtoo?e#@=%99)$I5pJF!>xnmgA`gl#K z+|~z}NvazqlNa(Bu_!zRUOyiqK}^TpSEG#PiMy z$;kcUPI1M!P*8Hr8T6p&PiY5E-WZ=u5_1@6c-Qsx!x*xotCdtVgLm?snA%AqB#G(q z#epY;gpJ~nVaNhy3;=RMj4>%*-)d-`Ts=F*F7j3r@K(4Gn}jN|otqJkQ^Fa11c2 z?mk4u)`7{F8()B!F2`Hal>4RnA(xXfgB2h^L|iDVv3$aR%u>+ukRjTuQpczZpXdz+ zhLlJoW!@w|Qysu;Ij;ruO(Ax%Ts5(4TR50jQ`^McKu-#|SREv2{qX_j$ILfrw6uaa zcgbf32&=?sXj3Eljv$-_bNoN?djk4=J2GGpnCZb95vmtM=Qs?VZWUZ=&58Y>H?}0P ze({$xYG5ofX10m7ogXBHFOJV>GrRfPVK`fjeUEqA)gMXtwS>_k7Qd+IdsCu$hDGWk zkpE+gg#9&~b6A6Q6B2QR$iL9mRbc-*lu-oYfF9_%?I(!@XfI66o3C&f0$NA-c=hd= zh+iGEzQdBuNJIu&gGxX~oIeSBmx9hIVuPo{l3z-K+J@Eq3s0~fiAoI^$;3w3BFoGb zj0-0+Mh0)IVVS@}F_PM5F+ZbiX(~qQRl)WFWM-Zuyn!!jAfQpM8YmjxH9@pO=Riy7 zXd<)|U!@T(T0>nc7)Lo(R`!22jvI>XEFL32l||q$4m0e-s$$g<0ZSr%+8S;gen!U& z;x-@6b8BOu?au#SY|{D>Y>tRqCGNMttOJDN>1+E|>;MK01;rz@KzQIC7P1Vulwfc$ z{yK~rP$*UAM)SMI>ZHUb1hBSUMU=+2MM`YDQgf%veCGs_Lo_DU2u^$VMa&%>Zcm&XFC*M^_Lu%q$F{ zqkJ%%F!U5{s62{bg274_UuX(T5d1~)g(HU=FCT3FV!k67br~w-(Adq=Px~5@y&RaG zpj_n7m1OGem^un)3%}@)_UEyW8^-Pe4%NuA3gK-;{HzZjMZO zw|g$Kqso503H=5pAqUxW~l8o$yfRCR#*Glo-K z9)SljEDaub_8Jxuc*Nq?9#>Gube#}+`d}wS;KVofAC>x{Nk&q08WH-7byUn@rBDQSr_W!Afuf0TOiM}& zwBUBd$DB&Q|L%u3zRK(|5=NvFD-Qe+TVF13!zv>YnwkW>oj~kLYZD85kl=qTAevS4 zb?l2Bro&QsBYE}SS`~4sQ2!?i`W=9zgFuyh;@?=S3KO%;l9RXrEkxs4WG{=5u()7r s97!8&lDlfe$=Ww-jej?MI!t{qC0sBqV| z3`jr$w|^n0p8KczGkPu1elrvk3F$GFw8Pn%;q2@;->&?>Hrs#v`Ex&^<;TPGdkmXH zX#5mqMEzH~qM=89UtAt#H5v!h4@fOT>ojaozd_okU-4R#bWM~N=|Ge=nH!|*H1enz zk!jL3k($Ul$DIb&O#i{B*HKX2O^9)v=;$O)Mv*htNu6z&1B?R<`!|Fm8cJcPc4tw} zea@^s%vI&D(VXZS(?FL0QS9}lk&9U7L7ZBNn^tjRyVrnd3?LKof@M+=E0aokfaV^9u`>@)NuA-CWAk+?URJ9$*@CJTjmpxZd4nwjBy7^6MXt>;bAaWM zdhwF*d-CEJdIHdoJB&onGA0A-@?@lA7u&71X~ZB}hIC+Skb8-}=-hzfxZSyRY@EjK zxvPs(=(G^^%(&!Ii)v=6br#SO9mbh8t_f`%j|^hV1eb9(66;B9%_JU|A$FRj&di*< zjd&9$&m*Z4vWT5IyXtV|j*HRxC;AJKC7z#sIY6n} zMAITqjJ2?qmA_I1-o5FS+eDhmD@G~jeO{-wt+v%}IsAKSQ{7Y>>XzE|6K(+$pZ6e) z{vArmL@-#PMMHl{G%yTX9fDNE6b0L_ePN!^4rE*Ndh7+~){Hn7K9a6xsl92E#OqOk zL}_Lmlca|fL`VAvU4e7|XkWO52cz4?ll_mwM^7bOtkcX1l}^*M^TJ5aC$UQ}OvIdZ z@8Sgz4xQ^_`ta)TJjVNv-pGs7a!h-cJl~l00EBozjko} zch$MxTj64f)*VDh8^Z^js|gWBe9fR5=>G#Qyu`QTT%Tv=JMNlrXT#g_w$+y3+G*{! Hf(`XAhtsLP literal 0 HcmV?d00001 diff --git a/trade_process/strategy/test.py b/trade_process/strategy/test.py index 3c55bf3..144c921 100644 --- a/trade_process/strategy/test.py +++ b/trade_process/strategy/test.py @@ -1,108 +1,108 @@ -#!/usr/local/bin/python -#coding=utf-8 - -from data_process.data_get import * -import pandas.io.data as web -import re, urllib, urllib2, cookielib - -def find_stock_by(code): - #print 'find begin' - code = getSixDigitalStockCode(code) - # 取六月以来的股价 - df = get_stock_k_line(code, date_start='2015-06-01') - close_prices = df[cm.KEY_CLOSE].get_values() - dates = df[cm.KEY_DATE].get_values() - if len(dates) == 0: - return - now_date = dates[-1][:10] - if now_date != '2015-07-10': - return - - max_price = close_prices.max() - now_price = close_prices[-1] - ratio = (max_price - now_price) / max_price - if ratio >= 0.6 and ratio < 0.: - print code, '相比六月以来最大值降幅 :%f' % (ratio * 100 ),'%' - -def getHtml(url): - page = urllib.urlopen(url) - html = page.read() - html = html.decode('GBK') - return html - -def getImg(html): - reg = r'"(http://quote.eastmoney.com/(sh|sz)[360].+html)">(.+)\(([0-9]{6})\)
  • ' - imgre = re.compile(reg) - imgList = re.findall(imgre, html) - - x = 0 - for imgurl in imgList: - print imgurl - #urllib.urlretrieve(imgurl, '%s.jpg' % x) - x = x + 1 - return len(imgList) - -if __name__ == "__main__": - -# codes = get_stock_codes() -# for code in codes: -# find_stock_by(code) -# some_text = 'alpha , beta ,,,gamma delta ' -# print re.split('[,]', some_text) -# -# pat = '[a-zA-Z]+' -# text = '"Hm...err -- are you sure?" he said, sounding insecure.' -# print re.findall(pat, text) -# -# pat = '{name}' -# text = 'Dear {name}...' -# print re.sub(pat, 'Mr. Gumby', text) -# -# print re.escape('www.python.org') -# print re.escape('but where is the ambiguity?') -# -# m = re.match(r'www\.(.*)\..{3}', 'www.python.org') -# print m.group(1) -# print m.start(1), m.end(1), m.span(1) - - #print getImg(getHtml('http://quote.eastmoney.com/stocklist.html')) - values = {"username":"cbbing", "password":"xx"} - data = urllib.urlencode(values) - url = "https://passport.csdn.net/account/login?from=http://my.csdn.net/my/mycsdn" - user_agent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36' - headers = {'User-Agent':user_agent} - - geturl = url+"?"+data - print geturl - - request = urllib2.Request(url, data, headers) - response = urllib2.urlopen(request) - #print response.read() - - cookie = cookielib.CookieJar() - handler = urllib2.HTTPCookieProcessor(cookie) - opener = urllib2.build_opener(handler) - response = opener.open("http://www.baidu.com") - for item in cookie: - print 'Name= ' + item.name - print 'Value= ' + item.value - -# filename='cookie.txt' -# cookie = cookielib.MozillaCookieJar(filename) -# handler = urllib2.HTTPCookieProcessor(cookie) -# opener = urllib2.build_opener(handler) -# response = opener.open("http://www.baidu.com") -# cookie.save(ignore_discard=True, ignore_expires=True) - - cookie = cookielib.MozillaCookieJar() - cookie.load('cookie.txt', ignore_discard=True, ignore_expires=True) - req = urllib2.Request("http://www.baidu.com") - opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie)) - response = opener.open(req) - print response.read() - - - - - +#!/usr/local/bin/python +#coding=utf-8 + +from data_process.data_get import * +import pandas.io.data as web +import re, urllib, urllib2, cookielib + +def find_stock_by(code): + #print 'find begin' + code = getSixDigitalStockCode(code) + # 取六月以来的股价 + df = get_stock_k_line(code, date_start='2015-06-01') + close_prices = df[cm.KEY_CLOSE].get_values() + dates = df[cm.KEY_DATE].get_values() + if len(dates) == 0: + return + now_date = dates[-1][:10] + if now_date != '2015-07-10': + return + + max_price = close_prices.max() + now_price = close_prices[-1] + ratio = (max_price - now_price) / max_price + if ratio >= 0.6 and ratio < 0.: + print code, '相比六月以来最大值降幅 :%f' % (ratio * 100 ),'%' + +def getHtml(url): + page = urllib.urlopen(url) + html = page.read() + html = html.decode('GBK') + return html + +def getImg(html): + reg = r'"(http://quote.eastmoney.com/(sh|sz)[360].+html)">(.+)\(([0-9]{6})\)' + imgre = re.compile(reg) + imgList = re.findall(imgre, html) + + x = 0 + for imgurl in imgList: + print imgurl + #urllib.urlretrieve(imgurl, '%s.jpg' % x) + x = x + 1 + return len(imgList) + +if __name__ == "__main__": + +# codes = get_stock_codes() +# for code in codes: +# find_stock_by(code) +# some_text = 'alpha , beta ,,,gamma delta ' +# print re.split('[,]', some_text) +# +# pat = '[a-zA-Z]+' +# text = '"Hm...err -- are you sure?" he said, sounding insecure.' +# print re.findall(pat, text) +# +# pat = '{name}' +# text = 'Dear {name}...' +# print re.sub(pat, 'Mr. Gumby', text) +# +# print re.escape('www.python.org') +# print re.escape('but where is the ambiguity?') +# +# m = re.match(r'www\.(.*)\..{3}', 'www.python.org') +# print m.group(1) +# print m.start(1), m.end(1), m.span(1) + + #print getImg(getHtml('http://quote.eastmoney.com/stocklist.html')) + values = {"username":"cbbing", "password":"xx"} + data = urllib.urlencode(values) + url = "https://passport.csdn.net/account/login?from=http://my.csdn.net/my/mycsdn" + user_agent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36' + headers = {'User-Agent':user_agent} + + geturl = url+"?"+data + print geturl + + request = urllib2.Request(url, data, headers) + response = urllib2.urlopen(request) + #print response.read() + + cookie = cookielib.CookieJar() + handler = urllib2.HTTPCookieProcessor(cookie) + opener = urllib2.build_opener(handler) + response = opener.open("http://www.baidu.com") + for item in cookie: + print 'Name= ' + item.name + print 'Value= ' + item.value + +# filename='cookie.txt' +# cookie = cookielib.MozillaCookieJar(filename) +# handler = urllib2.HTTPCookieProcessor(cookie) +# opener = urllib2.build_opener(handler) +# response = opener.open("http://www.baidu.com") +# cookie.save(ignore_discard=True, ignore_expires=True) + + cookie = cookielib.MozillaCookieJar() + cookie.load('cookie.txt', ignore_discard=True, ignore_expires=True) + req = urllib2.Request("http://www.baidu.com") + opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie)) + response = opener.open(req) + print response.read() + + + + + \ No newline at end of file diff --git a/trade_process/strategy/tread_tracking.py b/trade_process/strategy/tread_tracking.py index e42c720..ca6ee03 100644 --- a/trade_process/strategy/tread_tracking.py +++ b/trade_process/strategy/tread_tracking.py @@ -1,542 +1,559 @@ -#!/usr/local/bin/python -#coding=utf-8 -# 趋势追踪策略 -""" -http://t.cn/RqQv0JW -""" - -import pandas as pd -import matplotlib.pyplot as plt -import numpy as np -from data_process.data_get import get_stock_k_line -from tushare.util import dateu as du -import datetime -import tushare as ts -import cwavelet - -#参数 -prama_ma_short = 12 # 短均线 -prama_ma_long = 40 # 长均线 -filter_range = 0.004 # 滤波区间 -drift = 0.0015 #漂移项 -param_big_band = 0.02 #大波段判断条件 -protect_big_band = 0.002 # 大波段保护止赢点 - -SIGNAL_BUY = 1 #买 -SIGNAL_SALE = -1 #卖 -SIGNAL_DEFAULT = 0 - -# 趋势追踪实时交易 -# 参数 -# code:股票代码 -# df: 个股的K线数据 -# price_now:实时股价 -def tread_track_live_trading(code, price_now, df=None): - - # 分析某个时间段的股票 - #dateS = datetime.datetime.today().date() + datetime.timedelta(-100) - #date_start = dateS.strftime("%Y-%m-%d") - #df = df[df.index > date_start] - - try: - df = get_stock_k_line(code) - #df = df.reindex(df.index[::-1]) - except Exception as e: - print str(e) - return - #print df - - close_price = df['close'].get_values() - close_price = np.append(close_price, float(price_now)) - ma_short = pd.rolling_mean(close_price, prama_ma_short) - ma_long = pd.rolling_mean(close_price, prama_ma_long) - #print ma_short - - - signal = SIGNAL_SALE - - print '交易开始' - - plt.figure(figsize=(16,8)) - #plt.plot(range(len(ma_short)), ma_short.get_values(), label=code, color="b", linewidth=1) - - plt.xlabel("Time") - plt.ylabel("Price") - - # 过滤微小波动 - extreIndex = -1 #极值点的索引 - for i in range(prama_ma_short+1, len(ma_short)-1): - bMax = ma_short[i] > ma_short[i-1] and ma_short[i] > ma_short[i+1] # 极大值的条件 - bMin = ma_short[i] < ma_short[i-1] and ma_short[i] < ma_short[i+1] # 极小值的条件 - if bMax or bMin: - extreIndex = i - elif extreIndex > 0: - if ma_short[i] > ma_short[extreIndex]*(1-filter_range) and \ - ma_short[i] < ma_short[extreIndex]*(1+filter_range): - ma_short[i] = ma_short[extreIndex] - #print i,ma_short[i] - - #plt.plot(range(len(ma_short.get_values())), ma_short.get_values(), label=code, color="r", linewidth=1) - - # 交易次数 - count_sale = 0 - count_buy = 0 - - min_index_pre = 0 #前一个极小值 - max_index_pre = 0 #前一个极大值 - - # 止损位 - keep_stop_price = 0 - keep_stop_index = 0 - - # 止赢位 - keep_win_price = 0 - keep_win_index = 0 - - total = 0 - price_buy = 0 - price_init = 0 - money_init = 50000 - stock_money = money_init - stock_count = 0 - - - #for i in range(prama_ma_short+1, len(ma_short)-1): - for i in range(len(ma_short)-30, len(ma_short)-1): - - #滤波后的均线走平时(即处于滤波区间内),将其识别为一个点 - index_post = i+1 - - try: - while(ma_short[index_post] == ma_short[i] and index_post < len(ma_short)-1): - index_post += 1 - except Exception as e: - print str(e) - - # 长均线保护策略 - bLongMA_protect_close = True - try: - bLongMA_protect_close = ma_short[i] > ma_long[i] # 长均线保护是否关闭 - except Exception as e: - print str(e) - #if bLongMA_protect_close == False: - #print "长均线保护打开", i - - # 高低点比较策略 - if ma_short[i] > ma_short[i-1] and ma_short[i] > ma_short[index_post]: - #print '极大值:', ma_short[i], 'pos:', i - if bLongMA_protect_close and max_index_pre > 0 and ma_short[i] < ma_short[max_index_pre] + drift*(i-max_index_pre) and signal == SIGNAL_BUY: - signal = SIGNAL_SALE - print '卖出:', close_price[i], 'pos:', i - count_sale += 1 - total += close_price[i] - price_buy - - stock_money += stock_count * close_price[i] - stock_count = 0 - - max_index_pre = i - elif ma_short[i] < ma_short[i-1] and ma_short[i] < ma_short[index_post]: - #print '极小值:', ma_short[i], 'pos:', i - if bLongMA_protect_close and min_index_pre > 0 and ma_short[i] > ma_short[min_index_pre] + drift*(i-min_index_pre) and signal == SIGNAL_SALE: - signal = SIGNAL_BUY - print '买入:', close_price[i], 'pos:', i - count_buy += 1 - price_buy = close_price[i] - if price_init == 0: - price_init = price_buy - - stock_count = (stock_money/100)/close_price[i]*100 - stock_money = stock_money - stock_count*close_price[i] - min_index_pre = i - - # 高低点突破策略 - # 股价突破前一个低点加漂移项,则卖出 - elif bLongMA_protect_close and signal == SIGNAL_BUY and min_index_pre > 0 and \ - ma_short[i] < ma_short[min_index_pre] + drift*(i-min_index_pre): - signal = SIGNAL_SALE - print '卖出:', close_price[i], 'pos:', i - count_sale += 1 - total += close_price[i] - price_buy - - stock_money += stock_count * close_price[i] - stock_count = 0 - - # 股价突破前一个高点加漂移项,则买入 - elif bLongMA_protect_close and signal == SIGNAL_SALE and max_index_pre > 0 and \ - ma_short[i] > ma_short[max_index_pre] + drift*(i-max_index_pre): - signal = SIGNAL_BUY - print '买入:', close_price[i], 'pos:', i - count_buy += 1 - price_buy = close_price[i] - - stock_count = (stock_money/100)/close_price[i]*100 - stock_money = stock_money - stock_count*close_price[i] - - # 大波段保护策略 - elif min_index_pre > 0 and ma_short[i] >= ma_short[min_index_pre]*(1+param_big_band): - keep_stop_price = ma_short[i] * (1-protect_big_band) #止损位 - keep_stop_index = i - elif bLongMA_protect_close and signal == SIGNAL_BUY and keep_stop_price > 0 and \ - ma_short[i] < keep_stop_price + drift*(i-keep_stop_index): - signal = SIGNAL_SALE - print '卖出:', close_price[i], 'pos:', i - count_sale += 1 - total += close_price[i] - price_buy - - stock_money += stock_count * close_price[i] - stock_count = 0 - - - - - print "buy count:", count_buy - print "sale count:", count_sale - - if stock_count > 0: - stock_money += stock_count * close_price[-1] - total += close_price[-1] - price_buy - - print "每股盈利:", total, "收益率:", (stock_money-money_init)/money_init*100,"%\n" - - print '交易结束' - - plt.grid() - #plt.legend() - #plt.show() - return (stock_money-money_init)/money_init*100 - - -# 趋势追踪回测 -# 参数 -# code:股票代码 -# df: 个股的K线数据 -def tread_track_backtest(code, df=None): - - df = get_stock_k_line(code, date_start='2015-12-30', date_end='2016-05-05') - if len(df) == 0: - return None - - print df.head(2) - # 分析某个时间段的股票 - #dateS = datetime.datetime.today().date() + datetime.timedelta(-100) - #date_start = dateS.strftime("%Y-%m-%d") - #df = df[df.index > date_start] - #print df - - # try: - # df = df.reindex(df.index[::-1]) - # except Exception as e: - # print str(e) - # return - #print df - - close_price = df['close'].get_values() - ma_short = pd.rolling_mean(df['close'], prama_ma_short) - ma_long = pd.rolling_mean(df['close'], prama_ma_long) - #print ma_short - - signal = SIGNAL_SALE - - print '交易开始' - - #plt.figure(figsize=(16,8)) - #plt.plot(range(len(ma_short)), ma_short.get_values(), label=code, color="b", linewidth=1) - - # plt.xlabel("Time") - # plt.ylabel("Price") - - - - # 判断极点 -# for i in range(prama_ma_short+1, len(ma_short)-1): -# if ma_short[i] > ma_short[i-1] and ma_short[i] > ma_short[i+1]: -# print '极大值:', ma_short[i], 'pos:', i -# -# elif ma_short[i] < ma_short[i-1] and ma_short[i] < ma_short[i+1]: -# print '极小值:', ma_short[i], 'pos:', i - - # 过滤微小波动 - extreIndex = -1 #极值点的索引 - for i in range(prama_ma_short+1, len(ma_short)-1): - bMax = ma_short[i] > ma_short[i-1] and ma_short[i] > ma_short[i+1] # 极大值的条件 - bMin = ma_short[i] < ma_short[i-1] and ma_short[i] < ma_short[i+1] # 极小值的条件 - if bMax or bMin: - extreIndex = i - elif extreIndex > 0: - if ma_short[i] > ma_short[extreIndex]*(1-filter_range) and \ - ma_short[i] < ma_short[extreIndex]*(1+filter_range): - ma_short[i] = ma_short[extreIndex] - #print i,ma_short[i] - - xticklabels = df['date'].apply(lambda x : str(x)).get_values() - # print xticklabels[:5] - # print xticklabels[-5:] - - #plt.plot(df['date'].get_values(), ma_short.get_values(), label=code, color="r", linewidth=1) - #plt.plot(df['date'].get_values(), ma_short.get_values(), color="r") - - def wavlet_plt(): - # trick to get the axes - fig,ax = plt.subplots() - - xValues = close_price[-200:] - ax.plot(xValues, label=code, color="r", linewidth=1) - zValues = cwavelet.getWaveletData(xValues, 'db2', 2, 'sqtwolog') - zxValue = np.arange(0,len(zValues),1) - #plt.figure(figsize=(16,8)) - - ax.plot(zxValue, zValues, color="b", linewidth=2) - ax.grid() - - # make ticks and tick labels - xticks=range(0, len(xValues)+1,10) - #xticklabels=['2000-01-0'+str(n) for n in range(1,len(xValues)+1)] - xticklabels = df['date'].apply(lambda x : str(x)).get_values() - - - # set ticks and tick labels - ax.set_xticks(xticks) - ax.set_xticklabels(xticklabels,rotation=15) - - #plt.legend() - plt.show() - - min_index_pre = 0 #前一个极小值 - max_index_pre = 0 #前一个极大值 - - keep_stop_up_price = 0 - keep_stop_down_price = 0 - - stockPos = StockPosition(50000, code) - - #for i in range(prama_ma_short+1, len(ma_short)-1): - for i in range(prama_ma_long-1, len(ma_short)-1): - # print prama_ma_long, len(ma_short)-1 - # print ma_short[prama_ma_long] - # print ma_long[prama_ma_long] - - #滤波后的均线走平时(即处于滤波区间内),将其识别为一个点 - index_post = i+1 - while (ma_short[index_post] == ma_short[i] and index_post < len(ma_short) - 1): - index_post += 1 - - # 长均线保护策略: - # bLongMA_forbid_buy = ma_short[i] < ma_long[i] # 买入保护 - # bLongMA_forbid_sale = not bLongMA_forbid_buy # 卖出保护 - # - # if bLongMA_forbid_buy and signal == SIGNAL_BUY: - # signal = SIGNAL_SALE - # stockPos.sale(close_price[i], str(df.ix[i, 'date'])) - # min_index_pre = 0 - # max_index_pre = 0 - # keep_stop_up_price = 0 - # keep_stop_down_price = 0 - # continue - # if bLongMA_forbid_buy and signal == SIGNAL_SALE: - # continue - - # if len(stockPos.transaction_records): # 有交易以后才考虑此情况 - # signal = SIGNAL_BUY - # stockPos.buy(close_price[i], str(df.ix[i, 'date'])) - # #print '买入:', close_price[i], ' ', str(df.ix[i, 'date']) - # continue - - # 高低点比较策略 - if ma_short[i] > ma_short[i-1] and ma_short[i] > ma_short[index_post]: # 极大值 - # <卖出> 如果当前高点比前一个高点的向下漂移项低,则空头开仓或持有空头; - # <买入> 如果当前高点比前一个高点的向上漂移项高,则多头开仓或持有多头; - if max_index_pre > 0 and i > max_index_pre: - - if signal == SIGNAL_BUY and ma_short[i] < ma_short[max_index_pre] - drift*(i-max_index_pre): - signal = SIGNAL_SALE - stockPos.sale(close_price[i], str(df.ix[i, 'date'])) - min_index_pre = 0 - max_index_pre = 0 - keep_stop_up_price = 0 - keep_stop_down_price = 0 - continue - elif signal == SIGNAL_SALE and ma_short[i] > ma_short[max_index_pre] + drift*(i-max_index_pre): - signal = SIGNAL_BUY - stockPos.buy(close_price[i], str(df.ix[i, 'date'])) - keep_stop_up_price = 0 - keep_stop_down_price = 0 - continue - - max_index_pre = i - elif ma_short[i] < ma_short[i-1] and ma_short[i] < ma_short[index_post]: # 极小值 - # < 买入 > 如果当前低点比前一个低点的向上漂移项高,则多头开仓或持有多头; - # < 卖出 > 如果当前低点比前一个低点的向下漂移项低,则空头开仓或持有空头 - if min_index_pre > 0 and i > min_index_pre: - if signal == SIGNAL_SALE and ma_short[i] > ma_short[min_index_pre] + drift*(i-min_index_pre): - signal = SIGNAL_BUY - stockPos.buy(close_price[i], str(df.ix[i, 'date'])) - keep_stop_up_price = 0 - keep_stop_down_price = 0 - continue - elif signal == SIGNAL_BUY and ma_short[i] > ma_short[min_index_pre] - drift*(i-min_index_pre): - signal = SIGNAL_SALE - stockPos.sale(close_price[i], str(df.ix[i, 'date'])) - min_index_pre = 0 - max_index_pre = 0 - keep_stop_up_price = 0 - keep_stop_down_price = 0 - continue - - min_index_pre = i - - # 高低点突破策略 - # <卖出>如果滤波后的均线比前一个低点的向下漂移项低,则空头开仓或持有空头。 - elif signal == SIGNAL_BUY and min_index_pre > 0 and ma_short[i] < ma_short[min_index_pre] - drift*(i-min_index_pre): - signal = SIGNAL_SALE - stockPos.sale(close_price[i], str(df.ix[i, 'date'])) - min_index_pre = 0 - max_index_pre = 0 - keep_stop_up_price = 0 - keep_stop_down_price = 0 - continue - - # <买入>如果滤波后的均线比前一个高点的向上漂移项高,则多头开仓或持有多头。 - elif signal == SIGNAL_SALE and max_index_pre > 0 and ma_short[i] > ma_short[max_index_pre] + drift*(i-max_index_pre): - signal = SIGNAL_BUY - stockPos.buy(close_price[i], str(df.ix[i, 'date'])) - keep_stop_up_price = 0 - keep_stop_down_price = 0 - continue - - # 大波段保护策略 - ## 向上的大波段 - if min_index_pre > 0 and close_price[i] >= ma_short[min_index_pre] * (1 + param_big_band): - if close_price[i] * (1 - protect_big_band) > keep_stop_up_price: - keep_stop_up_price = close_price[i] * (1 - protect_big_band) # 止盈位 - keep_stop_up_index = i - if signal == SIGNAL_BUY and keep_stop_up_price > 0 and \ - close_price[i] < keep_stop_up_price + drift*(i-keep_stop_up_index): - signal = SIGNAL_SALE - stockPos.sale(close_price[i], str(df.ix[i, 'date'])) - min_index_pre = 0 - max_index_pre = 0 - keep_stop_up_price = 0 - keep_stop_down_price = 0 - continue - - ## 向下的大波段 - if max_index_pre > 0 and close_price[i] <= ma_short[max_index_pre] * (1 - param_big_band): - if keep_stop_down_price == 0 or close_price[i] * (1 + protect_big_band) < keep_stop_down_price: - keep_stop_down_price = close_price[i] * (1 + protect_big_band) # 止损位 - keep_stop_down_index = i - if signal == SIGNAL_SALE and keep_stop_down_price > 0 and \ - close_price[i] > keep_stop_down_price + drift * (i + keep_stop_down_index): - - signal = SIGNAL_BUY - keep_stop_up_price = 0 - keep_stop_down_price = 0 - stockPos.buy(close_price[i], str(df.ix[i, 'date'])) - continue - - stockPos.current_price = close_price[-1] - stockPos.summary() - - print '交易结束' - - #plt.grid() - #plt.legend() - #plt.show() - return stockPos - -class StockPosition(): - - def __init__(self, cash, code): - self.code = code - self.init_cash = cash - self.cash = cash - self.stock_count = 0 - self.transaction_records = {} # {2016-05-05: ('BUY', 20.1元, 1000股), 2016-03-01: ('SALE', 23.0元, 200股)} - self.current_price = 0 - - def buy(self, price, buy_date, buy_ratio=1.0): - """ - :param price: - :param buy_date: - :param buy_ratio: 默认为1, 以所有现金购买; - :return: - """ - count = self.cash / price - count = (int)(count / 100) * 100 - self.cash = self.cash - price * count - self.stock_count = count - self.transaction_records[buy_date] = ('BUY', price, count) - print buy_date, 'BUY', price, count - a = 0 - - def sale(self, price, sale_date, sale_ratio=1.0): - """ - :param price: - :param sale_date: - :param sale_ratio: 默认为1, 卖出所有; - :return: - """ - money = price * self.stock_count - self.cash += money - - dates = self.transaction_records.keys() - dates.sort() - data = self.transaction_records.get(dates[-1]) - price_buy = data[1] - - self.transaction_records[sale_date] = ('SALE', price, self.stock_count) - print sale_date, 'SALE', price, self.stock_count, "{:.2f}%".format((price-price_buy)/price_buy*100) - - self.stock_count = 0 - - def summary(self, price = 0): - """ - 统计时的股价 - :param price: - :return: - """ - if price == 0: - price = self.current_price - - cash_now = self.cash + self.stock_count * price - out1 = '交易次数:{}'.format(len(self.transaction_records)) - out2 = "收益率:{}%".format((cash_now - self.init_cash) / self.init_cash * 100) - print self.code, out1, out2 - return (cash_now - self.init_cash) / self.init_cash * 100, len(self.transaction_records) - -if __name__ == "__main__": - list_stock = ['600011','002600','002505','000725','000783','600048','300315','002167','601001'] - result = [] -# for code in list_stock: -# result.append(tread_track_backtest(code)) -# print '平均盈亏',sum(result)/len(list_stock), '%' - #result += tread_track('150172') - # df = ts.get_realtime_quotes(list_stock) - # for index in df.index: - # tread_track_live_trading(list_stock[index], df.iloc[index]['price']) - - - # import tushare as ts - # df = ts.get_hs300s() - # print df.head() - # stockPoss = [tread_track_backtest(code) for code in df['code'].get_values()[::]] - # - # result_list = list() - # for stockPos in stockPoss: - # if stockPos: - # r1, r2 = stockPos.summary() - # result_list.append((stockPos.code, r2, r1)) - # result_list = sorted(result_list, key = lambda x : x[2]) - # print result_list[0] - # print result_list[-1] - - tread_track_backtest('002236') - - - - - - - - - +#!/usr/local/bin/python +#coding=utf-8 +# 趋势追踪策略 +""" +http://t.cn/RqQv0JW +""" + +import pandas as pd +import matplotlib.pyplot as plt +import numpy as np +# from data_process.data_get import get_stock_k_line +from trade_process import efund_mail2 +from tushare.util import dateu as du +import datetime +import tushare as ts +import cwavelet + +#参数 +prama_ma_short = 2 # 短均线 +prama_ma_long = 7 # 长均线 +prama_ma_long20 = 15 # 长均线 +prama_ma_long30 = 20 # 长均线 +filter_range = 0.004 # 滤波区间 +drift = 0.0015 #漂移项 +param_big_band = 0.02 #大波段判断条件 +protect_big_band = 0.002 # 大波段保护止赢点 + +SIGNAL_BUY = 1 #买 +SIGNAL_SALE = -1 #卖 +SIGNAL_DEFAULT = 0 + +# 趋势追踪实时交易 +# 参数 +# code:股票代码 +# df: 个股的K线数据 +# price_now:实时股价 +def tread_track_live_trading(code, price_now, df=None): + # 分析某个时间段的股票 + #dateS = datetime.datetime.today().date() + datetime.timedelta(-100) + #date_start = dateS.strftime("%Y-%m-%d") + #df = df[df.index > date_start] + try: + fundlist = efund_mail2.get_histrydata(code,365) + df = pd.DataFrame(fundlist[::-1], columns=['date', 'close', 'countclose','change']) + #df = df.reindex(df.index[::-1]) + except Exception as e: + print str(e) + return + #print df + close_price = df['close'].get_values() + close_price = np.append(close_price, float(price_now)) + ma_short = pd.rolling_mean(close_price, prama_ma_short) + ma_long = pd.rolling_mean(close_price, prama_ma_long) + ma_long20 = pd.rolling_mean(close_price, prama_ma_long20) + ma_long30 = pd.rolling_mean(close_price, prama_ma_long30) + #print ma_short + + signal = SIGNAL_SALE + print '趋势追踪实时交易,交易开始' + + plt.figure(figsize=(8,5)) + plt.plot(range(len(ma_short)), ma_short, label=code, color="b", linewidth=1) + plt.plot(range(len(ma_long)), ma_long, label=code, color="r", linewidth=1) + plt.plot(range(len(ma_long20)), ma_long20, label=code, color="g", linewidth=1) + plt.plot(range(len(ma_long30)), ma_long30, label=code, linewidth=1) + plt.plot(range(len(close_price)), close_price, label='close', linewidth=1) + plt.xlabel("Time") + plt.ylabel("Price") + + # 过滤微小波动 + extreIndex = -1 #极值点的索引 + for i in range(prama_ma_short+1, len(ma_short)-1): + bMax = ma_short[i] > ma_short[i-1] and ma_short[i] > ma_short[i+1] # 极大值的条件 + bMin = ma_short[i] < ma_short[i-1] and ma_short[i] < ma_short[i+1] # 极小值的条件 + if bMax or bMin: + extreIndex = i + elif extreIndex > 0: + if ma_short[i] > ma_short[extreIndex]*(1-filter_range) and \ + ma_short[i] < ma_short[extreIndex]*(1+filter_range): + ma_short[i] = ma_short[extreIndex] + #print i,ma_short[i] + + #plt.plot(range(len(ma_short.get_values())), ma_short.get_values(), label=code, color="r", linewidth=1) + + # 交易次数 + count_sale = 0 + count_buy = 0 + + min_index_pre = 0 #前一个极小值 + max_index_pre = 0 #前一个极大值 + + # 止损位 + keep_stop_price = 0 + keep_stop_index = 0 + + # 止赢位 + keep_win_price = 0 + keep_win_index = 0 + + total = 0 + price_buy = 0 + price_init = 0 + money_init = 50000 + stock_money = money_init + stock_count = 0 + + #for i in range(prama_ma_short+1, len(ma_short)-1): + for i in range(len(ma_short)-30, len(ma_short)-1): + + #滤波后的均线走平时(即处于滤波区间内),将其识别为一个点 + index_post = i+1 + + try: + while(ma_short[index_post] == ma_short[i] and index_post < len(ma_short)-1): + index_post += 1 + except Exception as e: + print str(e) + + # 长均线保护策略 + bLongMA_protect_close = True + try: + bLongMA_protect_close = ma_short[i] > ma_long[i] # 长均线保护是否关闭 + except Exception as e: + print str(e) + #if bLongMA_protect_close == False: + #print "长均线保护打开", i + + # 高低点比较策略 + if ma_short[i] > ma_short[i-1] and ma_short[i] > ma_short[index_post]: + #print '极大值:', ma_short[i], 'pos:', i + if bLongMA_protect_close and max_index_pre > 0 and ma_short[i] < ma_short[max_index_pre] + drift*(i-max_index_pre) and signal == SIGNAL_BUY: + signal = SIGNAL_SALE + print '卖出:', close_price[i], 'pos:', i + count_sale += 1 + total += close_price[i] - price_buy + + stock_money += stock_count * close_price[i] + stock_count = 0 + + max_index_pre = i + elif ma_short[i] < ma_short[i-1] and ma_short[i] < ma_short[index_post]: + #print '极小值:', ma_short[i], 'pos:', i + if bLongMA_protect_close and min_index_pre > 0 and ma_short[i] > ma_short[min_index_pre] + drift*(i-min_index_pre) and signal == SIGNAL_SALE: + signal = SIGNAL_BUY + print '买入:', close_price[i], 'pos:', i + count_buy += 1 + price_buy = close_price[i] + if price_init == 0: + price_init = price_buy + + stock_count = (stock_money/100)/close_price[i]*100 + stock_money = stock_money - stock_count*close_price[i] + min_index_pre = i + + # 高低点突破策略 + # 股价突破前一个低点加漂移项,则卖出 + elif bLongMA_protect_close and signal == SIGNAL_BUY and min_index_pre > 0 and \ + ma_short[i] < ma_short[min_index_pre] + drift*(i-min_index_pre): + signal = SIGNAL_SALE + print '卖出:', close_price[i], 'pos:', i + count_sale += 1 + total += close_price[i] - price_buy + + stock_money += stock_count * close_price[i] + stock_count = 0 + + # 股价突破前一个高点加漂移项,则买入 + elif bLongMA_protect_close and signal == SIGNAL_SALE and max_index_pre > 0 and \ + ma_short[i] > ma_short[max_index_pre] + drift*(i-max_index_pre): + signal = SIGNAL_BUY + print '买入:', close_price[i], 'pos:', i + count_buy += 1 + price_buy = close_price[i] + + stock_count = (stock_money/100)/close_price[i]*100 + stock_money = stock_money - stock_count*close_price[i] + + # 大波段保护策略 + elif min_index_pre > 0 and ma_short[i] >= ma_short[min_index_pre]*(1+param_big_band): + keep_stop_price = ma_short[i] * (1-protect_big_band) #止损位 + keep_stop_index = i + elif bLongMA_protect_close and signal == SIGNAL_BUY and keep_stop_price > 0 and \ + ma_short[i] < keep_stop_price + drift*(i-keep_stop_index): + signal = SIGNAL_SALE + print '卖出:', close_price[i], 'pos:', i + count_sale += 1 + total += close_price[i] - price_buy + + stock_money += stock_count * close_price[i] + stock_count = 0 + print "buy count:", count_buy + print "sale count:", count_sale + + if stock_count > 0: + stock_money += stock_count * close_price[-1] + total += close_price[-1] - price_buy + + print "每股盈利:", total, "收益率:", (stock_money-money_init)/money_init*100,"%\n" + print '交易结束' + + # plt.grid() + # plt.legend() + # plt.show() + return (stock_money-money_init)/money_init*100 + +# 趋势追踪回测 +# 参数 +# code:股票代码 +# df: 个股的K线数据 +def tread_track_backtest(code, df=None): + # df = get_stock_k_line(code, date_start='2015-12-30', date_end='2016-05-05') + # df=efund_mail2.get_histrydata(code,365) + fundlist = efund_mail2.get_histrydata(code, 365) + df = pd.DataFrame(fundlist[::-1], columns=['date', 'close', 'countclose', 'change']) + if len(df) == 0: + return None + # print df.head(2) + # 分析某个时间段的股票 + #dateS = datetime.datetime.today().date() + datetime.timedelta(-100) + #date_start = dateS.strftime("%Y-%m-%d") + #df = df[df.index > date_start] + #print df + + # try: + # df = df.reindex(df.index[::-1]) + # except Exception as e: + # print str(e) + # return + #print df + + close_price = df['close'].get_values() + ma_short = pd.rolling_mean(df['close'], prama_ma_short) + ma_long = pd.rolling_mean(df['close'], prama_ma_long) + ma_long20 = pd.rolling_mean(close_price, prama_ma_long20) + ma_long30 = pd.rolling_mean(close_price, prama_ma_long30) + #print ma_short + + signal = SIGNAL_SALE + + print '趋势追踪回测,交易开始' + + #plt.figure(figsize=(16,8)) + #plt.plot(range(len(ma_short)), ma_short.get_values(), label=code, color="b", linewidth=1) + + # plt.xlabel("Time") + # plt.ylabel("Price") + + # 判断极点 + # for i in range(prama_ma_short+1, len(ma_short)-1): + # if ma_short[i] > ma_short[i-1] and ma_short[i] > ma_short[i+1]: + # print '极大值:', ma_short[i], 'pos:', i + # + # elif ma_short[i] < ma_short[i-1] and ma_short[i] < ma_short[i+1]: + # print '极小值:', ma_short[i], 'pos:', i + + # 过滤微小波动 + extreIndex = -1 #极值点的索引 + for i in range(prama_ma_short+1, len(ma_short)-1): + bMax = ma_short[i] > ma_short[i-1] and ma_short[i] > ma_short[i+1] # 极大值的条件 + bMin = ma_short[i] < ma_short[i-1] and ma_short[i] < ma_short[i+1] # 极小值的条件 + if bMax or bMin: + extreIndex = i + elif extreIndex > 0: + if ma_short[i] > ma_short[extreIndex]*(1-filter_range) and \ + ma_short[i] < ma_short[extreIndex]*(1+filter_range): + ma_short[i] = ma_short[extreIndex] + #print i,ma_short[i] + + xticklabels = df['date'].apply(lambda x : str(x)).get_values() + # print xticklabels[:5] + # print xticklabels[-5:] + + #plt.plot(df['date'].get_values(), ma_short.get_values(), label=code, color="r", linewidth=1) + #plt.plot(df['date'].get_values(), ma_short.get_values(), color="r") + + def wavlet_plt(): + # trick to get the axes + fig,ax = plt.subplots() + + xValues = close_price[-200:] + ax.plot(xValues, label=code, color="r", linewidth=1) + zValues = cwavelet.getWaveletData(xValues, 'db2', 2, 'sqtwolog') + zxValue = np.arange(0,len(zValues),1) + #plt.figure(figsize=(16,8)) + + ax.plot(zxValue, zValues, color="b", linewidth=2) + ax.grid() + + # make ticks and tick labels + xticks=range(0, len(xValues)+1,10) + #xticklabels=['2000-01-0'+str(n) for n in range(1,len(xValues)+1)] + xticklabels = df['date'].apply(lambda x : str(x)).get_values() + + + # set ticks and tick labels + ax.set_xticks(xticks) + ax.set_xticklabels(xticklabels,rotation=15) + + #plt.legend() + plt.show() + + min_index_pre = 0 #前一个极小值 + max_index_pre = 0 #前一个极大值 + + keep_stop_up_price = 0 + keep_stop_down_price = 0 + + stockPos = StockPosition(50000, code) + + #for i in range(prama_ma_short+1, len(ma_short)-1): + for i in range(prama_ma_long-1, len(ma_short)-1): + # print prama_ma_long, len(ma_short)-1 + # print ma_short[prama_ma_long] + # print ma_long[prama_ma_long] + + #滤波后的均线走平时(即处于滤波区间内),将其识别为一个点 + index_post = i+1 + while (ma_short[index_post] == ma_short[i] and index_post < len(ma_short) - 1): + index_post += 1 + + # 长均线保护策略: + # bLongMA_forbid_buy = ma_short[i] < ma_long[i] # 买入保护 + # bLongMA_forbid_sale = not bLongMA_forbid_buy # 卖出保护 + # + # if bLongMA_forbid_buy and signal == SIGNAL_BUY: + # signal = SIGNAL_SALE + # stockPos.sale(close_price[i], str(df.ix[i, 'date'])) + # min_index_pre = 0 + # max_index_pre = 0 + # keep_stop_up_price = 0 + # keep_stop_down_price = 0 + # continue + # if bLongMA_forbid_buy and signal == SIGNAL_SALE: + # continue + + # if len(stockPos.transaction_records): # 有交易以后才考虑此情况 + # signal = SIGNAL_BUY + # stockPos.buy(close_price[i], str(df.ix[i, 'date'])) + # #print '买入:', close_price[i], ' ', str(df.ix[i, 'date']) + # continue + + # 高低点比较策略 + if ma_short[i] > ma_short[i-1] and ma_short[i] > ma_short[index_post]: # 极大值 + # <卖出> 如果当前高点比前一个高点的向下漂移项低,则空头开仓或持有空头; + # <买入> 如果当前高点比前一个高点的向上漂移项高,则多头开仓或持有多头; + if max_index_pre > 0 and i > max_index_pre: + + if signal == SIGNAL_BUY and ma_short[i] < ma_short[max_index_pre] - drift*(i-max_index_pre): + signal = SIGNAL_SALE + stockPos.sale(close_price[i], str(df.ix[i, 'date'])) + min_index_pre = 0 + max_index_pre = 0 + keep_stop_up_price = 0 + keep_stop_down_price = 0 + continue + elif signal == SIGNAL_SALE and ma_short[i] > ma_short[max_index_pre] + drift*(i-max_index_pre): + signal = SIGNAL_BUY + stockPos.buy(close_price[i], str(df.ix[i, 'date'])) + keep_stop_up_price = 0 + keep_stop_down_price = 0 + continue + + max_index_pre = i + elif ma_short[i] < ma_short[i-1] and ma_short[i] < ma_short[index_post]: # 极小值 + # < 买入 > 如果当前低点比前一个低点的向上漂移项高,则多头开仓或持有多头; + # < 卖出 > 如果当前低点比前一个低点的向下漂移项低,则空头开仓或持有空头 + if min_index_pre > 0 and i > min_index_pre: + if signal == SIGNAL_SALE and ma_short[i] > ma_short[min_index_pre] + drift*(i-min_index_pre): + signal = SIGNAL_BUY + stockPos.buy(close_price[i], str(df.ix[i, 'date'])) + keep_stop_up_price = 0 + keep_stop_down_price = 0 + continue + elif signal == SIGNAL_BUY and ma_short[i] > ma_short[min_index_pre] - drift*(i-min_index_pre): + signal = SIGNAL_SALE + stockPos.sale(close_price[i], str(df.ix[i, 'date'])) + min_index_pre = 0 + max_index_pre = 0 + keep_stop_up_price = 0 + keep_stop_down_price = 0 + continue + + min_index_pre = i + + # 高低点突破策略 + # <卖出>如果滤波后的均线比前一个低点的向下漂移项低,则空头开仓或持有空头。 + elif signal == SIGNAL_BUY and min_index_pre > 0 and ma_short[i] < ma_short[min_index_pre] - drift*(i-min_index_pre): + signal = SIGNAL_SALE + stockPos.sale(close_price[i], str(df.ix[i, 'date'])) + min_index_pre = 0 + max_index_pre = 0 + keep_stop_up_price = 0 + keep_stop_down_price = 0 + continue + + # <买入>如果滤波后的均线比前一个高点的向上漂移项高,则多头开仓或持有多头。 + elif signal == SIGNAL_SALE and max_index_pre > 0 and ma_short[i] > ma_short[max_index_pre] + drift*(i-max_index_pre): + signal = SIGNAL_BUY + stockPos.buy(close_price[i], str(df.ix[i, 'date'])) + keep_stop_up_price = 0 + keep_stop_down_price = 0 + continue + + # 大波段保护策略 + ## 向上的大波段 + if min_index_pre > 0 and close_price[i] >= ma_short[min_index_pre] * (1 + param_big_band): + if close_price[i] * (1 - protect_big_band) > keep_stop_up_price: + keep_stop_up_price = close_price[i] * (1 - protect_big_band) # 止盈位 + keep_stop_up_index = i + if signal == SIGNAL_BUY and keep_stop_up_price > 0 and \ + close_price[i] < keep_stop_up_price + drift*(i-keep_stop_up_index): + signal = SIGNAL_SALE + stockPos.sale(close_price[i], str(df.ix[i, 'date'])) + min_index_pre = 0 + max_index_pre = 0 + keep_stop_up_price = 0 + keep_stop_down_price = 0 + continue + + ## 向下的大波段 + if max_index_pre > 0 and close_price[i] <= ma_short[max_index_pre] * (1 - param_big_band): + if keep_stop_down_price == 0 or close_price[i] * (1 + protect_big_band) < keep_stop_down_price: + keep_stop_down_price = close_price[i] * (1 + protect_big_band) # 止损位 + keep_stop_down_index = i + if signal == SIGNAL_SALE and keep_stop_down_price > 0 and \ + close_price[i] > keep_stop_down_price + drift * (i + keep_stop_down_index): + + signal = SIGNAL_BUY + keep_stop_up_price = 0 + keep_stop_down_price = 0 + stockPos.buy(close_price[i], str(df.ix[i, 'date'])) + continue + stockPos.current_price = close_price[-1] + stockPos.startcountPrice = close_price[0] + + stockPos.summary() + print '交易结束' + # plt.grid() + # plt.legend() + # plt.show() + return stockPos + +class StockPosition(): + + def __init__(self, cash, code): + self.code = code + self.init_cash = cash + self.cash = cash + self.stock_count = 0 + self.transaction_records = {} # {2016-05-05: ('BUY', 20.1元, 1000股), 2016-03-01: ('SALE', 23.0元, 200股)} + self.current_price = 0 + self.startcountPrice=0 + + + def buy(self, price, buy_date, buy_ratio=1.0): + """ + :param price: + :param buy_date: + :param buy_ratio: 默认为1, 以所有现金购买; + :return: + """ + count = self.cash / price + count = (int)(count / 100) * 100 + self.cash = self.cash - price * count + self.stock_count = count + self.transaction_records[buy_date] = ('BUY', price, count) + print buy_date, 'BUY', price, count + a = 0 + + def sale(self, price, sale_date, sale_ratio=1.0): + """ + :param price: + :param sale_date: + :param sale_ratio: 默认为1, 卖出所有; + :return: + """ + money = price * self.stock_count + self.cash += money + + dates = self.transaction_records.keys() + dates.sort() + data = self.transaction_records.get(dates[-1]) + price_buy = data[1] + + self.transaction_records[sale_date] = ('SALE', price, self.stock_count) + print sale_date, 'SALE', price, self.stock_count, "{:.2f}%".format((price-price_buy)/price_buy*100) + + self.stock_count = 0 + + def summary(self, price = 0): + """ + 统计时的股价 + :param price: + :return: + """ + if price == 0: + price = self.current_price + initcash_now=self.init_cash*(self.current_price/self.startcountPrice) + cash_now = self.cash + self.stock_count * price + out1 = '交易次数:{}'.format(len(self.transaction_records)) + out2 = "收益率:{}%".format((cash_now - self.init_cash) / self.init_cash * 100) + out3= "超额收益率:{}%".format((cash_now - initcash_now) / self.init_cash * 100) + print self.code, out1, out2 ,out3 + return (cash_now - self.init_cash) / self.init_cash * 100, len(self.transaction_records) + +def stock_trader_main(code): + # code = [['002963', 'egold'], ['003321', 'eoil'], ['004744', 'eGEI'], ['110003', 'eSSE50'], ['110020', 'HS300'], + # ['110031', 'eHSI'], ['161130', 'eNASDAQ100'], ['110028', 'anxinB'], ['110022', 'eConsumption '], + # ['161125', 'SPX500']] + name = ['eGold', 'eoil', '创业板', '上证50', '沪深300', '恒生', '易方达纳斯达克100', '安心b'] + buysell = [] + for i in code: + # save(strfundcode=i ,numdays=365*1) + buysell.append(tread_track_backtest(i)) + for i in buysell: + i.summary() + # url = 'http://fund.eastmoney.com/%s.html' % i[0] + # todayvalue = efund_mail2.spider(url) + # if todayvalue != None: + # tread_track_live_trading(i,todayvalue[1]) + +if __name__ == "__main__": + # list_stock = ['600011','002600','002505','000725','000783','600048','300315','002167','601001'] + # result = [] + # for code in list_stock: + # result.append(tread_track_backtest(code)) + # print '平均盈亏',sum(result)/len(list_stock), '%' + #result += tread_track('150172') + # df = ts.get_realtime_quotes(list_stock) + # for index in df.index: + # tread_track_live_trading(list_stock[index], df.iloc[index]['price']) + + + # import tushare as ts + # df = ts.get_hs300s() + # print df.head() + # stockPoss = [tread_track_backtest(code) for code in df['code'].get_values()[::]] + # + # result_list = list() + # for stockPos in stockPoss: + # if stockPos: + # r1, r2 = stockPos.summary() + # result_list.append((stockPos.code, r2, r1)) + # result_list = sorted(result_list, key = lambda x : x[2]) + # print result_list[0] + # print result_list[-1] + stock_trader_main() + + + + + + + + + + + \ No newline at end of file diff --git a/trade_process/strategy/tread_tracking.pyc b/trade_process/strategy/tread_tracking.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1a75282049f9d51c6ed69cb8f8654440e74c6ecf GIT binary patch literal 11195 zcmb_iU2t2+bw2mvhXnX53KT(!`n8;}i6To>Q^~9~e z?<{ZuO0>sqNboLp&+a{Y_MEf3=i5c(KiiUDI++>GN%b#+@887ZTb76`GK$m^*Or1M zqjoJHk;$lx#%jg5j5cXLB86s|PRM9NEWQ?%LQKijgSg<=C2o_9ZWOm!MpNQ~Ww*FV8Qml<*!76pDx+y}!L64ZMmLKKZd)j++aXVb zvQ_h)n%^ca*n&fsJS}obljMK_Y< z`5>4XeBgm#Z?5=&GyA(w?E9^eWd48fccvejlAr~NH$GQ%Gt=38VZab$AiCMWo6FnC z<(rsvFi9bq_^)sO`;SkL%^aP0|Mw=}3Z6TAbmC&_#?UXGeEw*)>hYs_^3LOt94)gQ zPXfLYXA`8bQ5Sg^3qISAu%VIT8xSn#H7M%89IsghtF1^)R^>6#;Kddm;_BS*(?=g5>m0)kR79l zj+07nQA)gl(yElE21=V!nj0wXN=Zo2A&W_xe&}S-DU&c=Lfl>G+_G5il3=3*DXBmn z?Hw8T162UmYNrFZonRGN-MXpP8onB~2Jf|7H`iJ>H?)RVuH8COYYjmS?`k`HwG6RZ zJD8zWjj^g7Jai*l=u2?*lonvX#TJ?W4;^+3$JP^$9)&cNfBXwSkwtVImrASjnlD!M zPDQ13*uI<}4ZL*LKEz+chq?NW| zhSpz?N7s72LG3EC+P(Y_(FQu?rWrunCgpdc71bdr$k&b5CA~o}yGDIF)x*J{J}JRw zT_4|xR;OlKhA{oO?*q z0rDR_0*v`ce4SNKjYFPyRUV@m#6DOWD*~Mg`SJNt`~F`w zp>9Q{gVUu?y$bUDOH=4JSn7LqdYCE1Vr>dBB-w^{dt}Jnj&IDU&638WzBlCVAoHDM zyt-z%|2{+uXY$hsB{X2c?u~GwRG6DC`q=lu77+@zd=LvI-wTpjJy#4&G0x)oY;nT# z??-m!jcZHKzPJ+<`b*R+fA{Dhx>(#s=E zkv!RJABF6gS1`Sm3Z-(u0A~zwgh(M@^e*Jx;JgMsT4AauRLV#5(?-fi%K4n9F;V`J zcffiZ-t{@ArQd&H>GGR{KF2gu@&}c8`}?miJ#&39k3dFz4sC31VMnfn;SKsNq-6_U zt<2DD`L#b-`O2$zUb?b$<=g-I){A~CY0tlL=cQ-weC;v`jO6Z5D%}kE&aLN`Uw)-u zBfM~|{aew@!6QLCk_j)!oX`6~c>&7KB2I#Yu8#UR%AYM~F*fSp#C*=13G$_45J3s; z)f#;JiELrc^YzW*OhBV#XJ)*jtEwC?l(IoUQOl(Q^f-~3_OeCoc?P_*h)Fa4d1yOm zLz|FPC>1B*?sriJ_T5W6uulWr;fIIL96Oa6K6dJa3OG{;R1}zcuI#CqW(uW1Wh&EU zv{k_?YO8r;d&<6GvXpo{UkJQ%#x$qt9xcxqL%Zetc%TZX_WPO7ecp^Ii$P_^@)Mb{ zEHu!mBPa!4E(nSJ43$-&T*)=MouS`kilqyxM0Y%(u^6!zU>J2bPY0=PpV8LZB-9;! z3wP9Ias7xTt4)1{)f06|dH*%Xv=QyC>Tlyxlnc6AITD4eKj>=Zok^f5?ctf#8) zM}=tOA4BfM;JJMV9)9#3Ewx|Ma~Nc9>ReFHx*lK6dA<)?8Ozwj0?1z0&7hQyVFXeq@PG!%X=+;`tfPA+CbZF z?ZcLhyS)juiRd!@6@2~z;q7$QB!cZNZ#BgU)f1<0_84N1kU zssq(J6&MOYCt7QZmy${`xDxF^32`O%dBC^?_dLARtmvpsz!`@GJ&+0Lmog>m=m=01 zqe@^y)h|{lI!ar2(+xTTkiEA((9y}Y+5;W62%-&t!~z^DKW?ETNHx186^I1QV4Fw2 z&afG=41$w(#2u`=*~m1kGw8_FfoNVoJbTjuU;K|ypHbj)1l}!ruwh9RqqoXsk;|4` zwq+c+zg4~p2?36qiQ<^z6{HAuk!}zyp@7bC0$QL;=D!ld8iUDCCEcscTx=1_)Y=}z zTm(iK*v6WG3XCc?2&-OY;I33KJ&4z4PuL?33Nf82MtLpLKnGhY2s9O$`9F)Ga}=w2 zoGENj*E`hsUI+ZFi&COtI;F7ePy|~f+y+7JJ<> zeSorN2kcphfNop0Tjc9@UEOVu5fSoLyWRBBx~{EsVTxwqf|t@Y7F^M^e;BP*B)w&Ua6vgG5Sl1Zn`qYLB6h~)m^2Hi0fvYpGK=1 zYnS5t!qFNL+!#~Mpg7KA~#p-U1d|iY!{N`t|Uq<;h)&W6F`}ne<8NI z8DBS@qWf?;*wxf9IOx#~4(qBV;DMYEBxz{Os}xO9RLL! zW`WffJ*LKCC-7bu4yqaKHDEl4d%eR=-eE}XFrsr9m*(+^&)|3!kbCKy%YS!m6@*g| zmSe!mhwO&&D1t)BfU{PtlEZq+Z4SU49%-9XZ@w_!k7Qk=xMuJ>T*yw3x!EIa=)z|Q zIVOx}Si2FA|2`5E(_9ichwTg-pQZY5uJp}uQi7jyY9AUgt<)|?S+2J@8r@M@CY>RcsL5XHJ<=ZA&ic1f+ zWpapVT-1hr9A{GPwS63s4kX7p1vub1P7jWiou1lOkD)Cbh~xMl=jP~vaaaEa4F632 z5bh-$s>ERc?+|7=49^X+jv(ib4d|VOA{>7FbGQQ7eW9Nos!$j} zSA40 zVU*ZicGB7o^s*(=XC)(jc3-s3+8EK3n0wDe`tXJxf;hzJ4xQ8KViKzN4Dh4s)9EFB zGm|Y$^i@4X;rWhQ!1)++k0DV6JWLe$NXgIB1Ds!B9W|g=!)tOdAbt%FTA^OD zmiw%e=dj;Kv^@qO9^mBa$DsTFh(sb?K+;`Sw4>A7gbz@5ByPtxtbwT`eNEk)fuf0} z?T*OqcoG=8J-sKAw)X((ejHEjQ!guuj-;(RCB7;jC(e!@TK#^cp&ad3^xukTilw_wArGc&2i3U%3iKic7108bmu%0bt^Lg zy~4ONOFEY)<8#Q!IyqT0SY`CsDUee=!z zdv@Hub$$8jQ_FvH_0HE`fA8|wSN`_9IQahcI#-+;&XtRGZh9WBt0E3n)d$Y>Q%`C$ zrQ=vqt?raTR!?*oa_KgxGV7jNlT-bM1(i)3nNvR)N3!c}e`g$Ae-zrism)5^lfYuK z!BTV6KSFc=1qx<%z~WWYM){kGs2sF8b6`OI$;2f@T)4MHsE1!az@4fUN`hDLV1N-B zrVmaDc>V;lo7ZuWY#c#DOXCQUsw1c$4Z#TzK(cugZf%-yYZH?c7{W3CCmND~_)2QRZBkGl^3p zyu8Xf$3a?mA9KO2I-C-gxG{KYjVG z>VA5U*@bG3ejQbHKap&WHr`JTBieZ71pfnfkSI*AZq6mfBw$>?0k;M&EV!+gm&0T}2K z>ClHA@~aD}x%JtGHQu>JNvW#1ok+HJw5D<(2-QX6LwI~{#h4KAX}GTmamcGBz zK0}4&FaP14=U-9CgS+kJ7rwvp!yn#x^KX`4cnz7QXRhr>JG#%(jjKy1D6B(yRgBT%U_` z(=!VORP)AJg{fWDIUw-t9Lb!2K3n$o&IS2`L$6V^=FX{XT;c=X`BTr;mRb);PZn!p z#gDOqqp1TugA55G757)Kl8>MG?6J?Cdej+XTP|zHa5?6_&g2@Bx_LCWPBv-==fh^M q9-;310VHu;)OA>`xOnWubjOF+h>afuH=0_%+xp(dqlwPe-v0%bo-bnn literal 0 HcmV?d00001 diff --git a/trade_process/strategy/turtletrader.py b/trade_process/strategy/turtletrader.py index 8df6465..1d78217 100644 --- a/trade_process/strategy/turtletrader.py +++ b/trade_process/strategy/turtletrader.py @@ -1,11 +1,11 @@ -#!/usr/local/bin/python -#coding=utf-8 - -# 海龟交易系统 -# 参数: -# code:股票代码 -# klineValue: k线历史数据 -def turtle(code, klineValue): - print 'begin turtle' - +#!/usr/local/bin/python +#coding=utf-8 + +# 海龟交易系统 +# 参数: +# code:股票代码 +# klineValue: k线历史数据 +def turtle(code, klineValue): + print 'begin turtle' + print 'end turtle' \ No newline at end of file diff --git "a/trade_process/\345\237\272\351\207\221\347\273\274\345\220\210\346\216\222\345\220\215\347\273\223\346\236\234.txt" "b/trade_process/\345\237\272\351\207\221\347\273\274\345\220\210\346\216\222\345\220\215\347\273\223\346\236\234.txt" new file mode 100644 index 0000000..c827033 --- /dev/null +++ "b/trade_process/\345\237\272\351\207\221\347\273\274\345\220\210\346\216\222\345\220\215\347\273\223\346\236\234.txt" @@ -0,0 +1,174 @@ +1 161725 招商中证白酒指数分级 股票指数 14 4 3 1 5.5 +2 160222 国泰国证食品饮料行业指数分级 股票指数 15 5 9 4 8.25 +3 110022 易方达消费行业 股票型 16 14 4 2 9.0 +4 162605 景顺长城鼎益混合(LOF) 混合型 10 10 10 11 10.25 +5 260108 景顺长城新兴成长混合 混合型 9 11 8 14 10.5 +6 000248 汇添富中证主要消费ETF联接 联接基金 26 6 12 8 13.0 +7 001740 光大中国制造2025混合 混合型 28 8 11 19 16.5 +8 160632 鹏华酒分级 股票指数 44 7 17 7 18.75 +9 000083 汇添富消费行业混合 混合型 29 31 14 24 24.5 +10 206007 鹏华消费优选混合 混合型 17 33 15 36 25.25 +11 000854 鹏华养老产业 股票型 18 24 24 51 29.25 +12 001542 国泰互联网+股票 股票型 88 19 5 5 29.25 +13 519664 银河美丽混合A 混合型 20 27 18 59 31.0 +14 481012 工银深证红利联接 联接基金 23 51 26 30 32.5 +15 310388 申万菱信消费增长混合 混合型 40 16 23 52 32.75 +16 070032 嘉实优化红利混合 混合型 48 29 13 47 34.25 +17 550016 信诚至远C 分级杠杆 1 3 60 77 35.25 +18 000462 农银主题轮动混合 混合型 38 15 28 60 35.25 +19 519665 银河美丽混合C 混合型 24 32 22 65 35.75 +20 180012 银华富裕主题混合 混合型 100 23 19 6 37.0 +21 000431 鹏华品牌传承混合 混合型 27 18 30 75 37.5 +22 001076 易方达改革红利混合 混合型 32 9 40 72 38.25 +23 001606 农银工业4.0混合 混合型 43 30 29 53 38.75 +24 000742 国泰新经济灵活配置混合 混合型 100 41 16 9 41.5 +25 020005 国泰金马稳健 混合型 39 49 51 28 41.75 +26 260110 景顺长城精选蓝筹混合 混合型 31 65 37 40 43.25 +27 001631 天弘中证食品饮料指数A 股票指数 75 25 62 22 46.0 +28 260116 景顺长城核心竞争力混合A 混合型 33 89 35 34 47.75 +29 001632 天弘中证食品饮料指数C 股票指数 77 28 65 23 48.25 +30 004008 中融鑫思路混合A 混合型 100 1 6 87 48.5 +31 000619 东方红产业升级混合 混合型 100 52 27 15 48.5 +32 001112 东方红中国优势混合 混合型 100 57 21 17 48.75 +33 519056 海富通内需热点混合 混合型 19 17 76 85 49.25 +34 004009 中融鑫思路混合C 混合型 100 2 7 88 49.25 +35 360007 光大保德信优势配置混合 混合型 49 26 71 57 50.75 +36 001387 中融新经济混合A 混合型 100 100 1 3 51.0 +37 260103 景顺长城动力平衡 混合型 22 98 58 29 51.75 +38 001287 安信优势增长混合A 混合型 50 13 74 71 52.0 +39 110011 易方达中小盘混合 混合型 62 87 47 12 52.0 +40 040008 华安策略优选混合 混合型 63 95 20 31 52.25 +41 110003 易方达上证50指数A 股票指数 42 67 75 32 54.0 +42 519690 交银稳健配置混合A 混合型 100 45 25 48 54.5 +43 002851 南方品质混合 混合型 37 64 31 89 55.25 +44 530015 建信深证60联接 联接基金 47 86 43 46 55.5 +45 160216 国泰商品 QDII 7 35 100 100 60.5 +46 160628 鹏华地产分级 股票指数 2 48 100 100 62.5 +47 165312 建信央视50 股票指数 100 100 33 20 63.25 +48 519066 汇添富蓝筹稳健 混合型 84 100 32 38 63.5 +49 169101 东方红睿丰混合 混合型 100 100 38 16 63.5 +50 161129 易方达原油A类人民币 QDII 21 39 100 100 65.0 +51 540012 汇丰晋信恒生龙头指数A 股票指数 69 100 67 25 65.25 +52 004528 长盛盛通纯债A none 3 60 100 100 65.75 +53 003321 易方达原油C类人民币 QDII 25 40 100 100 66.25 +54 519772 交银新生活力灵活配置混合 混合型 100 12 66 95 68.25 +55 217027 招商央视财经50指数A 股票指数 100 100 52 21 68.25 +56 519606 国泰金鑫 股票型 100 100 55 18 68.25 +57 519068 汇添富成长焦点混合 混合型 100 100 34 41 68.75 +58 270041 广发消费品精选混合 混合型 71 100 79 26 69.0 +59 540009 汇丰晋信消费红利 股票型 100 100 49 27 69.0 +60 001208 诺安低碳经济股票 股票型 100 47 88 45 70.0 +61 001281 长安鑫利优选混合A 混合型 100 83 42 55 70.0 +62 001044 嘉实新消费股票 股票型 100 100 46 35 70.25 +63 002666 前海开源沪港深创新成长混合A 混合型 100 56 36 90 70.5 +64 398061 中海消费混合 混合型 100 36 78 69 70.75 +65 020026 国泰成长优选混合 混合型 100 100 70 13 70.75 +66 002072 长安鑫利优选混合C 混合型 100 85 44 56 71.25 +67 001170 泰达宏利复兴混合 混合型 100 66 50 70 71.5 +68 160127 南方新兴消费分级 股票型 100 100 77 10 71.75 +69 002853 华富元鑫灵活配置混合A 混合型 100 100 2 86 72.0 +70 000167 广发聚优灵活配置混合A 混合型 51 100 56 83 72.5 +71 002667 前海开源沪港深创新成长混合C 混合型 100 61 39 91 72.75 +72 001712 东方红优势精选混合 混合型 100 100 53 39 73.0 +73 002624 广发优企精选混合 混合型 59 34 100 100 73.25 +74 000634 富国天盛灵活配置混合 混合型 72 21 100 100 73.25 +75 001892 长盛新兴成长混合 混合型 13 84 100 100 74.25 +76 660010 农银策略精选混合 混合型 100 54 99 44 74.25 +77 002124 广发新兴产业混合 混合型 30 69 100 100 74.75 +78 160218 国泰国证房地产行业指数分级 股票指数 4 96 100 100 75.0 +79 000029 富国宏观策略 混合型 80 22 100 100 75.5 +80 002697 中欧消费主题股票C 股票型 60 43 100 100 75.75 +81 001404 招商移动互联网产业股票基金 股票型 46 58 100 100 76.0 +82 000746 招商行业精选股票 股票型 97 46 85 76 76.0 +83 001583 安信新常态股票 股票型 100 100 41 63 76.0 +84 003119 博时鑫源混合A 混合型 5 100 100 100 76.25 +85 003120 博时鑫源混合C 混合型 6 100 100 100 76.5 +86 570001 诺德价值优势混合 混合型 100 100 57 49 76.5 +87 001605 国富沪港深成长精选股票 股票型 87 20 100 100 76.75 +88 161721 招商沪深300地产指数分级 股票指数 8 100 100 100 77.0 +89 001047 光大国企改革股票 股票型 53 55 100 100 77.0 +90 020023 国泰事件驱动策略混合 混合型 93 100 84 33 77.5 +91 241001 华宝海外中国成长混合 QDII 100 100 68 42 77.5 +92 164906 交银中证海外中国互联网指数 QDII-指数 100 100 73 37 77.5 +93 519225 海富通集利债券 债券型 11 100 100 100 77.75 +94 002085 长盛互联网+混合 混合型 12 99 100 100 77.75 +95 000751 嘉实新兴产业股票 股票型 100 100 59 54 78.25 +96 001179 德邦大健康灵活配置混合 混合型 100 100 63 50 78.25 +97 376510 上投大盘蓝筹 股票型 100 100 54 64 79.5 +98 002621 中欧消费主题股票A 股票型 70 50 100 100 80.0 +99 110015 易方达行业领先混合 混合型 100 100 61 62 80.75 +100 001725 汇添富高端制造股票 股票型 82 42 100 100 81.0 +101 000423 前海开源事件驱动混合A 混合型 66 100 89 78 83.25 +102 004642 南方房地产ETF联接A none 34 100 100 100 83.5 +103 001865 前海开源事件驱动混合C 混合型 64 100 90 80 83.5 +104 000011 华夏大盘精选 混合型 90 100 83 61 83.5 +105 160605 鹏华中国50 混合型 35 100 100 100 83.75 +106 163805 中银策略混合 混合型 61 74 100 100 83.75 +107 004643 南方房地产ETF联接C none 36 100 100 100 84.0 +108 004374 华泰保兴吉年丰混合发起A 混合型 100 37 100 100 84.25 +109 001878 嘉实沪港深精选股票 股票型 100 100 45 92 84.25 +110 001371 富国沪港深价值混合 混合型 100 100 94 43 84.25 +111 004375 华泰保兴吉年丰混合发起C 混合型 100 38 100 100 84.5 +112 501018 南方原油 QDII 41 100 100 100 85.25 +113 002121 广发沪港深新起点股票 股票型 100 100 48 93 85.25 +114 001236 博时丝路主题股票A 股票型 100 44 100 100 86.0 +115 001518 万家瑞兴 混合型 45 100 100 100 86.25 +116 070018 嘉实回报 混合型 100 92 97 58 86.75 +117 000532 景顺长城优势企业混合 混合型 81 100 86 81 87.0 +118 000529 广发竞争优势混合 混合型 100 93 82 74 87.25 +119 003704 光大保德信事件驱动混合 混合型 54 97 100 100 87.75 +120 040005 华安宏利混合 混合型 52 100 100 100 88.0 +121 163412 兴全轻资产混合(LOF) 混合型 79 73 100 100 88.0 +122 180013 银华领先策略混合 混合型 100 53 100 100 88.25 +123 000173 汇添富美丽30混合 混合型 100 81 93 79 88.25 +124 000020 景顺长城品质投资混合 混合型 100 100 81 73 88.5 +125 001040 新华策略精选股票 股票型 55 100 100 100 88.75 +126 519185 万家精选混合 混合型 56 100 100 100 89.0 +127 519087 新华优选分红混合 混合型 57 100 100 100 89.25 +128 001157 国联安睿祺灵活配置混合 混合型 58 100 100 100 89.5 +129 163406 兴全合润分级混合 混合型 86 72 100 100 89.5 +130 003243 上投摩根中国世纪人民币 QDII 100 100 64 94 89.5 +131 100022 富国天瑞强势 混合型 100 59 100 100 89.75 +132 001163 银华中国梦30股票 股票型 100 94 98 67 89.75 +133 001581 华安沪港深通精选灵活配置混合 混合型 100 62 100 100 90.5 +134 118001 易方达亚洲精选 QDII 100 100 96 66 90.5 +135 398021 中海能源策略 混合型 100 63 100 100 90.75 +136 001681 新华积极价值灵活配置混合 混合型 65 100 100 100 91.25 +137 003940 银华盛世精选灵活配置混合发起式 混合型 100 100 69 96 91.25 +138 217001 招商安泰混合 混合型 67 100 100 100 91.75 +139 110010 易方达价值成长混合A 混合型 68 100 100 100 92.0 +140 001458 广发中证全指主要消费联接A 联接基金 100 68 100 100 92.0 +141 200008 长城品牌优选混合 混合型 100 100 100 68 92.0 +142 002214 中海沪港深价值优选混合 混合型 100 100 72 97 92.25 +143 002189 农银汇理国企改革混合 混合型 100 70 100 100 92.5 +144 002976 广发中证全指主要消费联接C 联接基金 100 71 100 100 92.75 +145 163810 中银价值精选 混合型 73 100 100 100 93.25 +146 519979 长信内需成长混合 混合型 100 100 91 82 93.25 +147 162719 广发道琼斯石油指数A QDII-指数 74 100 100 100 93.5 +148 000127 农银行业领先混合 混合型 100 75 100 100 93.75 +149 004243 广发道琼斯石油指数C QDII-指数 76 100 100 100 94.0 +150 004183 富国产业升级混合 none 100 76 100 100 94.0 +151 519642 银河智造混合 混合型 100 77 100 100 94.25 +152 519191 万家新利灵活配置混合 混合型 78 100 100 100 94.5 +153 161706 招商优质成长混合(LOF) 混合型 100 78 100 100 94.5 +154 002534 华安稳固收益债券A 债券型 100 100 80 98 94.5 +155 217012 招商行业领先混合A 混合型 100 79 100 100 94.75 +156 370024 上投摩根核心优选混合 混合型 100 100 95 84 94.75 +157 001663 中银互联网+股票 股票型 100 80 100 100 95.0 +158 001657 长安鑫富领先混合 混合型 100 82 100 100 95.5 +159 000835 华润元大富时中国A50指数 股票指数 83 100 100 100 95.75 +160 163411 兴全精选混合 保本型 85 100 100 100 96.25 +161 001927 华夏消费升级灵活配置混合A 混合型 100 100 87 99 96.5 +162 004477 嘉实沪港深回报混合 混合型 100 88 100 100 97.0 +163 519915 富国消费主题混合 混合型 89 100 100 100 97.25 +164 004263 华安沪港深机会灵活配置混合 none 100 90 100 100 97.5 +165 001626 国泰央企改革股票 股票型 91 100 100 100 97.75 +166 160624 鹏华消费领先混合 混合型 100 91 100 100 97.75 +167 005063 广发中证全指家用电器指数A none 92 100 100 100 98.0 +168 001928 华夏消费升级灵活配置混合C 混合型 100 100 92 100 98.0 +169 005064 广发中证全指家用电器指数C none 94 100 100 100 98.5 +170 000496 长安产业精选混合A 混合型 95 100 100 100 98.75 +171 519706 交银深证300联接 联接基金 96 100 100 100 99.0 +172 481001 工银核心价值混合A 混合型 98 100 100 100 99.5 +173 004357 南方智慧混合 混合型 99 100 100 100 99.75 +174 000017 财通可持续混合 混合型 100 100 100 100 100.0 diff --git a/util/MyLogger.py b/util/MyLogger.py index 423aaba..c41a90b 100644 --- a/util/MyLogger.py +++ b/util/MyLogger.py @@ -1,88 +1,88 @@ -# -*- coding: utf-8 -*- -#!/usr/bin/env python - -__author__ = 'cbb' - -import sys -reload(sys) -sys.setdefaultencoding("utf-8") - -import logging -import logging.handlers -import ConfigParser -from codeConvert import * - -#用字典保存日志级别 -format_dict = { - 1 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(filename)s - %(funcName)s() - line:%(lineno)d - %(message)s'), #error - 2 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(filename)s - %(message)s'), # debug - 3 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'), #info - 4 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'), - 5 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') -} - - -#日志系统, 既把日志输出到控制台, 还要写入日志文件 -class Logger(): - def __init__(self, logname='', loglevel=1, logger='logger'): - ''' - 指定保存日志的文件路径,日志级别,以及调用文件 - 将日志存入到指定的文件中 - ''' - - # 创建一个logger - self.logger = logging.getLogger(logger) - self.logger.setLevel(logging.DEBUG) - - if len(logname) == 0: - cf = ConfigParser.ConfigParser() - cf.read('./config.ini') - logname = cf.get('log','info_log_name') - - - #hdlr=logging.basicConfig(logname,level=logging.NOTSET,format='%(asctime)s %(levelname)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S') - - # 创建一个handler,用于写入日志文件 - #fh = logging.handlers.TimedRotatingFileHandler(logname, 'D') - #fh.suffix = "%Y%m%d.log" - # fh = logging.FileHandler(logname) - # fh.setLevel(logging.DEBUG) - - # 再创建一个handler,用于输出到控制台 - ch = logging.StreamHandler() - ch.setLevel(logging.DEBUG) - - # 定义handler的输出格式 - #formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') - formatter = format_dict[int(loglevel)] - # fh.setFormatter(formatter) - ch.setFormatter(formatter) - - # 给logger添加handler - # self.logger.addHandler(fh) - self.logger.addHandler(ch) - - - def getlog(self): - return self.logger - - #自定义 - def addLog(self, msg, level='info'): - if level == 'info': - self.logger.info(encode_wrap(msg)) - elif level == 'debug': - self.logger.debug(encode_wrap(msg)) - elif level == 'error': - self.logger.error(encode_wrap(msg)) - - -#ErrorLogger = Logger(logname='./data/log/error.log', logger='error') -#InfoLogger = Logger(logname='./data/log/info.log', logger='info') - -if __name__ == "__main__": - - - - logger = Logger() - logger.addLog('百度') - +# -*- coding: utf-8 -*- +#!/usr/bin/env python + +__author__ = 'cbb' + +import sys +reload(sys) +sys.setdefaultencoding("utf-8") + +import logging +import logging.handlers +import ConfigParser +from codeConvert import * + +#用字典保存日志级别 +format_dict = { + 1 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(filename)s - %(funcName)s() - line:%(lineno)d - %(message)s'), #error + 2 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(filename)s - %(message)s'), # debug + 3 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'), #info + 4 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'), + 5 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') +} + + +#日志系统, 既把日志输出到控制台, 还要写入日志文件 +class Logger(): + def __init__(self, logname='', loglevel=1, logger='logger'): + ''' + 指定保存日志的文件路径,日志级别,以及调用文件 + 将日志存入到指定的文件中 + ''' + + # 创建一个logger + self.logger = logging.getLogger(logger) + self.logger.setLevel(logging.DEBUG) + + if len(logname) == 0: + cf = ConfigParser.ConfigParser() + cf.read('./config.ini') + logname = cf.get('log','info_log_name') + + + #hdlr=logging.basicConfig(logname,level=logging.NOTSET,format='%(asctime)s %(levelname)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S') + + # 创建一个handler,用于写入日志文件 + #fh = logging.handlers.TimedRotatingFileHandler(logname, 'D') + #fh.suffix = "%Y%m%d.log" + # fh = logging.FileHandler(logname) + # fh.setLevel(logging.DEBUG) + + # 再创建一个handler,用于输出到控制台 + ch = logging.StreamHandler() + ch.setLevel(logging.DEBUG) + + # 定义handler的输出格式 + #formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') + formatter = format_dict[int(loglevel)] + # fh.setFormatter(formatter) + ch.setFormatter(formatter) + + # 给logger添加handler + # self.logger.addHandler(fh) + self.logger.addHandler(ch) + + + def getlog(self): + return self.logger + + #自定义 + def addLog(self, msg, level='info'): + if level == 'info': + self.logger.info(encode_wrap(msg)) + elif level == 'debug': + self.logger.debug(encode_wrap(msg)) + elif level == 'error': + self.logger.error(encode_wrap(msg)) + + +#ErrorLogger = Logger(logname='./data/log/error.log', logger='error') +#InfoLogger = Logger(logname='./data/log/info.log', logger='info') + +if __name__ == "__main__": + + + + logger = Logger() + logger.addLog('百度') + diff --git a/util/MyLogger.pyc b/util/MyLogger.pyc new file mode 100644 index 0000000000000000000000000000000000000000..97b6da73829dbdec851163074ec6546c651a7f45 GIT binary patch literal 2314 zcmb_d-D@0G6hAXNyGb^?H6|+5FM<-BC`tXIlp-Rntsm4NlltHi940e&H?y6cDRb{u z0-L8qTS~zfv0CskRgh}&L8X=U5Aijd)F&VO1N3*!>?Sd98fUp@?z#8e-#s6{Gh6zz zUcLF-M~#pMPYLfgF!b*b5m5uuqR6JiqJ~AvCS}pOMHXJ|5=A9Z1||+QoS}Jn-@HPN zimW@7jL`YGOv<75C`DyH9aZS~Kpzo(bXOk}y?Q_&KcLs>cw>yBIzoB zR7s6f^blRJDesf2@@k_-szz;?PKe_v!n0}7okX;TV-J^?sX961@+-||BLV9u zt%DYzW4=(IKGc1CU^auj`tQK@PIF>nhXp6aR3Oe}t(M9|%;e$CQyBUfghHNC)**Ai zk&O~HY>FJNO#`ecbI~`zD2Kd7cLZk)21(2UpA_&6%e(9Vr$YY-0n@fcJz-vt$hQfy zZ8IHt%aOvGGWCS0pe7SQvD@tmb70M(9_Tm1m1ici0xrTW9JOi9BCvvyz&=<5sC)ps zN@kpTa{B06MfPjd1304pa>n#ki0bs-vwiJy|N9$T_rLDn`f~gFX8->6 zof{k5UtHe0`_qG;f9T)a_~X}WgY`S#^sjseb?feC|Ff$PZm;ir{%v8oAFzM>)50Er z{ZBUgS8f+q?80vSa%0rrD1pg1OqyBV35*}bp%KeCHG+k!&dQd7VHJi!6b;T5tYUnvlIGBFjzpY9 z4AQKH+uR;u)5vQ@;wo+gtcxuYpq>v?{ijt{|TJck1^KBq%~zvS~aU~JzA?-6V8NPcS7#=;Si>CqM1ts`tZhr zNO8BAJ%YtUILDMk!jT8*TMnHpsRx%mEI}O(@ke6;lpnOy%)mD^BC=L=8nZopSBz}w zIm{&hZp?oe;WUs+Vw4SyoC8Mk_p|771sA+0A%#zoTJE-Frt&O{>M Gv;GDN=nP5# literal 0 HcmV?d00001 diff --git a/util/__init__.py b/util/__init__.py index 1e72a8b..4f0848b 100644 --- a/util/__init__.py +++ b/util/__init__.py @@ -1,2 +1,2 @@ -from util.stockutil import getSixDigitalStockCode +from util.stockutil import getSixDigitalStockCode from util.commons import * \ No newline at end of file diff --git a/util/__init__.pyc b/util/__init__.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4301c2afc05f38b4a16f39cb1cd6a020af3c60af GIT binary patch literal 247 zcmZSn%*(axc3f040~9a;X$K%KmID$gK*Y$9!@!Ws$PmTIzzE_qG2}2YgrqPt1Z%JW zm1O=00u4qWt3(V)q^FhyXI8jmre~HU<^-4ICuck7r=&vUL5j5eG?+nZ`G7=eNoI~- zF-Q%F6$BJvDB*#LC+Fwp=I0e_fJ6~Qu{MzFY87K(>=_c1R+^V$2qt5|rsx{QfDDR> ikI&4@EQycTE2u2t0IIji%}*)KNwovnUkvh}03!gHK{(X_ literal 0 HcmV?d00001 diff --git a/util/codeConvert.py b/util/codeConvert.py index 6d77642..94b5383 100644 --- a/util/codeConvert.py +++ b/util/codeConvert.py @@ -1,63 +1,63 @@ -# -*- coding: utf8 -*- - -import sys, time -import datetime - -#console stdout -def encode_wrap(str): - try: - sse = sys.stdout.encoding - return str.encode(sse) - except Exception, e: - return str - -def str_qt_to_utf(qt_str): - utf_str = unicode(qt_str.toUtf8(), 'utf-8', 'ignore') - return utf_str - -def str_to_datatime(str_time, format='%Y-%m-%d %H:%M:%S'): - d = datetime.datetime.strptime(str_time, format) - return d - -def GetDate(timefrom1970): - return time.strftime("%Y-%m-%d",time.localtime(timefrom1970)) - -def GetTime(timefrom1970): - return time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(timefrom1970)) - -def GetNowTime(): - return time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time())) - -def GetNowTime2(): - return time.strftime("%Y-%m-%d 00:00:00",time.localtime(time.time())) - -def GetNowTim3(): - return time.strftime("%Y-%m-%d-%H-%M-%S",time.localtime(time.time())) - -def GetNowDate(): - return time.strftime("%Y-%m-%d",time.localtime(time.time())) - -# 规整化发表时间 -def regularization_time(publish_time): - now = GetNowDate() - if '分钟前' in publish_time: # 22分钟前 - publish_time = publish_time.replace('分钟前','') - publish_time = time.time() - int(publish_time)*60 - publish_time = time.strftime("%Y-%m-%d %H:%M",time.localtime(publish_time)) - publish_time = publish_time + ':00' - - elif '今天' in publish_time: - publish_time = publish_time.replace('今天', now) + ':00' - - elif '月' in publish_time: - publish_time = publish_time.replace('月','-').replace('日','') - publish_time = time.strftime("%Y-",time.localtime(time.time())) + publish_time + ':00' - elif len(publish_time) == 5: # 形如14:58 - publish_time = now + " " + publish_time + ":00" - elif len(publish_time) == 11: #形如09-29 12:38 - publish_time = time.strftime("%Y-",time.localtime(time.time())) + publish_time + ':00' - elif len(publish_time) == 16: #形如2015-09-29 12:38 - publish_time = publish_time + ':00' - - +# -*- coding: utf8 -*- + +import sys, time +import datetime + +#console stdout +def encode_wrap(str): + try: + sse = sys.stdout.encoding + return str.encode(sse) + except Exception, e: + return str + +def str_qt_to_utf(qt_str): + utf_str = unicode(qt_str.toUtf8(), 'utf-8', 'ignore') + return utf_str + +def str_to_datatime(str_time, format='%Y-%m-%d %H:%M:%S'): + d = datetime.datetime.strptime(str_time, format) + return d + +def GetDate(timefrom1970): + return time.strftime("%Y-%m-%d",time.localtime(timefrom1970)) + +def GetTime(timefrom1970): + return time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(timefrom1970)) + +def GetNowTime(): + return time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time())) + +def GetNowTime2(): + return time.strftime("%Y-%m-%d 00:00:00",time.localtime(time.time())) + +def GetNowTim3(): + return time.strftime("%Y-%m-%d-%H-%M-%S",time.localtime(time.time())) + +def GetNowDate(): + return time.strftime("%Y-%m-%d",time.localtime(time.time())) + +# 规整化发表时间 +def regularization_time(publish_time): + now = GetNowDate() + if '分钟前' in publish_time: # 22分钟前 + publish_time = publish_time.replace('分钟前','') + publish_time = time.time() - int(publish_time)*60 + publish_time = time.strftime("%Y-%m-%d %H:%M",time.localtime(publish_time)) + publish_time = publish_time + ':00' + + elif '今天' in publish_time: + publish_time = publish_time.replace('今天', now) + ':00' + + elif '月' in publish_time: + publish_time = publish_time.replace('月','-').replace('日','') + publish_time = time.strftime("%Y-",time.localtime(time.time())) + publish_time + ':00' + elif len(publish_time) == 5: # 形如14:58 + publish_time = now + " " + publish_time + ":00" + elif len(publish_time) == 11: #形如09-29 12:38 + publish_time = time.strftime("%Y-",time.localtime(time.time())) + publish_time + ':00' + elif len(publish_time) == 16: #形如2015-09-29 12:38 + publish_time = publish_time + ':00' + + return publish_time \ No newline at end of file diff --git a/util/codeConvert.pyc b/util/codeConvert.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5670a662a5795161274a6d1259bcc7eafd04c346 GIT binary patch literal 2967 zcmcIm&2Jl35PxsiPGZMyX-P=>T~$~Z30G-zAVd{H3Ki|4KCFv?$Y2@oI^D+JHT#|k zLFp+06(l%t;ex~kkoX(;PvF`hapn(bf4^COwe(QMVeL0N`#$E)Z|1$3asMsmfBWl` z&6XNG4&LvenXf>6{I%*RwK?Lo+SJ2-M{PRFchmtUxXO2h$tWNHtUAEVtnz21b4K~I z!ptgvPMA66=Y+{AKQByP`SZfeE59I2fxFkrMQ9Q}##3!+ur68_Z3E4$f$UyTR;l}1 z-FMUjt@gmXYEP?uEdC%`P#K$1+j*6&D*eDw8soJOfvi@hv}&2MEQOj~V`uobe%!Zq z4r~y$Vn2+wq+dP)n?wK2FIqv*hH+Hp!gRGw(zgjL1qWpiCB$3>cXPeIvU>Y&z1@%e zYeMVB#;xtj^?KiiojNuOHsa{>AhB0_yLO%;xO>ppNt(S`e40Fn(ylJ(Q~IP9W6)h0 zG%?0`Ft7v-0QBNJcxT@gtI(2EwrU8tZ`+kMK^1OAaT1g%$a0r{6mnM?v+?`3y_SyA zGN0Lo0Zf@@+vKMMNzXz^19ENLfKDgaK|D$?YjX?yQ$;Eow?2 zY#V6i3MgvHxTz?Z+NjAq+aAOwUJ@MZO2KsX~moV zbU;rIMaK;&(BuxM*_A?FOnu2yGxFsS6fT<=fy*b+wdI2+ zwiCCS9e&BFw}rvPb`p25z4hkGbnti}-V5xzuRz79~mC~(B=}x7T#=mDz(ewzOa>44A;{ouWyZwLa&5K)_ z(3_EncX)L6JLth-$4N(m#qmcd+MZEKILI~VVWL6M#WaU`7&DO#(};z_U}1SMBGmz> zWXItQLzsw?VF_IHm^H&d{`X{%%h)54Z#d~s))RwCkA{<^wtx~`fU06rA#9r$&9Yw7(pqr?Wkm4V_#GwOOw++o|smYX}2{Yz1Sv~CRU%2)%RGE40RA& z)XGd4Rl~r2`0(q0e)#$Do9|$M)Im2u4AbN=@TZB4t0o#~?6%Mg+TTm4Qm3BN?zj3W{LI=aoPAWG*@4V~6!^*LR13i=G% zMg0bP7SZ@Fx>7%SoSa@En%3j>@@PhHfrNqIJ4%B<$9dfitP>Yx>aBK7=DV+ z-~(WG6XL+yJ3Dh`XU^H((yvzI$Iq|Khr=k+`jKY(oea`nfCzw*Qv_B3ECDM5mVuQ3 zE5OQt8n6mr6_^HC16BpB1FHcxfYkxdfHeS{z|H_$z?y(9SO>5NtP6M! ztOs}j>>ThC*oCCF`_D*5_?w2A_M|Mq{f&F;rJ?VJ$(mn@GNC@lKskvQ2cjlR63kMu zds3*k3p^nYwhcsymSCIi!&}j$P=s;d@R_&U1VU&8Y@#p;Tvdvm*mvgJAW_JDcy})< zw9Aipy6+e9M^*R0qm1}v3oqtbB1DJWQ^{TwiS`lO^Q^!1F9}kLc&bX~3&XV?YdCQS zx;-AM6HSa8cW8}_V_@ntL+O{9u{m1W&f?~n)fa}Yl*sJd5LKd(t}(ZBcp$n5*g3re zsXCW1nU2kzb)-9aV9gEl$ap>ebS>(Ke#5C{=cH5Xi)b7&pRMVVg#QionYA<>A>a1o z#IBo0#OhOq)>2o2q792Xi^xe$igzVLk!M3@~(xDOa%feK7*g) zGxz{_vj&M4R-Wg%=k3_)V`l2@{h}Aq_mOxXLCh8)Ch7qN#gZ~XJt%k-Ws-)9dWuBc zphqM%IOD86h8jB#xV(%8iB3Opx^2N;4&4^v$V6=N6!k4;1&SqlA$kz>Ow@N{o}76v zs1oSR1zksy8?kVe=>SlAja;I8$vrAOf?i>&Um*|_9K9A~B~=ZoBrRfGU(!P7q*6a4 z%qlvb=Qhk*HXSCdqSQLoSFJU(4{4bs%5`ko%-uE^kYp#J^h+HDI)ueBV~ctjoD&vT z#%<;1)~S3KyX`zhV#>^d5j;Efq9&koGn?kR4V}z7;CSEP-a9?_5s7yk`o`wb&Bm@@ z+BEYANj6G~&C#8m{Z$_@y<(c1Gyx==Voo%L5=+tz^Y~l1-Fj2dJkE48>nQvFINh<= z^;}oZ3m~yPS+9d#K@gU9kQYJVxqJU?&*ph%93zj();zfSKU-iP2g5urv*eH|82&5A IasPSs1x^B(Hvj+t literal 0 HcmV?d00001 diff --git a/util/send_mail.py b/util/send_mail.py index 21a6329..c31c266 100644 --- a/util/send_mail.py +++ b/util/send_mail.py @@ -1,49 +1,49 @@ -# -*- coding: utf8 -*- - -__author__ = 'Cbb' -from init import * - -def send_email_163(from_addr= 'cbbhust@163.com', - password = '12356789', - to_addrs = ('m18410182275@163.com'), - subject= 'Result', - content = None): - """This function use 163 email to send simple message.If success,return Ture,else return False - from_addr:should be 163 email adress - password:password of your email account - to_addrs:should be a tuple,like ('xxxxxx@163.com','xxxxxx@163.com') - subject:subject of your email - content:content of your email - """ - if content == None: - errorLogger.logger.error( 'content is None.') - return False - - try: - from smtplib import SMTP - from email.mime.text import MIMEText - - infoLogger.logger.info('begin send email...') - - email_client = SMTP(host = 'smtp.163.com') - email_client.login(from_addr, password) - - #create msg - msg = MIMEText(content, _charset='utf-8') - msg['Subject'] = subject - email_client.sendmail(from_addr, to_addrs, msg.as_string()) - - infoLogger.logger.info('send email success!') - return True - - except Exception, e: - errorLogger.logger.error(str(e)) - return False - finally: - email_client.quit() - -if __name__ == '__main__': - send_email_163(content='tttt') - - - +# -*- coding: utf8 -*- + +__author__ = 'Cbb' +from init import * + +def send_email_163(from_addr= 'cbbhust@163.com', + password = '12356789', + to_addrs = ('1627041882@qq.com'), + subject= 'Result', + content = None): + """This function use 163 email to send simple message.If success,return Ture,else return False + from_addr:should be 163 email adress + password:password of your email account + to_addrs:should be a tuple,like ('xxxxxx@163.com','xxxxxx@163.com') + subject:subject of your email + content:content of your email + """ + if content == None: + errorLogger.logger.error( 'content is None.') + return False + + try: + from smtplib import SMTP + from email.mime.text import MIMEText + + infoLogger.logger.info('begin send email...') + + email_client = SMTP(host = 'smtp.163.com') + email_client.login(from_addr, password) + + #create msg + msg = MIMEText(content, _charset='utf-8') + msg['Subject'] = subject + email_client.sendmail(from_addr, to_addrs, msg.as_string()) + + infoLogger.logger.info('send email success!') + return True + + except Exception, e: + errorLogger.logger.error(str(e)) + return False + finally: + email_client.quit() + +if __name__ == '__main__': + send_email_163(content='tttt') + + + diff --git a/util/send_mail.pyc b/util/send_mail.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8f8cff7c2a334ab0b6dc8a4f760d8639aa864ef3 GIT binary patch literal 1597 zcmbVM-EJF26h5=-zt~P=3PR!nX)7dZDtA>Uv<+5;ib@cXNQ7)lts<+d_3qeSXLrZU z%!&j#SK%?Z=52Ta9)U|9pqz8o4hC_>SUxl7%s1cpnKSGDx!?Tt_qP`jY(@>|m-si| zqKE-5Pzs10NCk{z7vc)URfua4w;-;=&sDf^L87q%mk#K!K_X@k;wIdJ5ILT1!Km9t zGV7vvHJv8!aC8M(NIWtJD5L3gQ5gHO|Ln+*RAw7!>mMFHefIqL3-bXgS^xO+{*(Uk z;oE0ES9Yrstnk$ZfyNr}_Rb(w#iGQ6q7x(>@0tkD}1JGfnAzYQwGtq?a2 zSi7)BwFxf>+h(jorsY0zz^%LMqg6(C4@R%^M^Lc`aM=X?2fErr*ft54N`JWyc5vknD+zvMLe;`Z;OS#>~TAr(1`a7Lm!R^u6`1`W2se8{(&rZhj%9{64 znaX*Rmu2Rn`@WC;2e44a8hRWivnzkM`GaT?Y9pb{T9VJyhL^ykG8Z~Xa(=-SA)Uq-1Q43QSe@i^4sWar$>x)*NUo?Y`TKwf-u|IT zY?quc=B~Y%b=x|uY@4Kvy{rzeHSQo^ za&$VL;G>EAEGNdQ=<@O5q_9akq0|Dd%<9_S!vkz6>G2+^(B@MV&~A&4s5maTICq?m zb09kIebE#jIUUhJ?L)EWa4G@u{ukEROT;UBQDOEbKz*AmH63PwbE?JA6O~ osOf?r4>K7Ae<$-lGa|AVnTm^4eo5bL?*E!-I<6>x?N8d`FT_)Uh5!Hn literal 0 HcmV?d00001 diff --git a/util/stockutil.py b/util/stockutil.py index 836e79f..44987c9 100644 --- a/util/stockutil.py +++ b/util/stockutil.py @@ -1,41 +1,41 @@ -#!/usr/local/bin/python -#coding=utf-8 -import time -from functools import wraps - -# 补全股票代码(6位股票代码) -# input: int or string -# output: string -def getSixDigitalStockCode(code): - strZero = '' - for _ in range(len(str(code)), 6): - strZero += '0' - return strZero + str(code) - -# 统计函数耗时 -def fn_timer(function): - @wraps(function) - def function_timer(*args, **kwargs): - t0 = time.time() - result = function(*args, **kwargs) - t1 = time.time() - print ("Total time running %s: %s seconds" % - (function.func_name, str(t1-t0)) - ) - return result - return function_timer - -# 将list分为多组 -# 例:>>> print group_list(range(10), 3) -# [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9]] -def group_list(li,block): - size = len(li) -# group=[] -# for i in range(0,size,block): -# group.append(li[i:i+block]) -# return group - return [li[i:i+block] for i in range(0,size,block)] - - - - +#!/usr/local/bin/python +#coding=utf-8 +import time +from functools import wraps + +# 补全股票代码(6位股票代码) +# input: int or string +# output: string +def getSixDigitalStockCode(code): + strZero = '' + for _ in range(len(str(code)), 6): + strZero += '0' + return strZero + str(code) + +# 统计函数耗时 +def fn_timer(function): + @wraps(function) + def function_timer(*args, **kwargs): + t0 = time.time() + result = function(*args, **kwargs) + t1 = time.time() + print ("Total time running %s: %s seconds" % + (function.func_name, str(t1-t0)) + ) + return result + return function_timer + +# 将list分为多组 +# 例:>>> print group_list(range(10), 3) +# [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9]] +def group_list(li,block): + size = len(li) +# group=[] +# for i in range(0,size,block): +# group.append(li[i:i+block]) +# return group + return [li[i:i+block] for i in range(0,size,block)] + + + + diff --git a/util/stockutil.pyc b/util/stockutil.pyc new file mode 100644 index 0000000000000000000000000000000000000000..296e77603fe6a0415b24b0f3e2c0349444d2531a GIT binary patch literal 1267 zcmb7E&2G~`5T3P@mQoCnpQ&cfmSITkOD$T2`XH2a4I21p;53MYg@-oy&JWl z^b`b~cnn^O$KV0rn{ofHvApA%+4N})Dm%d@crLZJSiNdllW%lWLEAZF<@N_)|)|Nre^U>4WoJ-Q@ zqcn~zi%FEq*Vw$+X3roCBfAO)+J2O0;y(1CAR*=%xOc5V^Tmgw!FZO22SNwNX2I#+ z^TEvOq!5_fpMJ5Ma6rbMzUb&!+fmYE(>C%{uw(9lkXli@YF!B`3_c%^m)QnEEk6Z@ zA4FqRuIRgnC?BQwJa*^?AjI(UVlQ(D0@oAR5`%^qKocInAi8(9&@{!nCk2irnme=w z$j1(C9=@Nu*D1^nA|7R^pkehSYUHyt)oI*#YFbzg69risnp-H@$a0NPaQwN?Bky+E}Iqg7y^` z0PTw*O7qbjG;!hLGSs<|+*DA!it0PZ4xMdZcT6M3RSg{5=aG{8A;2bDF2v^q<0$ Date: Wed, 17 Jan 2018 21:15:51 +0800 Subject: [PATCH 03/67] Update .travis.yml --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index a50b693..e6f1a0c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,8 @@ language: python python: - - "3.5" + - "2.7" # command to install dependencies install: "pip install -r requirements.txt" # command to run tests script: - - python3 ./trade_process/live_trade.py + - python stock_trader.py From 8df77fc8866b0a42ba913eeceade50cd98a2b9bc Mon Sep 17 00:00:00 2001 From: lishulincug <1627041882@qq.com> Date: Wed, 17 Jan 2018 21:23:05 +0800 Subject: [PATCH 04/67] Add files via upload --- stock_trader.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stock_trader.py b/stock_trader.py index c5140ea..cb6f67b 100644 --- a/stock_trader.py +++ b/stock_trader.py @@ -1,5 +1,5 @@ #coding=utf-8 -from trade_process.strategy import main +from trade_process.strategy.macd_back_test import macdmain from trade_process.strategy.tread_tracking import stock_trader_main if __name__ == '__main__': stockList = ['000725', '000783', '002167', '002505', '002600', '300315', '600000', '600011', '600048', '601001'] @@ -17,5 +17,5 @@ ['110031', 'eHSI'], ['161130', 'eNASDAQ100'], ['110028', 'anxinB'], ['110022', 'eConsumption '], ['161125', 'SPX500']] #均线策略 - main(ChinaStockIndexList) + macdmain(ChinaStockIndexList) stock_trader_main(code) \ No newline at end of file From 0173302da8381c488eb7a2ad8e58d7ccfe6a2ce7 Mon Sep 17 00:00:00 2001 From: lishulincug <1627041882@qq.com> Date: Wed, 17 Jan 2018 21:25:29 +0800 Subject: [PATCH 05/67] Update macd_back_test.py --- trade_process/strategy/macd_back_test.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/trade_process/strategy/macd_back_test.py b/trade_process/strategy/macd_back_test.py index 48b4367..4d74a21 100644 --- a/trade_process/strategy/macd_back_test.py +++ b/trade_process/strategy/macd_back_test.py @@ -570,7 +570,7 @@ def run(stockCsvPath, stockName): select_Time_AMA(stock_data, stockName) print '\n' -def main(stockList): +def macdmain(stockList): print "main begin" # stockList = ['000725', '000783', '002167', '002505', '002600', '300315', '600000', '600011', '600048', '601001'] downloadAllHistoryAShareData(stockList) @@ -643,4 +643,4 @@ def main(stockList): select_Time_AMA(stock_data, stockName) print '\n' - print "main end" \ No newline at end of file + print "main end" From 4af32481c2582af576b3b09daddc9d8cbff7fd06 Mon Sep 17 00:00:00 2001 From: lishulincug <1627041882@qq.com> Date: Wed, 17 Jan 2018 21:41:41 +0800 Subject: [PATCH 06/67] Update __init__.py --- trade_process/strategy/__init__.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/trade_process/strategy/__init__.py b/trade_process/strategy/__init__.py index 699f4ff..4c80e14 100644 --- a/trade_process/strategy/__init__.py +++ b/trade_process/strategy/__init__.py @@ -1,4 +1,4 @@ -from trade_process.strategy.macd_back_test import * -from trade_process.strategy.macd_live_test import * -from trade_process.strategy.strategy_macd import * +# from trade_process.strategy.macd_back_test import * +# from trade_process.strategy.macd_live_test import * +# from trade_process.strategy.strategy_macd import * From 35030baa4c38ab874ac5f1a1c6aa019fb9887689 Mon Sep 17 00:00:00 2001 From: lishulincug <1627041882@qq.com> Date: Wed, 17 Jan 2018 21:44:38 +0800 Subject: [PATCH 07/67] Update __init__.py --- data_process/__init__.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/data_process/__init__.py b/data_process/__init__.py index 0d95d7d..3f3d417 100644 --- a/data_process/__init__.py +++ b/data_process/__init__.py @@ -1,5 +1,5 @@ -from data_process.Stock import * -from data_process.online_data import * -from data_process.native_data import * -from data_process.download_stock import * +# from data_process.Stock import * +# from data_process.online_data import * +# from data_process.native_data import * +# from data_process.download_stock import * From 32528916ffd6110417d506602f9e09f29f937e93 Mon Sep 17 00:00:00 2001 From: lishulincug <1627041882@qq.com> Date: Wed, 17 Jan 2018 23:29:30 +0800 Subject: [PATCH 08/67] Add files via upload --- trade_process/live_trade.py | 19 ++--- trade_process/strategy/__init__.pyc | Bin 323 -> 146 bytes trade_process/strategy/macd_back_test.py | 81 +++++++++++++--------- trade_process/strategy/macd_back_test.pyc | Bin 14063 -> 13976 bytes trade_process/strategy/macd_live_test.py | 48 +++++++++++-- trade_process/strategy/tread_tracking.py | 5 +- trade_process/strategy/tread_tracking.pyc | Bin 11195 -> 11544 bytes 7 files changed, 100 insertions(+), 53 deletions(-) diff --git a/trade_process/live_trade.py b/trade_process/live_trade.py index 1f22bfe..b8851d8 100644 --- a/trade_process/live_trade.py +++ b/trade_process/live_trade.py @@ -5,13 +5,6 @@ import platform from apscheduler.schedulers.blocking import BlockingScheduler import logging -logging.basicConfig() -# import errorLogger -if platform.system() == 'Windows': - sys.path.append('../') -else: - sys.path.append('/Users/cbb/Documents/pythonspace/stock-master/') - import ctypes from ConfigParser import ConfigParser @@ -26,6 +19,13 @@ from init import * from strategy.stop_loss import stop_loss_by_price +logging.basicConfig() +# import errorLogger +if platform.system() == 'Windows': + sys.path.append('../') +else: + sys.path.append('/Users/cbb/Documents/pythonspace/stock-master/') + #stock_list =['600893'] def main(): @@ -42,7 +42,6 @@ def main(): for judgement in judgements: infoLogger.logger.info(encode_wrap('卖出:{}'.format(judgement[0]))) - cf = ConfigParser() cf.read(config_file_path) threshold_buy = cf.get('trade_threshold', 'Threshold_Buy_Count') @@ -78,7 +77,6 @@ def main(): send_email_163(subject='MA Strategy Results', content=str_all) - @fn_timer_ def live_mult_stock(stockClassList): # pool = ThreadPool(processes=4) @@ -131,9 +129,6 @@ def live_single_stock(stock): stock = Stock() return stock - - - if __name__ == "__main__": print ">>live trade begin" main() diff --git a/trade_process/strategy/__init__.pyc b/trade_process/strategy/__init__.pyc index b3adedf5807b0458a512105670244ff8e1b7a63e..e2ec273ba67b1efb62683402bc3af6cc4acc0938 100644 GIT binary patch delta 79 zcmX@iG>OrU`7pjVQLB_)>Z@8>1;m GDFXoIB?@%_ literal 323 zcmZSn%*(axc3f040~9a;X$K%KRss?!K*Y$9!@v*%Wii58Oh6VBL$C%jP+8`GAkbh0 zvPwXNmLFKOL=_}Zl$eqlUr>~voLXG0R}AEqq^4KuuMEaVC)$ZlUACSVhAQPO2Tqm&GhVf{T%h5dbnWT4MkJ diff --git a/trade_process/strategy/macd_back_test.py b/trade_process/strategy/macd_back_test.py index 4d74a21..54b7a47 100644 --- a/trade_process/strategy/macd_back_test.py +++ b/trade_process/strategy/macd_back_test.py @@ -8,9 +8,10 @@ import os import numpy as np from data_process.download_stock import downloadAllHistoryAShareData +from trade_process import efund_mail2 -AVR_SHORT = 12 -AVR_LONG = 40 +# AVR_SHORT = 12 +# AVR_LONG = 40 SIGNAL_BUY = 1 #买 SIGNAL_SALE = -1 #卖 @@ -48,9 +49,11 @@ def processEMA(stockCsvPath, stockCsvNewPath): stock_data.to_csv(stockCsvNewPath, index=False) # 自适应均线 -def self_adaptive_ma(stock_data): +def self_adaptive_ma(stock_data,Avg): + AVR_SHORT = Avg[0] + AVR_LONG = Avg[1] # 将数据按照交易日期从远到近排序 - stock_data.sort('Date', inplace=True) + # stock_data.sort('Date', inplace=True) close_price = stock_data['Adj Close'].get_values() high_price = stock_data['High'].get_values() @@ -97,14 +100,15 @@ def self_adaptive_ma(stock_data): # MA指标择时 (回测) -def select_Time_MA(stock_data, stockName): - +def select_Time_MA(stock_data, stockName,Avg): + AVR_SHORT = Avg[0] + AVR_LONG = Avg[1] start_money = 100000000 now_count = 0 now_money = start_money # 将数据按照交易日期从远到近排序 - stock_data.sort('Date', inplace=True) + # stock_data.sort('Date', inplace=True) close_price = stock_data['Adj Close'].get_values() @@ -166,14 +170,15 @@ def select_Time_MA(stock_data, stockName): #stock_data.sort('date', ascending=False, inplace=True) # MACD指标择时 (回测) -def select_Time_MACD(stock_data, stockName): - +def select_Time_MACD(stock_data, stockName,Avg): + AVR_SHORT = Avg[0] + AVR_LONG = Avg[1] start_money = 100000000 now_count = 0 now_money = start_money # 将数据按照交易日期从远到近排序 - stock_data.sort('Date', inplace=True) + # stock_data.sort('Date', inplace=True) close_price = stock_data['Adj Close'].get_values() @@ -244,14 +249,15 @@ def select_Time_MACD(stock_data, stockName): return dif_price, dea_price, macd_price # DMA指标择时 (回测) -def select_Time_DMA(stock_data, stockName): - +def select_Time_DMA(stock_data, stockName,Avg): + AVR_SHORT = Avg[0] + AVR_LONG = Avg[1] start_money = 100000000 now_count = 0 now_money = start_money # 将数据按照交易日期从远到近排序 - stock_data.sort('Date', inplace=True) + # stock_data.sort('Date', inplace=True) close_price = stock_data['Adj Close'].get_values() @@ -319,14 +325,15 @@ def select_Time_DMA(stock_data, stockName): #stock_data.sort('date', ascending=False, inplace=True) # DMA指标择时 (回测) -def select_Time_TRIX(stock_data, stockName): - +def select_Time_TRIX(stock_data, stockName,Avg): + AVR_SHORT = Avg[0] + AVR_LONG = Avg[1] start_money = 100000000 now_count = 0 now_money = start_money # 将数据按照交易日期从远到近排序 - stock_data.sort('Date', inplace=True) + # stock_data.sort('Date', inplace=True) close_price = stock_data['Adj Close'].get_values() @@ -382,8 +389,9 @@ def select_Time_TRIX(stock_data, stockName): # 组合择时指标 (回测) -def select_Time_Mix(stock_data, stockName): - +def select_Time_Mix(stock_data, stockName,Avg): + AVR_SHORT = Avg[0] + AVR_LONG = Avg[1] start_money = 100000000 now_count = 0 now_money = start_money @@ -450,8 +458,9 @@ def select_Time_Mix(stock_data, stockName): stock_data['SIGNAL_MIX'] = signals # AMA指标择时 -def select_Time_AMA(stock_data, stockName): - +def select_Time_AMA(stock_data, stockName,Avg): + AVR_SHORT = Avg[0] + AVR_LONG = Avg[1] percentage = 0.1 start_money = 100000000 @@ -460,7 +469,7 @@ def select_Time_AMA(stock_data, stockName): one_hand = 10000 # 将数据按照交易日期从远到近排序 - stock_data.sort('Date', inplace=True) + # stock_data.sort('Date', inplace=True) close_price = stock_data['Adj Close'].get_values() @@ -573,40 +582,44 @@ def run(stockCsvPath, stockName): def macdmain(stockList): print "main begin" # stockList = ['000725', '000783', '002167', '002505', '002600', '300315', '600000', '600011', '600048', '601001'] - downloadAllHistoryAShareData(stockList) + # downloadAllHistoryAShareData(stockList) # stockList = ['000725'] + for stockName in stockList: # if stockName != '002600': # continue - stockCsvPath = os.path.pardir + "\\stockdata\\" + stockName + '.csv' + # stockCsvPath = os.path.pardir + "\\stockdata\\" + stockName + '.csv' # stockCsvPath = stockName + '.csv' - if os.path.exists(stockCsvPath) == False: - continue + # if os.path.exists(stockCsvPath) == False: + # continue # stockCsvNewPath = stockName + '_macd.csv' # processEMA(stockCsvPath, stockCsvNewPath) - stock_data = pd.read_csv(stockCsvPath) + # stock_data = pd.read_csv(stockCsvPath) + fundlist = efund_mail2.get_histrydata(stockName, 365) + stock_data = pd.DataFrame(fundlist[::-1], columns=['Date', 'Adj Close', 'countclose', 'change']) # self_adaptive_ma(stock_data) - - print u'>>>>>>>>>>>>> MA 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' + + print u'-- MA 策略 --' select_Time_MA(stock_data, stockName) - print u'>>>>>>>>>>>>> MACD 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' + print u'-- MACD 策略 --' select_Time_MACD(stock_data, stockName) - print u'>>>>>>>>>>>>> DMA 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' + print u'-- DMA 策略 --' select_Time_DMA(stock_data, stockName) - print u'>>>>>>>>>>>>> TRIX 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' + print u'-- TRIX 策略 -->' select_Time_TRIX(stock_data, stockName) - print u'>>>>>>>>>>>>> 组合策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' + print u'-- 组合策略 --' select_Time_Mix(stock_data, stockName) - print u'>>>>>>>>>>>>> AMA策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' + print u'-- AMA策略 --' select_Time_AMA(stock_data, stockName) print '\n' print "main end" + if __name__ == "__main__": print "main begin" stockList=['000725','000783','002167','002505','002600','300315','600000','600011','600048','601001'] @@ -643,4 +656,4 @@ def macdmain(stockList): select_Time_AMA(stock_data, stockName) print '\n' - print "main end" + print "main end" \ No newline at end of file diff --git a/trade_process/strategy/macd_back_test.pyc b/trade_process/strategy/macd_back_test.pyc index 04fcc0e05eb36fd7bb13c00b579d94e2ed18cea6..d5dc0daa97ea156e16f76d00e0643ec1bae21521 100644 GIT binary patch literal 13976 zcmeHOU2GiJbv`r8zg;fL6}1#eOO_>DmbZ?rQgUqBg(8U}rKMt#wuf?Lvr@OKoe{Ov z{*XIEnM}#Tv6aaEOA9m!(xgC8v;|TiE%H>iv4NsMQ51bBiufVOV}M$EtBV#*fdWPQ zedo^X&MqaJhUxSr)XtrI&;6Zy&-v~-=UyfLV<7dxLSdmK;a>{x(|G)Uw?th0EUAbr zSW(=TrGzYWMagbi=#Jt&ve2t>TPl50P0B)2EH;slN=mBzve1uomn@{kMZE!WQDcxb z7KX&_m4%GBeR2!QUE(G+GAwRNBfG`z*GN{}v_?k69ni=gaR)UrD(;X*#>CBNWL#V{ zH7vI*S$II)-AddmZdN1v#CuTO5xHSY<6kXzkK|`uw1L{FhvF!>Ph1q)FYZI)9+1V9 zEbJFADc*j0(-Ld#?--lD@~$jABwn{H9gwAi;vSSy?;#m=AC}RDha>tU;yuht-XZPp zsuS29{mHd5o0NI3-8Q zSe)_;pkNf2+{Y2YSg_RdxzAwj%m0hNxf~ckf_(_w`fIgHz35I>Dl=t2s5jOp=dTwV z-gGf2no|8JQ&`ZYd9$hz}w-V>{w}xu3yI4(|D^15Yr)XjMM=+ z!4EaP4#+rq1<&H^m^s8=HHp!(M+^xQkYSHH0fJ@Og$bJrx)5U0J>+0kYs-~l$uo1E zCE)}DKZ#({T{!EEL6aw zI>Kr(hXSI3KZ)4cU%EW;)cK2-$*D&*ysXtP2aTfZ6_y+IlIQ!NH89DG>zAv=l3Tc1 zEZryso*x`pUJuw~SPZi`hLpbtf!ITd-Q7cp0V{{+Gl_BgnDtnqMCRwp@Qd`@uVLcA z>`N+aWG73P7$mUyI9UHpk>AiF;Q27Usqz58|wHNB@QCgEw@Fkf#H(!70i1N5f>~CQJO{x7V0J+KuR{cWrS%I z0fJ{`WD|`eHi8&<7Tnz{8+|gCMKHRVlnwo5H&u4P)$DkPf(WkO>?eDNtllK1Bch5$ zSaLu%`gPzNspu0z!dP~6b5J%g1bh~9DK?B50&~$awwW*&jWT8k%*{kC=ff)bFcTX= zMmBc|gajK1zj;`&^qae*F7gyyG?owNG(Qs(HiqOzmoz@Gf_@gS`4X1c805nEyX`QI zU1?*NWN%o~*k^}@&qd8|WONmuwjl;=<;i#}UE;smYy~44Ml0RYxEd7(`|Ji{kS*sN z3aX>5N4ag`0+D23s%Kyc$Wk-t)@ON4V9Hvg5b||({9;Hp>eC^uekN$Z1bEzMFaB4C8 z7x|xjG5c?)!XkaA!^o-AxdD`QG#EroQDe~y3O9?DRR9TFs(3YLAM*;z+%`dZNs=BG63 zqa{T3Bk(4ZmFhJ=D3)tMzzOgG$Yx=WPE07OlcK{RfukmY17f-l>0-5LHZP713FTAn z4~Ta51+!#Ine=U~-W_EE-i9wKpPus_45yvnsg(Jd|q<(nRqoo7g! zK_K>SJ7e)*kKJz#TU~bA8nYfnI)#73Rw^-K;h(+V;=ggb$4Xm0);RK$)*(FM+g3G+ zt4-#c!sAbXT_IA?j<8_>_JK6O?P$xu1|SO2kV;z?k=H|>T2i>iCIVPSH7F<+(7H1N zdkQn4ji4&F8I%PH&uA9-&F+BR-2$*)yJBIzV+Ant*be}W+$gS`v^Ig=eXQ~JjV*)7SJ2AJdevhMH zvpiOY_*P^UYRW>@L|+d^HtF zesVUC9XgMSd2G;~<*@%?vjv~@%L(rMIjUZBW%()|{QW!M`=dKw|Nbf^;J}?feErThzW@GTz489* z@1n5Ee27D{lR4IM4kA$c^O~*uT43N&2?mZ(W~Y#d zqXQBFs0$oGVRn*RkAE7009o*_JCjHQUB>MZrmRDDkNt$TPviTnVPF$eM4(~dRoWV` z()O-I4mA{iIO$FN`R$L5KY*P!uz}pRP^d44LM8*Y8&L=h3@J^@7(vG%m`VwN!zhf9 z4=Q>6&@h2EEyzNB$Oj-x1q>P?MQ}*gHY3Oi3$#PluUOFk2wA(d)r`>~;ezN1A#1~8 zZ>0C@i;xx3w2+~j@&FLznSzvZQ+7xiDVq=mRT6C}CbPv6NVh^*Uk8LCuL)s8vXZiE zU%l7p&|Avx7+s9EWpo%#vph#<%EIt8kcKe=(l8HANaHx#A-haY)0r=YdywRLsMS=qv|F19Sq?U_6^;2asP&0Ncp@ z_r*4~TVnu6T~C$UPl$3c^=fuT~p1}nK zI}T5wq7;Ltsp;>bBcJ`o0g4LHcp?SGXs`{ao@fKACpv+ui$IkcQK+Jx+=QwNpA@Ph zoPy>P!>Lg1fu?hBkRn1M4_4|{HA;bsDhx1ba2skAgc6tp%M^GqWH1TN(MXMYSuu%p zKn-5RnTTc-7p0r>kaFY=O5;6Mqkwiz3_{iWs!_;mVi1J+JyoN&js~s2*EyOPZOdpd zQj`Zc8_dC&fI0Zi2p#x29hhT!2j-*|b23Ja0z?}%>K!%isYVUR$~*jRUyT~LpBk0k zz8a-avtw!$g*CG9;(AmkzEE5Fc=$pQQA_Z{@x^%or5?dZyLU!pqyd7~UZh735(ZF#&J-D8&(U0?4uyTzyi^Fs zVsSMj08}(gV9vqK2g79Ln{o-d5uI^K5@^a{4A93Q48|lRys388X(eLQM;1T}-m#3r zoB5j1jN|~@tVAe6u+HH7Lesl2Onn)+G5`_MvGpUH@CMLm6{1Q2og=amk(ZIiORB!W zLx)WCjxJI4zVL=T18;*I@ybg!t;DUP0hGODNAz$sF`5n`J{pV^<$RU+f+5HmHj+Y~T$?UIyM^0xR+#$Mmi|XW_SfcpJJOyun@i|6?V_^rwr? z`B!q(5!6mJ_|{ULTE-xiBXv8~mcd7G|1=uKb*F`YO=Gb`tIAPiw*hzxTumcSE!3c4 zoK>0?G|FrK1so1|aEJG*3;!YH^K;pB?UXYFC`jvlf7F4g-t|39WXtFhMxXVUrwumg24=V*5X7M5C?{c%gv>bivsIW)O$qn0}sZ!r`UsLWkFF-A6bf zJ+g9}KLcgZ!kVqZyA`(%G2T25Mf2Ez@;Ei>EC=flI1eVtgbpuq>3xkt=X1z)C?C#6 z1`7y`;>MHivih1_(*6g@Er#N@Jz+5wZWa*7q|wyq4|7_;c0b@U=HQ2`YaK=$-P?*x zKAh3U<%CGdRgm%vP|`x8Via*qO+JOy)n%>8)BPPc0Xvnm+49;gV$@ZPAjGJII;uja zIUMIUoZ{-d%D^3k2RZkC({0rQ_Z8h({1-a0Y;|JUO(zx)K>F~|p7!elNBfJh8=M|8IiWCID zPhIh$qV*E^URxeV(@?Y4epQ=QoiEnx`Iemt5FArqI(lFN|}iOnMcf79-3;Mah5VlB}NP{9;b_?a9l}6@9!-tk?0WP zry~h3fH@XM=a8K!3-fA*(P|~^BWi4as1usT*!+Im#GhrutyVDyEBhlY3^^?= zETO*o#}$!#b^lm-+`{jYI;)Jg42ubng`YknV}K;1T@Auvm4=^+GBCIJtv}%3U!Q6@ z&0}n&+`GQ*s3KGBubo8CY+3to9&w_uFs1|JI+GI~p;dnS`yV2aW9*qbF@R za-50|;}lzrfBl!yn)=uMz;!N1iE6pl^1MT-QKx(B6j5zQED)|gcn#bd35qzWYbg4j z!=zuVcm~JVT5!GL!BVZbpE`@Nb+!)xk9Glzb^(RMJ1Pek^dF~=uvp#;BTBS9O3DO4ak}$x6Or( zgnR|XR4YOeND?$G7MjL`9}W!B1`d{ZfW$OT<^guSxUHeaBZPhg=*L4W@I6ebEP_!Y zq5iVe;(EcxoZ>m+pCMg9O&-MF>d>P zfHb}&x(~n)11joYbe4ZIio{R%X$k14oktjJZtS@}Ccntw2?kFxIKto;8B8!Z%79#- z!z1R5nl*OjGtN#bqQM8GA4!`?34}-5mRhLpYvwYqld-hP!{t+G0CW>6JMhAp zE+{y_!W!dBS!@}3O%s&Z`dL6DP+&Dh3ugg-K*8qSqCmT!!Cn=k;1GOs*=UcBM>U@d88w`dSj5BCS%Lyh` zT2yXYB6EWo_mCTh3eKk^D@3!#YVA=<$YI2dgrp!BLsrV}hDmX+M>jM|3(;G_@ShQZ zIOJ#6{)WsyedX=&(i`BBlA^*vSuvhkKpx8Dmyj>R=K;RwJ`2Yww8K7GqwQ?1UZB)u$WR&Wa)oRVxOM~tDsp?{Si$d>mDSDQm<}G?Z7r-_&h$rqb zHQN_JpWLV`#S1T7Hiv?#=QF%YcpY0;W1ZKYRTx#%#?|oRxdykQj}}O+pf_jK!+C~n zvrAr$<^}3cM?%d~|sk^R4K^x7$y$6}3wOOlNAGFbrU17Jb9~#5Q=kmMit3Qof3N`iz-U zCd!>*xe_?976OIzKz>YB0#5@Yt5)sqn=49M1rT}$mlQlLrDCIyP3EzqE85#*t06TcK_U;NstMKP|mtuW~E%pdA<)?8I!!YetkKcb2B%yxjUJ_^Mhk6>j8TVi(wY~k@EK<5W6eU z*W8upv_|oJIWc4(w~i!oWPYv;-$>v67A6kNzNB(RcCvJdK?0i(f%V@J`5i3+o)6QT zDjyJlC=H%zp(tQFAE@BWT&hNqa|e^YL;#&fE@T1Bb`T|+SQzmkLme8V#6g6b<-W)* zFkDjJ!@Rc;Q^C>@r74tPp=R;{q-3L6`k6)%0CZaVH_Q!PYBC1$~B|BvUy8;Hj(H^}*NEl2HZ0?Z_48i15 zY#1{H=AvcnB4I8XWy}zm+a0w$6IPiCGlBWtve_dL5^NNF=U&0mZ}zEVqLCR2E}!9? z&Rhx!8(ngzNy;BvK?jQ$eF;l!?BT-reRi0}zO&II={uH`hwZTN#i;p>Ze7KbHpGCf zyb^DvN&L5}tzbmGXr)=oH>1K}pFSW4*>cVy2RfA223#PLT*@!rR*}3?x|avPNdBjQ zctwF6>qUTlg4JI}05-jGP{5A>GrR_;TY!5estoldYZchXErXR6{KGAS?4P~qD_w>2 z*cg}}Wz3G!foP711tHAmyip`&cSKfS{Pdz%^ww6&XD_f_j;%%VKjYi7qeTYzoYw(| zsk7%DPEwRdX%o3zytVk_KV3P~{^O6&EvEl^<|kiH|NFVHNZa`^a_;u)%hC#N+&AI4b(JqHzE z*+&`6IY8nBf@jBmE{X3IZe_A=b|uK)^)ky@m5oct5WCOrw)od#cUZkvlbx~#t;0yS z(vkzGO8?sxhl+|JlAwOvy!Y_Q_|$Euu*lQM`q$MD+uT20{S1P4&bAfH!8enhYo?wk%@jL0ORS8%P7v zIRd~rM$;i{H!MtltN<1d9RMx4cicE@Z351dvI+b~G3Z0)fu;tBh>=&Uh>m*5j?=Ud zwh`j8mdBok@*PtCzyf2UO>hn-0{yXSzuTr;6CPf0J93 zj;6l#4;n{<9wXY8(O~q*!xolOy&Yrf)c3@))cQSze$9%R`C{(?&7>@0&+6nnS=?@H zxs#Cc4+Og#`Zcx&pEeC6~EHtHEvoWVBSSPokf z_Fu3Lluy9){3w}fE-yd%&t?U^Cv6RidPZ&Mo=_o*J^IGqJpRt_KK|PMkKg~c?hh3< zb~yQOKm4;tfAIT{zV|1OzWMzM#be~rAHDtPTi<{9w_knu_WLNTfDnSz?8GQ_xEd@v zBS>nAi7z>s`Ac7LuB!Yqb>$0lGc_P|USP$83=T7RkrjzKKpBUsv2%nJ#fX&^sI>aB z2K@+0s^raOmp#QBU_?2{ESHL&fxIHHCs(QfuvnHU%~R-bxQ(jrSpzcvHnm*NK#fKS zRWS1Ni$y53ik_-fUd=B9@`>p;FI3j&HCuPSzyPQc3}B(mZebNi2dn~=XE=b&>;xCn z=k_PS9{eSMSBVr5Xvpqo+B#&n*hj5ljSpMBz%QnVQoX>ml+|ga?4HCZYA8naqNOTE z{qb&K6t&toAQ^B8k*Y0*R3-!J7ayr?YA37 z7o%+%9Y#|v&(WE(uvZQ2VT^!1%tHiF9Amm3_RMGidz}hO+1F>=D+YR%uGdU=Qy;15BGi#Ti)5jpYD)*l^U+IBk|4V1FwC{3AZ?0RPnRje#JQ zMb(a<5eZ}Z+3dvR)OJ|toIzjCSq4=da69O8&ap@p_nh-cj#3^K@f>P94kg{8{@_e8 zpc-Vbj35bx%k{F(G>I1xDDb)YTQLn0`C*DfQA1cYb7zK?sPQ z48kU-zKf3hD+uaAjEdAyq8$p>o;ol)S_fuF8^NrJVAkHRaK_oJ!dd21fU`*Jf(8}C zvQT}3#g=a0@=wNFBSaxJ5c32M=OV zL^BGI(oK0F0rK`p`H`w)K*TCeq3RRWG2~To3IhK~)v>LkLFOa?r7jRxWN8IeHJpbp03YP0~% zXau1kyo@k{R{v72VP%(4IY|P|MvMWaATY-KBm}CK)@YGJc|aC`4b{380?pfmCMyS6 zXOTjof+Yyo8=CIHF!f;|&45TqhYEpgLLh*pR*0$vbeG5?MP9d*T~&kNAcR?GR5et6 zA_OAOKwuX~yz1JtNVkp#aOc_)JseGpW*{&&8jKX>fy3}W;^Ycrf&&xpS%pCMTd$g# z-T{GobTN7j1mY;oKp@O*-5pM0dRMPl`0gA6yPgDrn4yBdNVPvUc+Mu0{QmA*Lm=Wr#2BjLpLD{&@6!(I1e$Bsv zqYY<22hqd;Bprt4srk8_U1Q?2!^TD}jdOYdj$Qu^46sg1v!SEG*i2f(_KQ}J)disZ zUl^V>kgU_xzOgMxE(%XA2o3OjAr2S-+wp`2&MBmUJxKF}#iWg+guXMA1{5J5XNqAO zScEh{B}}Je?L!NE03U?GEWp;(jUQT6#+s;%8B}5jH3Y4jGe1h^`&6#f;^~s&{%U4Y z#r7jwjGEakMMx&bQLFjWhMHlfso6&;iq*u3YchYsEPM#7am1?L|aIuxkwYtwPUeL*a zN{1toeKuMIgL4MaZX4STu`R3{!!})TwtyLgLjcpyvsQT9bY19eyRRDyC!|GI@AGT0 zjb^1mOl)^aAZE?mhVdG6vjx}&d}}BNvlH7an4~-OwvkI?)@J?ji*p*e&Mbp@25%uS zIvx+%^Xl26zb5}*NN%w^ckFzNX?wFkIt4VUSn7D&C8e&x9HgD8*yO`GZX8^Q6C;RFN)@@#i4RA<4JW<2%DUnD z!VfvyKj|WCfvb!zGya7RGg}>IcGY3V1DQ7bXq5Y3ZNM#n6WzrKfm?tO$c#BAR?Q9S z4SZQv1VVaD3@JfzC`6F@G!SiVhH!)gCQ*G~#tlEFh9v+H&U?71@Hl83WdIi{Tfl-g zJsJp=F&CnsEf1k-sA6lsq0QoIL|wC&YxXJxWl(+l=z-BR9d3}yFgZvqCdwKBLL$wh z2;%`?{gGS?UxQ99NGPTNK!UKFXK!#Xt&LlJF?jbdf)oc0b#Us&b9DUy5~$?>iSZIh zA_Od&4&m@K{SF*Now}@)nFx@13ZCYK)*AGe7rE%F*0uC7>H@>KO~)Yw8#?o;fTg&EElxbPyfXon;>gtt zCZjV%^=%oa{{phq>F)=w^J`IJIbW8uYG;1sW@vhjv+^|rIv|*&HHAw%!x?I+jH@G+ zbv!R@jKv$x=W>R^Xy|3`vd=r}X}|L_E$6TsC2(CPtP4O_43Q(-SL zY_}vP0beaRzwFm%3bC|-wZu?UyPYG0aQ3+F+_d}$2+ZXGoLKT=08}7z(*zP|$$fLv zBq8sin5s`G0tp1-Q4pu_!xtx=XamPzJmz8=(hnGH#WfSX2nHPM2Tbx%406)U3n$IE za01EDZ<^{}E0~*;Jf}REM@(`YEnrtidjijAz0;uQ_j;kh8Afx;C+0Q-ML<0k<|KM| z&Y$ZqG9>XP(M1Nn7_d@5(ItelQ6zpXfkuOl+IgO_s@RQk5uJ4gFEcpG;1veP82loG zF$U!OQT)UluCvDOyqr@&Q>}a_8We(~^P{z+b4&FCdd+j>GQI_$llb}HLjZ1pVvgHW z*dW0#kV)!^xT6VY7pl?$VlEhhV{nRYY4(&Vrl9D4GS3VczNmLY{Tg){rop=ec5+>< zMw8a~IvuO^8O@sU7rcB?%iwrM$s2RdmpN=Q`@HSm9SNA#gfYoh+{ijEYJXWm!)CpF%ynm14pR~MK3#{h=Ap=+d)PQb;3$jo* zxl=}~PCrnBtYKk|aThMOjJ#h8N^Jcspb;psg|h%Zpg=K*7T+v`Ld?Ze;k5@jwO|{9X9aJRZ)wMMO zp4&matsRm_cTn-b%Y1D-39iIfD#p z(()@zslV%1ro?Vv}qFK38e4Y~WBH~6u+94NRR=eE{+he<*ZfKMi z{uB)V1rdk?_z;qy%+KrSi19i)@9il{;%+{~U;v^s0OnWOF?2`}#0SL;dO5PXmu?6^ z&JqMjv$z+lc+`oIibtIYsd&_hkcvm02vI!hMF_WD8bk zGA@~o-1HXnMW6U*uJZCC@O7Uv@^dNsWF&bODf6i?==@hN+khZWRqk|~TFI7ioiHYX zHR*f0;HeU>7kAX@Il<<25BpRkkPO53IYSYAiSJ@H+wFE|V$dFhrred-P5?7svb?hHsI|)r!UQx}o%){%$D)6_$*5p(J}e~rPc8{X5m zIaR%#cUbpb1~Ag7=!#@AMQDeajPoAJDu8b@_S+0p6l_~Md_azUftY%!Z-I+lD E4^O`51^@s6 diff --git a/trade_process/strategy/macd_live_test.py b/trade_process/strategy/macd_live_test.py index f774466..2100f27 100644 --- a/trade_process/strategy/macd_live_test.py +++ b/trade_process/strategy/macd_live_test.py @@ -6,7 +6,7 @@ import pandas as pd import numpy as np from data_process.data_calcute import calcute_ma - +from trade_process import efund_mail2 from init import * from util.codeConvert import GetNowDate from copy import deepcopy @@ -166,8 +166,7 @@ def select_Time_DMA(self): elif dma_price[-1] < dma_price[-2] and dma_price[-1] < ama_price[-1] \ and dma_price[-2] > ama_price[-2]: signal = SIGNAL_SALE - return signal - + return signal # TRIX指标择时 (回测) def select_Time_TRIX(self): @@ -204,9 +203,6 @@ def select_Time_TRIX(self): signal = SIGNAL_SALE return signal - - - # AMA指标择时 def select_Time_AMA(self): @@ -250,3 +246,43 @@ def _getConstaint(self, prices): constaint = sSC*sSC return constaint +def macd_live(code, df=None): + fundlist = efund_mail2.get_histrydata(code, 365) + df = pd.DataFrame(fundlist[::-1], columns=['date', 'close', 'countclose', 'change']) + url = 'http://fund.eastmoney.com/%s.html' % code[0] + todayvalue = efund_mail2.spider(url) + if (todayvalue != None): + MAStrategyPos = MAStrategy(code[0],todayvalue[0],df) + print str(code) + print u'-- MA 策略 --' + print MAStrategyPos.select_Time_MA() + + print u'-- MACD 策略 --' + print MAStrategyPos.select_Time_MACD() + + print u'-- DMA 策略 --' + print MAStrategyPos.select_Time_DMA() + + print u'-- TRIX 策略 -->' + print MAStrategyPos.select_Time_TRIX() + + print u'-- 组合策略 --' + print MAStrategyPos.select_Time_Mix() + + print u'-- AMA策略 --' + print MAStrategyPos.select_Time_AMA() + + print '\n' + print "main end" + +def macd_live_main(code): + code = [['002963', 'egold'], ['003321', 'eoil'], ['004744', 'eGEI'], ['110003', 'eSSE50'], ['110020', 'HS300'], + ['110031', 'eHSI'], ['161130', 'eNASDAQ100'], ['110028', 'anxinB'], ['110022', 'eConsumption '], + ['161125', 'SPX500']] + buysell = [] + for i in code: + # save(strfundcode=i ,numdays=365*1) + macd_live(i) + +if __name__ == '__main__': + macd_live_main(1) diff --git a/trade_process/strategy/tread_tracking.py b/trade_process/strategy/tread_tracking.py index ca6ee03..adfe897 100644 --- a/trade_process/strategy/tread_tracking.py +++ b/trade_process/strategy/tread_tracking.py @@ -211,7 +211,7 @@ def tread_track_backtest(code, df=None): # df = get_stock_k_line(code, date_start='2015-12-30', date_end='2016-05-05') # df=efund_mail2.get_histrydata(code,365) fundlist = efund_mail2.get_histrydata(code, 365) - df = pd.DataFrame(fundlist[::-1], columns=['date', 'close', 'countclose', 'change']) + df = pd.DataFrame(fundlist[::-1], columns=['Date', 'Adj Close', 'countclose', 'change']) if len(df) == 0: return None # print df.head(2) @@ -544,6 +544,9 @@ def stock_trader_main(code): # result_list = sorted(result_list, key = lambda x : x[2]) # print result_list[0] # print result_list[-1] + code = [['002963', 'egold'], ['003321', 'eoil'], ['004744', 'eGEI'], ['110003', 'eSSE50'], ['110020', 'HS300'], + ['110031', 'eHSI'], ['161130', 'eNASDAQ100'], ['110028', 'anxinB'], ['110022', 'eConsumption '], + ['161125', 'SPX500']] stock_trader_main() diff --git a/trade_process/strategy/tread_tracking.pyc b/trade_process/strategy/tread_tracking.pyc index 1a75282049f9d51c6ed69cb8f8654440e74c6ecf..c0d85d3481fdc1b1df10fd1303c43552809d6caf 100644 GIT binary patch delta 1244 zcmZ8eOKcNI82)DyJBdx=SNw|O#yBC_JP5mX5|UQ53BJe&W0 zG12t4-Sh6pbBim`_`Eny<6m9AllYSj-uZX`wI#;Gz#~vlfJcGHB#8s>k|Y7VTaqO3 zuO#UKo|0rg@U$eo!22XQ0K8w40pKc;f(I7UV5MLSfRzEb0;W1d{lf^Ji?+SyjIvSR z!8VAO+~nE;uoWn^z&6G~)oz6?1?o+os$$1Kk@mpxJeI4s!sdTqw*wlv7ov7E)S6(6 z;Y9rH?>gaySo~5mRALO}8W!9g$Vz(ML-x;f^aE7#U;4#tV2XLgPk{vD9|5&>A4c{8 zZx^ouN!B6$3G|NnV4KOfLD>A+MWNa#RP2*b5X0llF0HugZPXT1eit08q zsfZWsC`3CixnOQ-Y^+&fr$lPlRE#<2VV6r`^Wt&$Q~xsg&J!FV_*T43h8>Z7&KMV`d;X7KB$cYE zO$f4Y)mpt^tUKpY4oj|+NGrv%ZRBw@st77YFl=!sy~7I5lk`32CZkamKlF{dZK9iE zr%y1;Ngi<6q-=79Wa?x{uPk<*ro9AI))+xhTZlDkv<}>4C2?o5k|c zJvCEpC;zcZxw>(A%`R5Tsolj1UC)e5YMx#g*EAJvp!SN6p$E(qH@aiu^^o4Pf}(Mf cKwbkUc9-A=!3bVdiA{=MhsWIqSs(MU4@BbnFaQ7m delta 877 zcmZ8fO=uHQ5T3V5HqB~mvrV#_gxEB-y0x*0+G^;fg2fd7U@KND#cI;%wwko*sy!ss z8ju$8P)9^hUPSQZVGn}hO%PO2yo%mDh)_hqgCIJy5v*O<@6CMky_xUr+dHFAM-raz zL1jL7YBUdj9}leq^v;Uq#5)mLUTIfJrpEt6BWq(w7dv{v36vHNo6Bu!BItf&!ZDg{lYYf)d;tiVrEE$ELhc z)&wvktjC<%u`39R z!nLcy+*Kc&3a}}Cl_}8aIQz!(zFL6ClFNH)*Jjet&`MRRw(^GEwN{uJlt$KA!xeQw zcyYS*5@B03fl@e0W>R5hIe!*D;?@o9jT9;R8a42FWYn!@qYBs>XyGXzRI>6SxTmK1 zrKm1jVHlAPNtu}Zd?<6?!t;JM~3K1eT#qO-l@ zwvgS86@0y^N1o;4<(r)-3eK%gN9=KjO*6|A8#CNqS2*op;I3wd!0>a_Xo2%vZU_s5 z#z2eBY>}bBVBwf?LgbythAQN8gL%{S$Zt>xMjFSv9|{wd%uxIc7Y{JFvOGu24A-f} OaeSFk#SZ+C>HPx){J4<- From d3ef3c7cbfc2e6f64be1e808d8c4604b7c927e81 Mon Sep 17 00:00:00 2001 From: lishulincug <1627041882@qq.com> Date: Wed, 17 Jan 2018 23:30:21 +0800 Subject: [PATCH 09/67] Add files via upload --- stock_trader.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/stock_trader.py b/stock_trader.py index cb6f67b..1bfb07e 100644 --- a/stock_trader.py +++ b/stock_trader.py @@ -1,6 +1,7 @@ #coding=utf-8 from trade_process.strategy.macd_back_test import macdmain from trade_process.strategy.tread_tracking import stock_trader_main +from trade_process.strategy.macd_live_test import macd_live_main if __name__ == '__main__': stockList = ['000725', '000783', '002167', '002505', '002600', '300315', '600000', '600011', '600048', '601001'] ChinaStockIndexList = [ @@ -17,5 +18,6 @@ ['110031', 'eHSI'], ['161130', 'eNASDAQ100'], ['110028', 'anxinB'], ['110022', 'eConsumption '], ['161125', 'SPX500']] #均线策略 - macdmain(ChinaStockIndexList) - stock_trader_main(code) \ No newline at end of file + macdmain(code) + stock_trader_main(code) + macd_live_main(code) \ No newline at end of file From 99cbec28e2c383db93f5106335f624e916e4dd3f Mon Sep 17 00:00:00 2001 From: lishulincug <1627041882@qq.com> Date: Wed, 17 Jan 2018 23:36:18 +0800 Subject: [PATCH 10/67] Update macd_back_test.py --- trade_process/strategy/macd_back_test.py | 52 ++++++++++++------------ 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/trade_process/strategy/macd_back_test.py b/trade_process/strategy/macd_back_test.py index 54b7a47..886a9c9 100644 --- a/trade_process/strategy/macd_back_test.py +++ b/trade_process/strategy/macd_back_test.py @@ -598,24 +598,24 @@ def macdmain(stockList): fundlist = efund_mail2.get_histrydata(stockName, 365) stock_data = pd.DataFrame(fundlist[::-1], columns=['Date', 'Adj Close', 'countclose', 'change']) # self_adaptive_ma(stock_data) - + Avg=[5,12] print u'-- MA 策略 --' - select_Time_MA(stock_data, stockName) + select_Time_MA(stock_data, stockName,Avg) print u'-- MACD 策略 --' - select_Time_MACD(stock_data, stockName) + select_Time_MACD(stock_data, stockName,Avg) print u'-- DMA 策略 --' - select_Time_DMA(stock_data, stockName) + select_Time_DMA(stock_data, stockName,Avg) print u'-- TRIX 策略 -->' - select_Time_TRIX(stock_data, stockName) + select_Time_TRIX(stock_data, stockName,Avg) print u'-- 组合策略 --' - select_Time_Mix(stock_data, stockName) + select_Time_Mix(stock_data, stockName,Avg) print u'-- AMA策略 --' - select_Time_AMA(stock_data, stockName) + select_Time_AMA(stock_data, stockName,Avg) print '\n' print "main end" @@ -636,24 +636,24 @@ def macdmain(stockList): #processEMA(stockCsvPath, stockCsvNewPath) stock_data = pd.read_csv(stockCsvPath) #self_adaptive_ma(stock_data) - - print u'>>>>>>>>>>>>> MA 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' - select_Time_MA(stock_data, stockName) - - print u'>>>>>>>>>>>>> MACD 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' - select_Time_MACD(stock_data, stockName) - - print u'>>>>>>>>>>>>> DMA 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' - select_Time_DMA(stock_data, stockName) - - print u'>>>>>>>>>>>>> TRIX 策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' - select_Time_TRIX(stock_data, stockName) - - print u'>>>>>>>>>>>>> 组合策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' - select_Time_Mix(stock_data, stockName) - - print u'>>>>>>>>>>>>> AMA策略 >>>>>>>>>>>>>>>>>>>>>>>>>>' - select_Time_AMA(stock_data, stockName) + Avg=[5,10] + print u'-- MA 策略 --' + select_Time_MA(stock_data, stockName,Avg) + + print u'-- MACD 策略 --' + select_Time_MACD(stock_data, stockName,Avg) + + print u'-- DMA 策略 --' + select_Time_DMA(stock_data, stockName,Avg) + + print u'-- TRIX 策略 -->' + select_Time_TRIX(stock_data, stockName,Avg) + + print u'-- 组合策略 --' + select_Time_Mix(stock_data, stockName,Avg) + + print u'-- AMA策略 --' + select_Time_AMA(stock_data, stockName,Avg) print '\n' - print "main end" \ No newline at end of file + print "main end" From afdac25a01933943a0572ce522899d53ca33988a Mon Sep 17 00:00:00 2001 From: lishulincug <1627041882@qq.com> Date: Thu, 18 Jan 2018 09:16:03 +0800 Subject: [PATCH 11/67] Update init.py --- init.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/init.py b/init.py index cb1f582..58d8f4e 100644 --- a/init.py +++ b/init.py @@ -27,7 +27,7 @@ pwd_mysql = '133499' db_name_mysql = 'wealth_db' -engine = create_engine('mysql+mysqldb://%s:%s@%s/%s' % (user_mysql, pwd_mysql, host_mysql, db_name_mysql), connect_args={'charset':'utf8'}) +#engine = create_engine('mysql+mysqldb://%s:%s@%s/%s' % (user_mysql, pwd_mysql, host_mysql, db_name_mysql), connect_args={'charset':'utf8'}) class get_mysql(object): '''链接数据库,并根据提供的数据库名称和关键词信息创建一个表格,表格存在就不创建''' def __init__(self,dbname,key,citys): @@ -111,4 +111,4 @@ def close_mytable(self): errorLogger = Logger(logname='../Log/error.log', logger='E') #配置文件 位置 -config_file_path = '../config.ini' \ No newline at end of file +config_file_path = '../config.ini' From 22648b37fe3e30cb309d0ffc73a033078319e784 Mon Sep 17 00:00:00 2001 From: lishulincug <1627041882@qq.com> Date: Thu, 18 Jan 2018 09:21:15 +0800 Subject: [PATCH 12/67] Update efund_mail2.py --- trade_process/efund_mail2.py | 52 ++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/trade_process/efund_mail2.py b/trade_process/efund_mail2.py index e05d342..9af6aa9 100644 --- a/trade_process/efund_mail2.py +++ b/trade_process/efund_mail2.py @@ -475,8 +475,7 @@ def check_time(H, M,S): # itchat.send(str(i[0]) + st+(' http://fund.eastmoney.com/%s.html'%i[0][0]) +('-- http://www.efunds.com.cn/html/fund/%s_fundinfo.htm'%i[0][0]), 'filehelper') # itchat.send(str(i[0]) + st, toUserName='@9f545f6d5c3f89aa63956c3f386733232f7176569f71a26f477909c02828d735') s.enter(1, 1, check_time, deb_print()) - - + def main1(): a=1 while True: @@ -494,30 +493,7 @@ def main1(): # xiaozhao.send_email() s.enter(1, 1, check_time, deb_print()) s.run() - -if __name__=='__main__': - # itchat.auto_login(hotReload=True) - # itchat.run - # - # curTime = now = time.strftime("%y-%m-%d %H:%M:%S", time.localtime()) - # itchat.send(curTime, 'filehelper') - # buysell = one_predict.main_run() - # f = open("buysell.txt",'a') - # for i in buysell: - # # write_str = str(i) + '\n' - # # f.write(write_str) - # st = '' - # if i[1]['buy'] != []: - # st = u'买入点' - # for j in i[1]['buy']: - # st += str(j) + ' ' - # elif i[1]['sell'] != []: - # st += u' 卖出点' - # for k in i[1]['sell']: - # st += str(k) + ' ' - # if st != '': - # itchat.send(str(i[0]) + st, 'filehelper') - # itchat.send(str(i[0]) + st,toUserName='@9f545f6d5c3f89aa63956c3f386733232f7176569f71a26f477909c02828d735') +def run(): now = time.strftime("%y-%m-%d %H:%M:%S", time.localtime()) H = now[9:11] M = now[12:14] @@ -547,6 +523,30 @@ def main1(): # print sendmsg send_email(sendmsg) main1() +if __name__=='__main__': + # itchat.auto_login(hotReload=True) + # itchat.run + # + # curTime = now = time.strftime("%y-%m-%d %H:%M:%S", time.localtime()) + # itchat.send(curTime, 'filehelper') + # buysell = one_predict.main_run() + # f = open("buysell.txt",'a') + # for i in buysell: + # # write_str = str(i) + '\n' + # # f.write(write_str) + # st = '' + # if i[1]['buy'] != []: + # st = u'买入点' + # for j in i[1]['buy']: + # st += str(j) + ' ' + # elif i[1]['sell'] != []: + # st += u' 卖出点' + # for k in i[1]['sell']: + # st += str(k) + ' ' + # if st != '': + # itchat.send(str(i[0]) + st, 'filehelper') + # itchat.send(str(i[0]) + st,toUserName='@9f545f6d5c3f89aa63956c3f386733232f7176569f71a26f477909c02828d735') + run() # f.close() # itchat.send("@fil@%s" % 'buysell.txt', 'filehelper') # for (name, fund_id) in ids.items(): From 21f8ec2f32d7cedfdb836f8b6e2e85c7018aac76 Mon Sep 17 00:00:00 2001 From: lishulincug <1627041882@qq.com> Date: Thu, 18 Jan 2018 09:30:17 +0800 Subject: [PATCH 13/67] Update tread_tracking.py --- trade_process/strategy/tread_tracking.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/trade_process/strategy/tread_tracking.py b/trade_process/strategy/tread_tracking.py index adfe897..104d27b 100644 --- a/trade_process/strategy/tread_tracking.py +++ b/trade_process/strategy/tread_tracking.py @@ -16,7 +16,7 @@ import cwavelet #参数 -prama_ma_short = 2 # 短均线 +prama_ma_short = 3 # 短均线 prama_ma_long = 7 # 长均线 prama_ma_long20 = 15 # 长均线 prama_ma_long30 = 20 # 长均线 @@ -211,7 +211,7 @@ def tread_track_backtest(code, df=None): # df = get_stock_k_line(code, date_start='2015-12-30', date_end='2016-05-05') # df=efund_mail2.get_histrydata(code,365) fundlist = efund_mail2.get_histrydata(code, 365) - df = pd.DataFrame(fundlist[::-1], columns=['Date', 'Adj Close', 'countclose', 'change']) + df = pd.DataFrame(fundlist[::-1], columns=['date', 'close', 'countclose', 'change']) if len(df) == 0: return None # print df.head(2) @@ -559,4 +559,4 @@ def stock_trader_main(code): - \ No newline at end of file + From e03173f4fb34fcf9ef9686f1c62fa556691c71b7 Mon Sep 17 00:00:00 2001 From: lishulincug <1627041882@qq.com> Date: Thu, 18 Jan 2018 09:46:38 +0800 Subject: [PATCH 14/67] Update macd_back_test.py --- trade_process/strategy/macd_back_test.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/trade_process/strategy/macd_back_test.py b/trade_process/strategy/macd_back_test.py index 886a9c9..c33683a 100644 --- a/trade_process/strategy/macd_back_test.py +++ b/trade_process/strategy/macd_back_test.py @@ -103,6 +103,7 @@ def self_adaptive_ma(stock_data,Avg): def select_Time_MA(stock_data, stockName,Avg): AVR_SHORT = Avg[0] AVR_LONG = Avg[1] + AVR_vLONG = Avg[2] start_money = 100000000 now_count = 0 now_money = start_money @@ -113,9 +114,10 @@ def select_Time_MA(stock_data, stockName,Avg): close_price = stock_data['Adj Close'].get_values() #EMA - ma_list = [AVR_SHORT, AVR_LONG] + ma_list = [AVR_SHORT, AVR_LONG,AVR_vLONG] ema_close_short = pd.ewma(close_price, span=ma_list[0]) ema_close_long = pd.ewma(close_price, span=ma_list[1]) + ema_close_vlong = pd.ewma(close_price, span=ma_list[2]) signals = [0]*(ma_list[1]+1) tradeTimes = 0 @@ -125,7 +127,7 @@ def select_Time_MA(stock_data, stockName,Avg): signal = SIGNAL_DEFAULT if ema_close_short[t] > ema_close_short[t-1] and ema_close_short[t] > ema_close_long[t] \ - and ema_close_short[t-1] < ema_close_long[t-1]: + and ema_close_short[t-1] < ema_vclose_long[t-1]: if bBuySignal: signal = SIGNAL_BUY now_count = (int)(start_money / close_price[t] /100)*100 @@ -173,6 +175,7 @@ def select_Time_MA(stock_data, stockName,Avg): def select_Time_MACD(stock_data, stockName,Avg): AVR_SHORT = Avg[0] AVR_LONG = Avg[1] + AVR_vLONG = Avg[2] start_money = 100000000 now_count = 0 now_money = start_money @@ -183,10 +186,11 @@ def select_Time_MACD(stock_data, stockName,Avg): close_price = stock_data['Adj Close'].get_values() #EMA - ma_list = [AVR_SHORT, AVR_LONG] + ma_list = [AVR_SHORT, AVR_LONG,AVR_vLONG] ma_dea = 10 ema_close_short = pd.ewma(close_price, span=ma_list[0]) ema_close_long = pd.ewma(close_price, span=ma_list[1]) + ema_close_vlong = pd.ewma(close_price, span=ma_list[2]) dif_price = ema_close_short - ema_close_long @@ -252,6 +256,7 @@ def select_Time_MACD(stock_data, stockName,Avg): def select_Time_DMA(stock_data, stockName,Avg): AVR_SHORT = Avg[0] AVR_LONG = Avg[1] + AVR_vLONG = Avg[2] start_money = 100000000 now_count = 0 now_money = start_money @@ -262,10 +267,11 @@ def select_Time_DMA(stock_data, stockName,Avg): close_price = stock_data['Adj Close'].get_values() #MA - ma_list = [AVR_SHORT, AVR_LONG] + ma_list = [AVR_SHORT, AVR_LONG,AVR_vLONG] ma_dea = 10 ma_close_short = pd.rolling_mean(close_price, ma_list[0]) ma_close_long = pd.rolling_mean(close_price, ma_list[1]) + ma_close_vlong = pd.rolling_mean(close_price, ma_list[2]) dma_price = ma_close_short - ma_close_long @@ -598,7 +604,7 @@ def macdmain(stockList): fundlist = efund_mail2.get_histrydata(stockName, 365) stock_data = pd.DataFrame(fundlist[::-1], columns=['Date', 'Adj Close', 'countclose', 'change']) # self_adaptive_ma(stock_data) - Avg=[5,12] + Avg=[5,12,40] print u'-- MA 策略 --' select_Time_MA(stock_data, stockName,Avg) @@ -636,7 +642,7 @@ def macdmain(stockList): #processEMA(stockCsvPath, stockCsvNewPath) stock_data = pd.read_csv(stockCsvPath) #self_adaptive_ma(stock_data) - Avg=[5,10] + Avg=[5,10,40] print u'-- MA 策略 --' select_Time_MA(stock_data, stockName,Avg) From d07e95144893c8d543e99c7e6093899628bbf190 Mon Sep 17 00:00:00 2001 From: lishulincug <1627041882@qq.com> Date: Thu, 18 Jan 2018 09:57:17 +0800 Subject: [PATCH 15/67] Update macd_back_test.py --- trade_process/strategy/macd_back_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trade_process/strategy/macd_back_test.py b/trade_process/strategy/macd_back_test.py index c33683a..bb28de9 100644 --- a/trade_process/strategy/macd_back_test.py +++ b/trade_process/strategy/macd_back_test.py @@ -127,7 +127,7 @@ def select_Time_MA(stock_data, stockName,Avg): signal = SIGNAL_DEFAULT if ema_close_short[t] > ema_close_short[t-1] and ema_close_short[t] > ema_close_long[t] \ - and ema_close_short[t-1] < ema_vclose_long[t-1]: + and ema_close_short[t-1] < ema_close_vlong[t-1]: if bBuySignal: signal = SIGNAL_BUY now_count = (int)(start_money / close_price[t] /100)*100 From a935030677a005b92dc2a27fbaf51e4d5a8492e8 Mon Sep 17 00:00:00 2001 From: lishulincug <1627041882@qq.com> Date: Thu, 18 Jan 2018 10:07:14 +0800 Subject: [PATCH 16/67] Update macd_back_test.py --- trade_process/strategy/macd_back_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trade_process/strategy/macd_back_test.py b/trade_process/strategy/macd_back_test.py index bb28de9..7a98ef2 100644 --- a/trade_process/strategy/macd_back_test.py +++ b/trade_process/strategy/macd_back_test.py @@ -126,7 +126,7 @@ def select_Time_MA(stock_data, stockName,Avg): signal = SIGNAL_DEFAULT - if ema_close_short[t] > ema_close_short[t-1] and ema_close_short[t] > ema_close_long[t] \ + if ema_close_short[t] > ema_close_short[t-1] and ema_close_short[t] > ema_close_vlong[t] \ and ema_close_short[t-1] < ema_close_vlong[t-1]: if bBuySignal: signal = SIGNAL_BUY From ede9b81d7c841b7780a01c8ca7322ffab0b69211 Mon Sep 17 00:00:00 2001 From: lishulincug <1627041882@qq.com> Date: Thu, 18 Jan 2018 10:15:28 +0800 Subject: [PATCH 17/67] Update macd_back_test.py --- trade_process/strategy/macd_back_test.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/trade_process/strategy/macd_back_test.py b/trade_process/strategy/macd_back_test.py index 7a98ef2..8d10db5 100644 --- a/trade_process/strategy/macd_back_test.py +++ b/trade_process/strategy/macd_back_test.py @@ -604,9 +604,10 @@ def macdmain(stockList): fundlist = efund_mail2.get_histrydata(stockName, 365) stock_data = pd.DataFrame(fundlist[::-1], columns=['Date', 'Adj Close', 'countclose', 'change']) # self_adaptive_ma(stock_data) - Avg=[5,12,40] + Avg=[4,12,40] + Avg1=[3,11,40] print u'-- MA 策略 --' - select_Time_MA(stock_data, stockName,Avg) + select_Time_MA(stock_data, stockName,Avg1) print u'-- MACD 策略 --' select_Time_MACD(stock_data, stockName,Avg) From 6eaba5dcb1ecff4055568d42caf10c0647af7e64 Mon Sep 17 00:00:00 2001 From: lishulincug <1627041882@qq.com> Date: Thu, 18 Jan 2018 10:30:27 +0800 Subject: [PATCH 18/67] Update macd_back_test.py --- trade_process/strategy/macd_back_test.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/trade_process/strategy/macd_back_test.py b/trade_process/strategy/macd_back_test.py index 8d10db5..8c71d1b 100644 --- a/trade_process/strategy/macd_back_test.py +++ b/trade_process/strategy/macd_back_test.py @@ -144,7 +144,7 @@ def select_Time_MA(stock_data, stockName,Avg): bBuySignal = True signals.append(signal) if signal != 0: - #print 't:', t, ' signal:', signal + print 't:', t, ' signal:', signal tradeTimes += 1 @@ -222,7 +222,7 @@ def select_Time_MACD(stock_data, stockName,Avg): bBuySignal = True signals.append(signal) if signal != 0: - #print 't:', t, ' signal:', signal + print 't:', t, ' signal:', signal tradeTimes += 1 @@ -302,7 +302,7 @@ def select_Time_DMA(stock_data, stockName,Avg): bBuySignal = True signals.append(signal) if signal != 0: - #print 't:', t, ' signal:', signal + print 't:', t, ' signal:', signal tradeTimes += 1 @@ -384,7 +384,7 @@ def select_Time_TRIX(stock_data, stockName,Avg): bBuySignal = True signals.append(signal) if signal != 0: - #print 't:', t, ' signal:', signal + print 't:', t, ' signal:', signal tradeTimes += 1 @@ -456,7 +456,7 @@ def select_Time_Mix(stock_data, stockName,Avg): signals.append(signal) if signal != 0: - #print 't:', t, ' signal:', signal + print 't:', t, ' signal:', signal tradeTimes += 1 print stockName, u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ @@ -518,7 +518,7 @@ def select_Time_AMA(stock_data, stockName,Avg): #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money signals.append(signal) if signal != 0: - #print 't:', t, ' signal:', signal + print 't:', t, ' signal:', signal tradeTimes += 1 # 成本 From 464257f7c2cadaa1382c7e00e60195bd2a40fa89 Mon Sep 17 00:00:00 2001 From: lishulincug <1627041882@qq.com> Date: Thu, 18 Jan 2018 10:42:14 +0800 Subject: [PATCH 19/67] Update macd_back_test.py --- trade_process/strategy/macd_back_test.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/trade_process/strategy/macd_back_test.py b/trade_process/strategy/macd_back_test.py index 8c71d1b..db5d3e0 100644 --- a/trade_process/strategy/macd_back_test.py +++ b/trade_process/strategy/macd_back_test.py @@ -144,7 +144,8 @@ def select_Time_MA(stock_data, stockName,Avg): bBuySignal = True signals.append(signal) if signal != 0: - print 't:', t, ' signal:', signal + + print 't:', str(stock_data.ix[t, 'Date']), ' signal:', signal tradeTimes += 1 @@ -222,7 +223,7 @@ def select_Time_MACD(stock_data, stockName,Avg): bBuySignal = True signals.append(signal) if signal != 0: - print 't:', t, ' signal:', signal + print 't:', str(stock_data.ix[t, 'Date']), ' signal:', signal tradeTimes += 1 @@ -302,7 +303,7 @@ def select_Time_DMA(stock_data, stockName,Avg): bBuySignal = True signals.append(signal) if signal != 0: - print 't:', t, ' signal:', signal + print 't:', str(stock_data.ix[t, 'Date']), ' signal:', signal tradeTimes += 1 @@ -384,7 +385,7 @@ def select_Time_TRIX(stock_data, stockName,Avg): bBuySignal = True signals.append(signal) if signal != 0: - print 't:', t, ' signal:', signal + print 't:', str(stock_data.ix[t, 'Date']), ' signal:', signal tradeTimes += 1 @@ -456,7 +457,7 @@ def select_Time_Mix(stock_data, stockName,Avg): signals.append(signal) if signal != 0: - print 't:', t, ' signal:', signal + #print 't:', t, ' signal:', signal tradeTimes += 1 print stockName, u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ @@ -518,7 +519,7 @@ def select_Time_AMA(stock_data, stockName,Avg): #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money signals.append(signal) if signal != 0: - print 't:', t, ' signal:', signal + #print 't:', i, ' signal:', signal tradeTimes += 1 # 成本 From 619f0cef55caf7a9b94953b89b244d614cdbf71d Mon Sep 17 00:00:00 2001 From: lishulin <1627041882@qq.com> Date: Sun, 21 Jan 2018 23:03:48 +0800 Subject: [PATCH 20/67] =?UTF-8?q?=E6=8B=A9=E6=97=B6=E7=AD=96=E7=95=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 +- cleastsq.pyc | Bin 2978 -> 2954 bytes cwavelet.pyc | Bin 2468 -> 2448 bytes data_process/__init__.pyc | Bin 313 -> 134 bytes data_process/data_calcute.pyc | Bin 3930 -> 3918 bytes data_process/data_get.pyc | Bin 3331 -> 3307 bytes data_process/download_stock.pyc | Bin 4923 -> 4902 bytes init.pyc | Bin 4154 -> 4029 bytes stock_trader.py | 15 +- stockdata/GAOpt.txt | 71 ++++ stockdata/GAOpt1.txt | 3 + stockdata/IgnoreListStock.txt | 0 trade_process/__init__.pyc | Bin 168 -> 164 bytes trade_process/efund_mail2.py | 91 +++-- trade_process/efund_mail2.pyc | Bin 14798 -> 15101 bytes trade_process/fund_zf.py | 2 +- trade_process/fund_zf.pyc | Bin 6073 -> 6057 bytes trade_process/strategy/__init__.pyc | Bin 146 -> 144 bytes trade_process/strategy/macd_back_test.py | 230 +++++++---- trade_process/strategy/macd_back_test.pyc | Bin 13976 -> 19090 bytes trade_process/strategy/macd_live_test.pyc | Bin 6728 -> 8234 bytes trade_process/strategy/tread_tracking.pyc | Bin 11544 -> 11497 bytes ...2\345\220\215\347\273\223\346\236\234.txt" | 361 +++++++++--------- util/MyLogger.pyc | Bin 2314 -> 2294 bytes util/__init__.pyc | Bin 247 -> 243 bytes util/codeConvert.pyc | Bin 2967 -> 2923 bytes util/commons.pyc | Bin 813 -> 809 bytes util/helper.pyc | Bin 755 -> 743 bytes util/stockutil.pyc | Bin 1267 -> 1247 bytes ...2\345\220\215\347\273\223\346\236\234.txt" | 187 +++++++++ 30 files changed, 674 insertions(+), 292 deletions(-) create mode 100644 stockdata/GAOpt.txt create mode 100644 stockdata/GAOpt1.txt create mode 100644 stockdata/IgnoreListStock.txt create mode 100644 "\345\237\272\351\207\221\347\273\274\345\220\210\346\216\222\345\220\215\347\273\223\346\236\234.txt" diff --git a/README.md b/README.md index 13adba4..852f572 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ - 实时交易 - 历史回撤 - +-均线策略 +-趋势策略 +计算策略收益以及超额收益 +根据经验判断基金买卖情况 +发送邮件 \ No newline at end of file diff --git a/cleastsq.pyc b/cleastsq.pyc index 9b48bb88ba0914728d3e9290fc37c81246076f44..d93af085ac8bf6e940bdbb1df12e1c8ea0c0bf81 100644 GIT binary patch delta 161 zcmZ1^-X+e?{F#?4w?1JbJ1>in5(5K+t5uAFv1dq(duEA8Y0~5~tn!;ZS#lY%%U!@G cyos$Ei|}S=_F33W+5DM9p9zcl$rjvM0MAA&IsgCw delta 205 zcmeAYUnI`X{F#?)+3mQE?7S>uY77hvu2wMy#-1TDX{C87hG25C0=MX9YnF0GJo1yR jS-2)YX5ENeiR9${Y)N>eH~X+R;V-1@TsAYwWJ diff --git a/cwavelet.pyc b/cwavelet.pyc index 5448e13223b6b48fcfa5a607c4007fe60a30e33e..db0000b3b27c781ab38c22b356c4015bc60f895d 100644 GIT binary patch delta 135 zcmZ1?JVBV9`7q_xxg<6K delta 171 zcmbOryhNCt`7}{%nE?tIfwTh<7qb9~6b6Q14UmYR29RJtBZ~EbVy;#(2F9Kt SG47cq9;HbW{}_YxF#rH^pbicI literal 313 zcmZSn%*(axc3f040~9a;X$K%K)&UYJK*Y$9!@v*%Wii58OmG%6kj2ChticS_kog}7 zG#G)b5)h%~r@;bZ3jv9g#FE7Lf};H7)Z${j;FA30>=Frd;rzUu%)HcikWx&^yu^~s zGN`09y3UmR^1Ph<#FY4AkjWZAX$AyQYz*YOTE!R`dxpfMmFA@wg2@=LT3w?UWT(Z% k$7kkcmc+;F6;zgR0QK4A=BJeAq}qY}Q_Kb=xEMhY01kms3jhEB diff --git a/data_process/data_calcute.pyc b/data_process/data_calcute.pyc index e74a3d1e014a92a3b99ee70bd68ae3078d2bbb2a..acbde7f4a51844089b918f4029eb21f364d66b34 100644 GIT binary patch delta 226 zcmca5cTSF-`7ncT0|)`73{pHO5V< diff --git a/data_process/data_get.pyc b/data_process/data_get.pyc index 2752b9fce68e4fc49a0ff6d8ac6cf5ba52b04c4b..c38557d4888b18b9c197b13bf600c1ad180b06db 100644 GIT binary patch delta 178 zcmZpcdM(M${F#?4w?1JbdpVPkJ_7@Tt5uAFv1dq(duEA8Y0~5XZl%rJm{#GGo5AY9 dj7y&YXAvU~xyie@8n8%h4&ZjfspTAxDFF6tFq{AY delta 202 zcmaDY*(}A*{F#?)+3mQE?Bz^i#taM$u2wMy#-1TDX{C87hG25@1g0~%=E?PpQj9E<-!n=~-oz-T&dSit#K2g>#*oFy(9FP4 z%fgVt#^7GV!cfD^AmQ!-l3-^@0jZZ2XJ=qw@GIs5k}<_4`N`QSi6x1d57{?sFv&1V znF57ftzry}JwsyLGfO;5lOT$8jV3#?DQs?FUdn_=&1Ofo9s*{_Z|30G%#6njpgr=N jzj05%XAfA-LB0co?3%nspox%Gm4d+pj8U1)BdiYqCIV`7 delta 408 zcmZ3cwp)#z`7dE)mL^m$|1Nt9ay3jKhqbq?)&Nt_LXTI~u9FB88&XDdtB})&)=pcL)i%2?{qxnTIkY>UWykc|KFqGZF_2VXP=gPFXA;4 zok5X4P89XGME$_Drn3hA_M~$rEFq{qgk8VgZZ-K9oyWj6E7FR|8Ba7-lioB`6~RS2 zgW%$6R6joU^oRb#hvE9>TY1|LWZ2my7>0c=RaC#fx>}zylCpu@2JRsI6Nla<#-ee3 zFR4jIe@#-`Y(a-asUvBL%8-6_|o||Za z^S*F$B%;8RAkrW*AW|T*;6x$Ir=d@P&j6o=)-fS$4){e7IdG7@1aAS30iLrw@D#Ai zz|+7Az%#(+ffHaw;8|cL;B&yrz;nPX&GRU@F&LP@Od!Gpo`)t!HA?5PV1!lRjOADW z$x=uz051cp0*}Cxx}{!_508QZ&ObN|Ub|OAqJFJ?|hd37z8o43$?*zPpfww`vJk;hj< z>;%%c_r}|?TgH_Id?TzV4un0Df)=&9q}fR=KCs2U?E4ZHZ=V1O`AHbAjk=Xq3^oAuDwTB zF{tZB&~Om#@viLB>zZ2ANwoi%M&jnw?WvCs!ZpNDYrB3R!p?R5d10S(7F9PA&$gDd zsH&l*VIAR*JoL`DriA*DP-Ic@BsI&rQd*rPzomq?+xLXjKY-tRg?ED{)Vt~LH!URo nwfbQWC diff --git a/stock_trader.py b/stock_trader.py index 1bfb07e..aad0585 100644 --- a/stock_trader.py +++ b/stock_trader.py @@ -2,6 +2,7 @@ from trade_process.strategy.macd_back_test import macdmain from trade_process.strategy.tread_tracking import stock_trader_main from trade_process.strategy.macd_live_test import macd_live_main +from trade_process.efund_mail2 import main1 if __name__ == '__main__': stockList = ['000725', '000783', '002167', '002505', '002600', '300315', '600000', '600011', '600048', '601001'] ChinaStockIndexList = [ @@ -14,10 +15,12 @@ "000016", # 上证50 "000012", # 国债指数 ] - code = [['002963', 'egold'], ['003321', 'eoil'], ['004744', 'eGEI'], ['110003', 'eSSE50'], ['110020', 'HS300'], - ['110031', 'eHSI'], ['161130', 'eNASDAQ100'], ['110028', 'anxinB'], ['110022', 'eConsumption '], - ['161125', 'SPX500']] + code = [ ['160222', '国泰国证食品饮料行业指数分级'],['110022', 'eConsumption '],['110003', 'eSSE50'], ['110020', 'HS300'], ['110028', 'anxinB'], + ['002963', 'egold'], ['003321', 'eoil'], ['004744', 'eGEI'], + ['110031', 'eHSI'], ['161130', 'eNASDAQ100'],['161125', 'SPX500']] #均线策略 - macdmain(code) - stock_trader_main(code) - macd_live_main(code) \ No newline at end of file + macd=macdmain(code) + print macd + main1() + # stock_trader_main(code) + # macd_live_main(code) \ No newline at end of file diff --git a/stockdata/GAOpt.txt b/stockdata/GAOpt.txt new file mode 100644 index 0000000..7bef97c --- /dev/null +++ b/stockdata/GAOpt.txt @@ -0,0 +1,71 @@ +MACD|110022| eConsumption |5, 10, 37| 69.115635200000014, +MACD|110003| eSSE50|6, 24, 65| 47.789947559999973, +MACD|110020| HS300|19, 34, 69| 23.323488000000015, +MACD|110028| anxinB|17, 32, 89| 12.543257519999996, +MACD|002963| egold|20, 19, 89| 1.5666868000000118, +MACD|003321| eoil|1, 13, 64| 24.28305155, +MACD|004744| eGEI|1, 50, 50| 1.9942221199999899, +MACD|110031| eHSI|17, 39, 96| 15.212850880000008, +MACD|161130| eNASDAQ100|20, 19, 97| 9.8934821999999887, +MACD|161125| SPX500|18, 43, 67| 9.1397807199999992, +MACD|110022| eConsumption |5, 10, 37| 69.115635200000014, +MACD|110003| eSSE50|6, 24, 65| 47.789947559999973, +MACD|160222|̩֤ʳƷҵָּ|3, 7, 97|32.97278 + +MA|160222|̩֤ʳƷҵָּ|1, 10, 99|23.73437 +MA|160222|̩֤ʳƷҵָּ|11, 10, 13|27.05073 +MA|110022|eConsumption |20, 8, 90|30.12688 +MA|110003|eSSE50|17, 18, 56|25.34664 +MA|110020|HS300|20, 10, 44|13.54273 +MA|110028|anxinB|8, 8, 32|3.8957 +MA|002963|egold|1, 6, 12|2.401 +MA|003321|eoil|17, 6, 56|24.70722 +MA|004744|eGEI|6, 7, 100|7.05999 +MA|110031|eHSI|8, 6, 34|14.02487 +MA|161130|eNASDAQ100|9, 36, 12|11.02345 +MA|161125|SPX500|2, 39, 17|10.18168 + +DMA|160222|̩֤ʳƷҵָּ|14, 27, 78|10.8117 +MA|160222|̩֤ʳƷҵָּ|1, 10, 89|23.73437 +MACD|160222|̩֤ʳƷҵָּ|4, 9, 78|32.97278 +TRIX|160222|̩֤ʳƷҵָּ|12, 9, 78|7.02884 +DMA|110022|eConsumption |17, 31, 78|25.39119 +MA|110022|eConsumption |19, 7, 78|30.12688 +MACD|110022|eConsumption |10, 21, 78|28.49607 +TRIX|110022|eConsumption |1, 32, 78|29.85222 +DMA|110003|eSSE50|6, 30, 78|9.98048 +MA|110003|eSSE50|6, 6, 16|26.20661 +MACD|110003|eSSE50|19, 21, 72|25.34664 +TRIX|110003|eSSE50|9, 49, 78|9.94463 +DMA|110020|HS300|18, 29, 78|7.24066 +MA|110020|HS300|6, 6, 10|14.02331 +MACD|110020|HS300|6, 55, 78|9.52746 +TRIX|110020|HS300|13, 30, 78|6.44664 +DMA|110028|anxinB|20, 34, 78|3.71367 +MA|110028|anxinB|10, 8, 22|3.8957 +MACD|110028|anxinB|10, 25, 78|3.832 +TRIX|110028|anxinB|11, 20, 78|3.36012 +DMA|002963|egold|5, 16, 78|3.04324 +MA|002963|egold|1, 7, 10|2.401 +MACD|002963|egold|19, 10, 72|0.95787 +TRIX|002963|egold|6, 9, 78|2.71533 +DMA|003321|eoil|14, 45, 78|12.08337 +MA|003321|eoil|18, 6, 72|24.70722 +MACD|003321|eoil|3, 35, 78|17.40164 +TRIX|003321|eoil|6, 9, 78|6.83046 +DMA|004744|eGEI|2, 10, 78|2.72784 +MA|004744|eGEI|6, 7, 95|7.05999 +MACD|004744|eGEI|2, 6, 78|7.57617 +TRIX|004744|eGEI|5, 20, 78|1.82664 +DMA|110031|eHSI|2, 16, 78|11.32942 +MA|110031|eHSI|9, 7, 78|14.02487 +MACD|110031|eHSI|17, 11, 78|11.72215 +TRIX|110031|eHSI|6, 9, 78|11.27058 +DMA|161130|eNASDAQ100|17, 13, 78|4.7883 +MA|161130|eNASDAQ100|12, 34, 14|10.94492 +MACD|161130|eNASDAQ100|1, 17, 82|8.56408 +TRIX|161130|eNASDAQ100|6, 9, 78|2.15505 +DMA|161125|SPX500|2, 10, 78|2.21374 +MA|161125|SPX500|2, 38, 17|10.18168 +MACD|161125|SPX500|20, 15, 72|8.431 +TRIX|161125|SPX500|5, 20, 78|2.19041 diff --git a/stockdata/GAOpt1.txt b/stockdata/GAOpt1.txt new file mode 100644 index 0000000..191ae63 --- /dev/null +++ b/stockdata/GAOpt1.txt @@ -0,0 +1,3 @@ +['110022', 'eConsumption '] +['MA', 'MACD', 'DMA', 'TRIX', 'AMA'] +[[[4, 50, 20], 47.274876600000027], [[5, 10, 37], 69.115635200000014], [[10, 41, 97], 11.771062300000013], [[12, 40, 94], 11.802638000000016], [[1, 39, 21], -95.177160000000001]] \ No newline at end of file diff --git a/stockdata/IgnoreListStock.txt b/stockdata/IgnoreListStock.txt new file mode 100644 index 0000000..e69de29 diff --git a/trade_process/__init__.pyc b/trade_process/__init__.pyc index a67d3a0b3e804de9defaba7dcab7048111c981a1..c6e600f170470461a5add69f21e175998054198a 100644 GIT binary patch delta 37 scmZ3%xP+0N`70.9*30max': str(todaydata[1] )+str('<=')+str( rmax*jizhipoints['5daysmax'][1])}) # def change_fenxi(change): - if(sum(change)/len(change)>=0.5): + if(sum(change)/len(change)>=0.46): sell_point.append({'mean5up':round(sum(change)/len(change),5)}) - elif(sum(change)/len(change)<=-0.5): + elif(sum(change)/len(change)<=-0.46): buy_points.append({'mean5up':round(sum(change)/len(change),5)}) big=[];small=[] @@ -291,27 +293,27 @@ def celue(funddata,jizhipoints): elif (change[i]<0): small.append(change[i]) if len(big)>=4 and change[0]<0.2 : - sell_point.append({'go up 4days':big}) + sell_point.append({'go up 4days':change7}) # elif (change[0]=3): # sell_point.append({u'go up 4days': big}) if (len(small)>=4 and change[0]>0) or (len(small)>=3 and change[0]<-0.5 and change[1]<0.1): - buy_points.append({'go down 3days':small}) + buy_points.append({'go down 3days':change7}) return {'sell':sell_point,'buy':buy_points} def main_run(all_fund_list): code = [['002963', 'egold'], ['003321', 'eoil'], ['004744', 'eGEI'], ['110003', 'eSSE50'], ['110020', 'HS300'], ['110031', 'eHSI'], ['161130', 'eNASDAQ100'], ['110028', 'anxinB'], ['110022', 'eConsumption '], ['161125', 'SPX500']] - name = ['eGold', 'eoil', '创业板', '上证50', '沪深300', '恒生', '易方达纳斯达克100', '安心b'] + buysell = [] for i in code: # save(strfundcode=i ,numdays=365*1) - sb=fenxi(strfundcode=i, numdays=425 * 1) + sb=fenxi(strfundcode=i, numdays=365 * 1) if sb: buysell.append([i,sb]) for i in all_fund_list[0:50]: # save(strfundcode=i ,numdays=365*1) - sb=fenxi(strfundcode=i, numdays=425 * 1) + sb=fenxi(strfundcode=i, numdays=365 * 1) if sb: buysell.append([i,sb]) return buysell @@ -370,7 +372,7 @@ def send_email(text): # 邮件正文内容 # print str(text[0]) - realText = sendmsg #str(text) #'\n'+str(subject_time)+':主人,有人来招人啦!^—^\n'+ '海投网:'+str(text[1])+'.'#+str(text[0])#'地大就业网招聘公告:'+str(text1[1])+'地大就业网gis等招聘信息:'+str(text2[1])+'.'#+str(text1[0])+'\n'+str(text2[1])+'\n'+str(text2[0]) + realText = text#sendmsg #str(text) #'\n'+str(subject_time)+':主人,有人来招人啦!^—^\n'+ '海投网:'+str(text[1])+'.'#+str(text[0])#'地大就业网招聘公告:'+str(text1[1])+'地大就业网gis等招聘信息:'+str(text2[1])+'.'#+str(text1[0])+'\n'+str(text2[1])+'\n'+str(text2[0]) print realText msg.attach(MIMEText(realText, 'plain', 'utf-8')) @@ -443,11 +445,15 @@ def deb_print(): M = now[12:14] S = now[15:] # print now - #print H,M, S + print H,M, S return H,M, S def check_time(H, M,S): - if(H == "14" and int(M) == 35 and S == "20"):#(H == "14" and M == "08" and S == "10") or + strtoday1 = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d') + sdatetime = datetime.datetime.strptime(strtoday1, '%Y-%m-%d') + sdatetime.isoweekday() + #if sdatetime.isoweekday() == 7: + if(H == "14" and int(M) == 30 and S == "20")and(sdatetime.isoweekday() != 7)and(sdatetime.isoweekday() != 6):#(H == "14" and M == "08" and S == "10") or # itchat.auto_login(hotReload=True) # itchat.run # curTime = time.strftime("%y-%m-%d %H:%M:%S", time.localtime()) @@ -475,35 +481,25 @@ def check_time(H, M,S): # itchat.send(str(i[0]) + st+(' http://fund.eastmoney.com/%s.html'%i[0][0]) +('-- http://www.efunds.com.cn/html/fund/%s_fundinfo.htm'%i[0][0]), 'filehelper') # itchat.send(str(i[0]) + st, toUserName='@9f545f6d5c3f89aa63956c3f386733232f7176569f71a26f477909c02828d735') s.enter(1, 1, check_time, deb_print()) - -def main1(): - a=1 - while True: - now = time.strftime("%y-%m-%d %H:%M:%S", time.localtime()) - # date = datetime.datetime.strftime(datetime.datetime.now(), "%Y%m%d") - H = now[9:11] - M = now[12:14] - S = now[15:] - # print H,S,M - print 'Start:'+'13:05' +' and 14:35 '+'send to email.'+"\n" +'please wait:' - # print time.localtime() - # print time.strftime("%y-%m-%d %H:%M:%S",time.localtime()) - # xiaozhao = Xiaozhao() - # xiaozhao.send_email() - s.enter(1, 1, check_time, deb_print()) - s.run() -def run(): + +def main1(): now = time.strftime("%y-%m-%d %H:%M:%S", time.localtime()) H = now[9:11] M = now[12:14] S = now[15:] - all_fund_list = main_zf() - if(int(H) ):#>= 19(H == "14" and M == "08" and S == "10") or + code = [['002963', 'egold'], ['003321', 'eoil'], ['004744', 'eGEI'], ['110003', 'eSSE50'], ['110020', 'HS300'], + ['110031', 'eHSI'], ['161130', 'eNASDAQ100'], ['110028', 'anxinB'], ['110022', 'eConsumption '], + ['161125', 'SPX500']] + all_fund_list = main_zf(code) + sign=macdmain(code) + if (int(H)): # >= 19(H == "14" and M == "08" and S == "10") or buysell1 = main_run(all_fund_list) print(str(buysell1)) - sendmsg='' + sendmsg = '' # f = open("buysell.txt",'a') + for j in sign: + sendmsg +=str(j[0])+','+str(j[1])+','+str(j[2][0])+','+str(j[2][1][0])+'\n' for i in buysell1: # write_str = str(i) + '\n' # f.write(write_str) @@ -512,17 +508,33 @@ def run(): st = ' 买 ' for j in i[1]['buy']: for h in j: - st += h + str(j[h])+ ' ' + st += h + str(j[h]) + ' ' elif i[1]['sell'] != []: st += ' 卖 ' for k in i[1]['sell']: for t in k: - st += t + str(k[t])+ ' ' + st += t + str(k[t]) + ' ' if st != ' ': - sendmsg +=i[0][0]+','+i[0][1] + st+(' http://fund.eastmoney.com/%s.html'%i[0][0]) +(' http://www.efunds.com.cn/html/fund/%s_fundinfo.htm'%i[0][0])+'\n' + sendmsg += i[0][0] + ',' + i[0][1] + st + (' http://fund.eastmoney.com/%s.html' % i[0][0]) + ( + ' http://www.efunds.com.cn/html/fund/%s_fundinfo.htm' % i[0][0]) + '\n' # print sendmsg send_email(sendmsg) - main1() + while True: + now = time.strftime("%y-%m-%d %H:%M:%S", time.localtime()) + # date = datetime.datetime.strftime(datetime.datetime.now(), "%Y%m%d") + H = now[9:11] + M = now[12:14] + S = now[15:] + # print H,S,M + print 'Start:'+'13:05' +' and 14:30 '+'send to email.'+"\n" +'please wait:' + + # print time.localtime() + # print time.strftime("%y-%m-%d %H:%M:%S",time.localtime()) + # xiaozhao = Xiaozhao() + # xiaozhao.send_email() + s.enter(1, 1, check_time, deb_print()) + s.run() + if __name__=='__main__': # itchat.auto_login(hotReload=True) # itchat.run @@ -546,7 +558,8 @@ def run(): # if st != '': # itchat.send(str(i[0]) + st, 'filehelper') # itchat.send(str(i[0]) + st,toUserName='@9f545f6d5c3f89aa63956c3f386733232f7176569f71a26f477909c02828d735') - run() + all_fund_list = main_zf() + main1() # f.close() # itchat.send("@fil@%s" % 'buysell.txt', 'filehelper') # for (name, fund_id) in ids.items(): diff --git a/trade_process/efund_mail2.pyc b/trade_process/efund_mail2.pyc index 0339ddb71ceed6212b18e2d145147420c1d4faf7..bdd70e38e5efa331dfd25b0a31f73cd7ee7e1ba6 100644 GIT binary patch delta 4513 zcmbtYZETxY6+ZX1<8S9XdE>-&oMdU;bV<{uN$5s5nx;**+;S{?Hgrw8Yi~j zKq_oJDcXK9K)T}xY(K_I7#kv6YpK!z4a5)rY`_mHA%UhfbQBQk3Sz4I2Z`t0*G`>? zIS5+6r}yLBbI!f@IUl#bPXB8;X#1z%6aRtn)CDU1vEkp(;Y)u{TnWA?T3!{i)wD|V zR2R)gxFHfmhM@6COMc1rC9Sy+%*P*^?Cm>wc5)4KJ-~lyzgVJmK!k-J^`3;*~5RTS=KpGCUNBSCIieLBg!2IDR#1#zz6eua;L8 zIgLu1w^8a9k?~TzmNHdj)~UHF3SfPqQ(f9AmA@+Qxr4F)z-#zu&aNzAlfaOzR$?J3 z3u9_1Ue6}8dW}-|1dbx>q2#E>Qw;^{jT)M_Q>sxb&dRJufAC?gDAHO0`79Nkd;FWg zPR1j(fX7(+h!i!u~KZ@swwSNZO(udm(t>37lsW1f7(yS5{ooR#&y zF>sTxi3f#W4*2Z`Rd;`yDIBNnz=ZG@62K*eK&Y5ET-sg0FI_E12 zy^yJpY`7L^o+$NOGTf8}zC8@wL^qk69A0(9pKN9DZRtWWE|;m7G8*d+WL%UH1dIi^ zS3fT(6%!ec{ANqj9spdBZo)OUGVv(jHo#ty(1rX>i|)j_Ul!IK-@Xo*Rl?P}>cYAo zZ(8717St3isGwAbmhrL$$7?q&*vh0N)fFU7ZIe`ABI&t;q|kOrMJ6SwK|UAUN369w(0&J#Y0Q}q)96ap250vhaaL-LVb zO*ur93ijCm!Y+@dZ5bcMMR64DB6-qQ!h@SeAJJ$#57;JHhfnDUD2uQ2N=ObE%?cyv zBLWGEVKJcCLOJWENLi;Y$FNr3-CU{cN=NK0+v0%zIE^8DQFc(tw)#Mdv8&kkl;{ds zhmst!Bge!594{HI)HRSn2oBT0c%%*fG!_G)n1cz&jaUT}8xyBAL$3#uM?Al~y!64N zrW0cevoneQ<)yj8pd4%syD*GDH-0A1wN8sFd9C$;msu}7JCm539hA3Pr^`lz@E-T$ zEI@cfSNLEBwa2EWAXRFeN=9AK3UEd&erDc8gWv-u)BZnmH%ErL&(SHmzte17SeO4^3{7@ z7Ig?_Ssx>9WHh6asOgpOMp~wTTt9=v2&(+2GNqL@1t5-miFktG0_RbEBrC*9zzQ;I z2#IRdW=+5&aRtE9$mm4krm&k3Tqg(iwu)MLZtr8^o%G0`?+rd`Ne3;JZq}>B*Umm7 zlCNnKY*(qe7`UGVZH-jNc%8Cq6zugFFcxGTwwR~;$yEphA;h|kh#iG&c>UG z<7XvAp)i5lMlFUo2^pLdHC39d3lwbt2S-Pgb|_ZX1!p09v0Yrlu@jXPW;aJ1g%Q(1 zhzgK^gli%z}Ob)5oPt3K_UCN=vd5YpZTf`j{6Nrw` z1Pj@qw>V74QIcBLB28d_nATD3vH6@g@HOfv&bIWyc3vdkBK#&yD08qHuI^35e`J1W zz;=+7R86~T2lfaBT@9{pEX_f*^U3bch3-xRDW2%Sp;!q2sP@6$7zYFuqou#^#^K4M69Z%p7XZVU#NI@xG4XOMe@iVr&9!sJ_ua zOhWWQ#gEg)psIh`vPe?spt!4`Hm>T>aZoFsA=nl88E1eq)}jEY*BHSHazGofXdU^; zsNu{pu?ZARFQ)n zWaX>uZK;>E{|6u_qKrluqT}-(25C}{S?j^6?gf5`tj4H=@9|3%r4?YC)U^raiOs<2 zn0$5MkZzSkjA2ww057*Z(Lc*S476#{pU5M9`()4HL-JC8dqZzH%{XVT37d;y75aPR zwf^=V9*+KsiE`2#+_E$I3zIb_yP15*q)XoJ52G@LlQ2&@HkYv6dV^;-JvXXi0z1|D zZ!^OkCW}ly2El8c=-KGsi%m0vmQ~)Asca@qIX=+Y_9rY(pWp?>gd^O- zhreFoKanqF0&ZnW(*g#4U~`(Ys96neaaETdi7UOqcwB8fOms#gKgZaF0Idu5A(lms`W% Oi*C2O!` z=RYF&2gZc1#2<{Zt?Cfz*wih6#)Je25aKBzB((q9u1G@!sot*XnC*3^^3sy_+=_S4*VX&$b8)LTJRZ>KVvZjCAvv(A)fTm zCefxw@m?}|Ne_}9qV{;7Lc*lC0_j&s8@0v<$f#%f_#hcWWc1Odp!5lg5h7!d=kZ}O zM#vcE`P{tTPVrINm=Jg|vos*$W2ATFDLzgHW(O&tcT!-PXw^dLl%{v_%El|@i!)0j z6rZ4tZZakyqJ!d-WPlwIY9@FRfGVHfLB0uar)IQRYC?-8mv^N+wyWYT4Xk?p5HaP( z$I2;`o+C=nk%FEnr3Vmtj*v06PtVKH^9|@BCWCg~f~FaxN@xT-<8hdLyiuNFvp!Jz z^zPH;BnNzY&py1DcQQ&TO~W^4bP!9HdvV?KwM{PD;2)w<*+7LJRM!Is9@?Fv}P1Bl#W5 z)=;9BCFE);TT8lw0*N}(oyrepJtgqt<|U_ zEF!h#NV)t?x#$SyKZI6y(Xv%pz$SqpSFglEQVzy=DAC9!vwDrvI|8oAxhQp1EcsTEklDoWKh3UW(CO1W41T0*WyT7{Au%<<8d zaGk~%TW=~VIU`$J{B}6zfdIIlt-%-bdzbNtV$j@NWL&7KAag?R^P&>1< zK)D*GL&gXoCoiPZja^tIW_nvBe zI4uW4&jhi8=kB!0m+gviF*&w=4Ux^yUHMk1O^Wb2Q7bQmhvfC}xr%q!6TJw|_c1aH zEJL`qXIp=zi7n~r@Y=Ru(#n?X?s%e-pl}VhEmtnCB+sYUlYQGi>hOw6JRw{37MPC9 z`p!XdOCIm^J_5%};5a6~()p=MwBd#tkX}o#B+c`euO>|+Y0k^huCbomcpbqgfK0`5 ze7mb!oZkLH*K@*ax+v%7pqQJ-DJH7Pbj!q{7L*^lsCNBKd{Lv%q#15<5U3JYGvg6No=k0tL5s|mrlqb^FnZ4tRT5_(vrK8Qvxf)Nl7 z9%+rtw^g!1u0?{=1CO;g#=1PA^qb z_y24;b*H4~%ZH(7`_;oQYr-evy>rzZ?HMDfU&$=X7kVFv+w$4IM8y!Oa~0Xn8wky{ zGxAvf>*ADrum6NRF|b*Qy(j+$;y=SONccq!J}%2;zMxJF8^%eD3@*H?Ye*YtBpw%B zyo5?DTJcSxQWRIwIUo|yWLd~ml@If|c`i;?+W0$1#>~f-t4V+vp*?hd@P5JKd zM?!pD(R&QuW^kXu4F*2}kjBWtN|6wfKOCuY|Cpnp6D%aU85z&&X6uCz_I&G0s(XvZk}ID@?o{a-TbL$B4t zrDEtVd$a+C@pikaj?p*eh2b7KJ2B-}W=4*(`ftg;BlpEk z>6r@VxA+BDhUjYyUT1KJ!5US;qX27d*>@e)mbCiH$QNMnpLhZ-<BT7<*=I3I=`%1exLU;+7<-1qxM!AllqSU#m*gjB>l#hw7nPcP zopC1tC7X{i@$eE*Gnqr+8h#~`laCAXO;!{vB%o~baX}qsJZd)ci&hcz)PAwac#Hu1 IyF=U%08=nm5dZ)H delta 315 zcmZ3fzf+%``7g?0T&-dZj6FkQ(n|AE48defaY=r1_T)HmsmWIv zcM?)0xA_}E373=9meRxt*~o*^-5rFkiaU^1q-BtJQOVz?y$Jmn6R diff --git a/trade_process/strategy/macd_back_test.py b/trade_process/strategy/macd_back_test.py index db5d3e0..f16e920 100644 --- a/trade_process/strategy/macd_back_test.py +++ b/trade_process/strategy/macd_back_test.py @@ -5,11 +5,14 @@ import pandas as pd import matplotlib.pyplot as plt -import os +import os,sys import numpy as np from data_process.download_stock import downloadAllHistoryAShareData from trade_process import efund_mail2 - +from pyevolve import G1DList, GSimpleGA, Selectors, Scaling +from pyevolve import Mutators, Initializators,GAllele +reload(sys) +sys.setdefaultencoding('utf-8') # AVR_SHORT = 12 # AVR_LONG = 40 @@ -100,7 +103,7 @@ def self_adaptive_ma(stock_data,Avg): # MA指标择时 (回测) -def select_Time_MA(stock_data, stockName,Avg): +def select_Time_MA(stock_data, stockName,*Avg): AVR_SHORT = Avg[0] AVR_LONG = Avg[1] AVR_vLONG = Avg[2] @@ -121,7 +124,8 @@ def select_Time_MA(stock_data, stockName,Avg): signals = [0]*(ma_list[1]+1) tradeTimes = 0 - bBuySignal = True + bBuySignal = True + currentSignal=[] for t in range(ma_list[1]+1, len(close_price)): signal = SIGNAL_DEFAULT @@ -144,15 +148,15 @@ def select_Time_MA(stock_data, stockName,Avg): bBuySignal = True signals.append(signal) if signal != 0: - print 't:', str(stock_data.ix[t, 'Date']), ' signal:', signal tradeTimes += 1 + if (t <= len(close_price)) and (t >= (len(close_price) - 4)): + currentSignal.append(['t:', str(stock_data.ix[t, 'Date']), ' signal:', signal]) - - print stockName, u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ - u"交易次数", tradeTimes, u" 最新市值:", now_money+now_count * close_price[-1] + print stockName[0],stockName[1], u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ + u"交易次数", tradeTimes, u" 最新市值:", now_money+now_count * close_price[-1] ,str(Avg) stock_data['SIGNAL_MA'] = signals - + return [(now_money+now_count * close_price[-1]-start_money)/start_money*100,currentSignal] # fig = plt.figure(facecolor='white') # left, width = 0.1, 0.8 # rect1 = [left, 0.5, width, 0.4] @@ -173,7 +177,7 @@ def select_Time_MA(stock_data, stockName,Avg): #stock_data.sort('date', ascending=False, inplace=True) # MACD指标择时 (回测) -def select_Time_MACD(stock_data, stockName,Avg): +def select_Time_MACD(stock_data, stockName,*Avg): AVR_SHORT = Avg[0] AVR_LONG = Avg[1] AVR_vLONG = Avg[2] @@ -200,7 +204,8 @@ def select_Time_MACD(stock_data, stockName,Avg): signals = [0]*(ma_list[1]+1) tradeTimes = 0 - bBuySignal = True + bBuySignal = True + currentSignal=[] for t in range(ma_list[1]+1, len(close_price)): signal = SIGNAL_DEFAULT @@ -225,13 +230,13 @@ def select_Time_MACD(stock_data, stockName,Avg): if signal != 0: print 't:', str(stock_data.ix[t, 'Date']), ' signal:', signal tradeTimes += 1 - - + if (t<=len(close_price))and(t>=(len(close_price)-4)): + currentSignal.append(['t:', str(stock_data.ix[t, 'Date']), ' signal:', signal]) - print stockName, u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ - u"交易次数", tradeTimes, u" 最新市值:", now_money+now_count * close_price[-1] + print stockName[0],stockName[1], u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ + u"交易次数", tradeTimes, u" 最新市值:", now_money+now_count * close_price[-1] ,str(Avg) stock_data['SIGNAL_MACD'] = signals - + return [(now_money+now_count * close_price[-1]-start_money)/start_money*100,currentSignal] # fig = plt.figure(facecolor='white') # left, width = 0.1, 0.8 # rect1 = [left, 0.5, width, 0.4] @@ -251,10 +256,10 @@ def select_Time_MACD(stock_data, stockName,Avg): # 将数据按照交易日期从近到远排序 #stock_data.sort('date', ascending=False, inplace=True) - return dif_price, dea_price, macd_price + # return dif_price, dea_price, macd_price # DMA指标择时 (回测) -def select_Time_DMA(stock_data, stockName,Avg): +def select_Time_DMA(stock_data, stockName,*Avg): AVR_SHORT = Avg[0] AVR_LONG = Avg[1] AVR_vLONG = Avg[2] @@ -280,7 +285,8 @@ def select_Time_DMA(stock_data, stockName,Avg): signals = [0]*(ma_list[1]+1) tradeTimes = 0 - bBuySignal = True + bBuySignal = True + currentSignal=[] for t in range(ma_list[1]+1, len(close_price)): signal = SIGNAL_DEFAULT @@ -305,13 +311,13 @@ def select_Time_DMA(stock_data, stockName,Avg): if signal != 0: print 't:', str(stock_data.ix[t, 'Date']), ' signal:', signal tradeTimes += 1 + if (t <= len(close_price)) and (t >= (len(close_price) - 4)): + currentSignal.append(['t:', str(stock_data.ix[t, 'Date']), ' signal:', signal]) - - - print stockName, u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ - u"交易次数", tradeTimes, u" 最新市值:", now_money+now_count * close_price[-1] + print stockName[0],stockName[1], u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ + u"交易次数", tradeTimes, u" 最新市值:", now_money+now_count * close_price[-1] ,str(Avg) stock_data['SIGNAL_DMA'] = signals - + return [(now_money + now_count * close_price[-1] - start_money) / start_money * 100,currentSignal] # fig = plt.figure(facecolor='white') # left, width = 0.1, 0.8 # rect1 = [left, 0.5, width, 0.4] @@ -332,7 +338,7 @@ def select_Time_DMA(stock_data, stockName,Avg): #stock_data.sort('date', ascending=False, inplace=True) # DMA指标择时 (回测) -def select_Time_TRIX(stock_data, stockName,Avg): +def select_Time_TRIX(stock_data, stockName,*Avg): AVR_SHORT = Avg[0] AVR_LONG = Avg[1] start_money = 100000000 @@ -341,7 +347,6 @@ def select_Time_TRIX(stock_data, stockName,Avg): # 将数据按照交易日期从远到近排序 # stock_data.sort('Date', inplace=True) - close_price = stock_data['Adj Close'].get_values() #EMA @@ -358,15 +363,14 @@ def select_Time_TRIX(stock_data, stockName,Avg): trixsList.append(trix) trixs = np.array(trixsList) maxtrix = pd.rolling_mean(trixs, ma_list[1]) - - + signals = [0]*(ma_list[1]+1) tradeTimes = 0 - bBuySignal = True + bBuySignal = True + currentSignal=[] for t in range(ma_list[1]+1, len(close_price)): signal = SIGNAL_DEFAULT - if trixs[t] > trixs[t-1] and trixs[t] > maxtrix[t] \ and trixs[t-1] < maxtrix[t-1]: if bBuySignal: @@ -387,16 +391,16 @@ def select_Time_TRIX(stock_data, stockName,Avg): if signal != 0: print 't:', str(stock_data.ix[t, 'Date']), ' signal:', signal tradeTimes += 1 + if (t <= len(close_price)) and (t >= (len(close_price) - 4)): + currentSignal.append(['t:', str(stock_data.ix[t, 'Date']), ' signal:', signal]) - - - print stockName, u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ - u"交易次数", tradeTimes, u" 最新市值:", now_money+now_count * close_price[-1] + print stockName[0],stockName[1], u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ + u"交易次数", tradeTimes, u" 最新市值:", now_money+now_count * close_price[-1] ,str(Avg) stock_data['SIGNAL_TRIX'] = signals - + return [(now_money + now_count * close_price[-1] - start_money) / start_money * 100,currentSignal] # 组合择时指标 (回测) -def select_Time_Mix(stock_data, stockName,Avg): +def select_Time_Mix(stock_data, stockName,*Avg): AVR_SHORT = Avg[0] AVR_LONG = Avg[1] start_money = 100000000 @@ -460,12 +464,12 @@ def select_Time_Mix(stock_data, stockName,Avg): #print 't:', t, ' signal:', signal tradeTimes += 1 - print stockName, u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ + print stockName[0],stockName[1], u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ u"交易次数", tradeTimes, u" 最新市值:", now_money+now_count * close_price[-1] stock_data['SIGNAL_MIX'] = signals - + return (now_money + now_count * close_price[-1] - start_money) / start_money * 100 # AMA指标择时 -def select_Time_AMA(stock_data, stockName,Avg): +def select_Time_AMA(stock_data, stockName,*Avg): AVR_SHORT = Avg[0] AVR_LONG = Avg[1] percentage = 0.1 @@ -519,17 +523,17 @@ def select_Time_AMA(stock_data, stockName,Avg): #print u"股票价格/持股数/剩余金额:",close_price[t], '/', now_count, '/', now_money signals.append(signal) if signal != 0: - #print 't:', i, ' signal:', signal + # print 't:', str(stock_data.ix[i, 'Date']), ' signal:', signal tradeTimes += 1 # 成本 - print u'盈利', record_sale + now_count * close_price[-1] - record_buy + # print stockName[0],stockName[1],u'盈利', record_sale + now_count * close_price[-1] - record_buy -# print stockName, u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ -# u"交易次数", tradeTimes, u" 最新市值:", now_money+now_count * close_price[-1] + print stockName[0],stockName[1], u"收益率:", (now_money+now_count * close_price[-1]-start_money)/start_money*100, '%\t' \ + u"交易次数", tradeTimes, u" 最新市值:", now_money+now_count * close_price[-1] ,str(Avg) stock_data['SIGNAL_AMA'] = signals - - return ama_price + # return ama_price + return (now_money + now_count * close_price[-1] - start_money) / start_money * 100 # 获取平方平滑系数 def getConstaint(prices): @@ -557,7 +561,52 @@ def getMAStrategy(stockCsvPath, stockName, strategyName='MACD'): return select_Time_TRIX(stock_data, stockName) elif strategyName == 'AMA': return select_Time_AMA(stock_data, stockName) - + +def Grid_Constructor(numline,numParm,data): + alleles = GAllele.GAlleles() + for i in range(0, numline*numParm): + alleles.add(GAllele.GAlleleRange(data[i][0], data[i][1])) + return alleles + +def func(fitness,strategyName,stock_data, stockName): + def fitness_function(chromosome): + score = 0.0 + if fitness == 'abs': + if strategyName == 'MACD': + score = select_Time_MACD(stock_data, stockName, *chromosome)[0] + elif strategyName == 'MA': + score = select_Time_MA(stock_data, stockName, *chromosome)[0] + elif strategyName == 'DMA': + score = select_Time_DMA(stock_data, stockName, *chromosome)[0] + elif strategyName == 'TRIX': + score = select_Time_TRIX(stock_data, stockName, *chromosome)[0] + elif strategyName == 'AMA': + score = select_Time_AMA(stock_data, stockName, *chromosome) + return score + return fitness_function +def cal_opt(numParm,fintness,funcname,func,stock_data, stockName): + datarange=[[1,20],[6,60],[10,100]] + datarange=datarange[:numParm] + genome = G1DList.G1DList(numParm) + genome.evaluator.set(func(fintness,funcname,stock_data, stockName)) + # genome.setParams(allele=Grid_Constructor(numline,data1)) + genome.setParams(allele=Grid_Constructor(1,numParm,datarange)) + genome.initializator.set(Initializators.G1DListInitializatorAllele) + genome.mutator.set(Mutators.G1DListMutatorAllele) + + ga = GSimpleGA.GSimpleGA(genome, seed=400) + ga.setPopulationSize(45) + ga.setGenerations(45) + ga.setCrossoverRate(0.8) + ga.setMutationRate(0.2) + ga.selector.set(Selectors.GRankSelector) + # ga.terminationCriteria.set(GSimpleGA.FitnessStatsCriteria) + # Change the scaling method + pop = ga.getPopulation() + pop.scaleMethod.set(Scaling.SigmaTruncScaling) + ga.evolve(freq_stats=10) + best = ga.bestIndividual() + return [best.genomeList,round(best.score,5)] # 执行策略 def run(stockCsvPath, stockName): if os.path.exists(stockCsvPath) == False: @@ -586,12 +635,19 @@ def run(stockCsvPath, stockName): select_Time_AMA(stock_data, stockName) print '\n' +def match(select_method,stockName,lines): + contmatch=[] + for line in lines: + if line != '\n': + if(stockName[0] == line.split('|')[1])and(select_method == line.split('|')[0]): + contmatch.append([line.split('|')[0],line.split('|')[3]]) + return contmatch def macdmain(stockList): print "main begin" # stockList = ['000725', '000783', '002167', '002505', '002600', '300315', '600000', '600011', '600048', '601001'] # downloadAllHistoryAShareData(stockList) # stockList = ['000725'] - + buysell=[] for stockName in stockList: # if stockName != '002600': # continue @@ -602,40 +658,72 @@ def macdmain(stockList): # stockCsvNewPath = stockName + '_macd.csv' # processEMA(stockCsvPath, stockCsvNewPath) # stock_data = pd.read_csv(stockCsvPath) - fundlist = efund_mail2.get_histrydata(stockName, 365) + stockTxtNewPath = "./stockdata\\"+ 'GAOpt.txt' + fundlist = efund_mail2.get_histrydata(stockName, 190) stock_data = pd.DataFrame(fundlist[::-1], columns=['Date', 'Adj Close', 'countclose', 'change']) # self_adaptive_ma(stock_data) - Avg=[4,12,40] - Avg1=[3,11,40] - print u'-- MA 策略 --' - select_Time_MA(stock_data, stockName,Avg1) - - print u'-- MACD 策略 --' - select_Time_MACD(stock_data, stockName,Avg) - - print u'-- DMA 策略 --' - select_Time_DMA(stock_data, stockName,Avg) - - print u'-- TRIX 策略 -->' - select_Time_TRIX(stock_data, stockName,Avg) - - print u'-- 组合策略 --' - select_Time_Mix(stock_data, stockName,Avg) - - print u'-- AMA策略 --' - select_Time_AMA(stock_data, stockName,Avg) - + Avg=([4,12,40]) + Avg1=([3,8,40]) + # select_method=['MA','MACD','DMA','TRIX','AMA'] + select_method = [ 'DMA','MA','MACD','TRIX'] + AvgParm=[] + cal='' + for i in select_method: + file_to_read=open(stockTxtNewPath, 'r') + lines = file_to_read.readlines() # 整行读取数据 + if not lines: + break + pass + else: + contmatch=match(i,stockName,lines) + if (cal=='new')or(len(contmatch)==0): + best=cal_opt(3, 'abs', i, func, stock_data, stockName) + # AvgParm.append(best) + f = open(stockTxtNewPath, 'a') + f.write(str(i)+'|') + f.write(str(stockName[0])+'|'+stockName[1].encode('gb2312')+'|') + f.write(str(best[0]).split('[')[1].split(']')[0]+'|'+str(best[1])) + f.write('\n') + f.close() + Avg = best[0] + else: + # AvgParm.append([int(contmatch[0].split(',')[0]),int(contmatch[0].split(',')[1]),int(contmatch[0].split(',')[2])]) + Avg = [int(contmatch[0][1].split(',')[0]),int(contmatch[0][1].split(',')[1]),int(contmatch[0][1].split(',')[2])] + result=None + if(i=='MA'): + print u'-- MA 策略 --' + result=select_Time_MA(stock_data, stockName,*Avg) + if(len(result[1])): + buysell.append([stockName,i,result]) + if (i == 'MACD'): + print u'-- MACD 策略 --' + result=select_Time_MACD(stock_data, stockName, *Avg) + if (len(result[1])): + buysell.append([stockName, i, result]) + if (i == 'DMA'): + print u'-- DMA 策略 --' + result=select_Time_DMA(stock_data, stockName,*Avg) + if (len(result[1])): + buysell.append([stockName, i, result]) + if (i == 'TRIX'): + print u'-- TRIX 策略 -->' + result=select_Time_TRIX(stock_data, stockName,*Avg) + if (len(result[1])): + buysell.append([stockName, i, result]) + # print u'-- 组合策略 --' + # select_Time_Mix(stock_data, stockName,*Avg) + # + # print u'-- AMA策略 --' + # select_Time_AMA(stock_data, stockName,*Avg) print '\n' print "main end" + return buysell if __name__ == "__main__": print "main begin" stockList=['000725','000783','002167','002505','002600','300315','600000','600011','600048','601001'] downloadAllHistoryAShareData(stockList) - #stockList = ['000725'] for stockName in stockList: - # if stockName != '002600': - # continue stockCsvPath = os.path.pardir +"\\stockdata\\" + stockName + '.csv' #stockCsvPath = stockName + '.csv' if os.path.exists(stockCsvPath) == False: diff --git a/trade_process/strategy/macd_back_test.pyc b/trade_process/strategy/macd_back_test.pyc index d5dc0daa97ea156e16f76d00e0643ec1bae21521..31dfb0022e265dd0b433b0f32f1c9244dfc0e5b3 100644 GIT binary patch literal 19090 zcmc(nYiwM{d4}hlB`J|2MT#Ot(w1#1@rAZTU2V&8T-mfJuVh=YduT@qV}V|A52=-w zOLBK9Q!W*xRbne?Zf%+%iPILnr09>dNPwbfQumS;{n4Tb@~24BCJ2JoHi{rffTDH& z6z%hVbI$H^Ny&D>xDt1E?)Q1WcfOg~%zt!sJo3Bw$!VAT>)`t#K9!G!&gJ}>Jb~o4ICOcf9>@u#n#m#lP$xiQXam6k- zx7AH< zT;4nK6g{A#CkI`Avzr`p`F8gqoHw|9hgoiP`7LJI>GGXsxyj|b%yP5KZ#By;F5hjI zVVCbQ%PyDSW|nuje6P!IcOMGeey_{l?grvLZXkb$8<^ae`tNt~J|&6|Sb6^vEdF*-axMS>Riw`++jPG_=G7QEZdEV6IIV#Van>_c*^Oh#heexV`^4u@a zT}_?`@T8ij^9Qj|StjAc$RTEB;eYsdY9zo~-HDN(f38%V&*jI8#p8uab-sLQY~oz5 z9FOO!IUj2avErGfQhsVKS12AFX;IQm7}*2kkCUX@F8f4bZlM@w$ILYm7vpL2s#v^< z>0Gf;njOg~;bx4JOVyl(ZpCq;RHzn+@Vxi3jHwJcR9XpMs?LnwS5S2eeB3l^%E`Zt z&rv>=I|!>fcRp|{PNQ@=bSo^eP)*Kixy4eq zC=v62Xr;wnu^dQ~ zg$=Q(-4-{bl7{M8;MtjY4$8O7J)nmAQoGy`rLxv&odUa6syV5xN~B73K#xka4sc9> zZFJbFss@nZjcsrWrG;W{IxeVB3w<&kz^G_U$MWZgj~3@EF@4COjZIm~%0jMWmSgf! zyj*2EF69|v8zGxumSX(GBL#t>FYp+#t&mbaULH}ps>X65Z&RWi=kin2m5aWJ`Eu1P zPnDPAYA3PE^F>XeskxZKRhvq+Y%${J=5m(pBe^0K)vTz_E29yWWoenz(-)3bEEhW-&&=hf^HXPY(-)?yaizL<;ZjxQCDG`^AzYOm z7%uG2Y;Wz(bOj@Pc4vmdgTWmcoA3jKsy){7St_NW4cw6Cy3O(-<}}lvSw3{0Rp8u5 zh=aQ&bu-Q7ZmqeQEN$*`o2v%ys;!&s@tT#83-tK~$$$w$SqjXxUBn0#8T*j;9U9bv zW1(c+i_XnZm3H@n4LE{=3bK;MiJ?fFHQXzk+{$LxFL%3UJYt~#GBL4j$F{|-w7ZoK zx3a|z_F)WM?sO~m*LS%~^P9P^g1g*`Bvo*EYvRe`t9#l?&?=#cwU|9_Wvf+ur7LYh z;xX7aaCw_s=}tqH7Y$526x!=ndTOC$s!;Et(Cul?*(6Ce2}C4qb(i~W$#+{H^b7tj z?+{ifldNi}@1#$&#}kj0UU#9zm46zryog?^xFp8PHVsUrFHGDl@0C8+cOh`)o5CdW zBWd<4+ieu@4ViGtWwbGu7FU_9cs;wrCPwF&i}U=iq(z*1tv z{zPDD{^!nC%-`1L-u+Bk;?yP8v;d1$SeTAS2yq*+Vy)Q^%*Lg7d7*sdxN=p^+Fapv z+B&OZ`1ep^Ir2~>$V$DnI3(p}X21P=3%}6u?Vmh2+xN%WA3opr(+86%o70pJJ~Sd> zYXC7DSEnxKic4UI(ih`W^iGAzQCXTZ%q!HKh#)4q3ByVlyEtpmKK7nyYU214(NhM}ay|aU zsjTI7j)C|6Y%z=T&n2!+WKx_j&5q|TSxCN6h71(uOP1{7d@)xo6bsc$Hh{+>!|a({ zr8;rctQB&?YVG7(f?|5URH^0)rE0YcR}47&Q9iJLzahMQtUB^g!{ng~$-NnOZZ78q znd*kaCaq)zcIK@?{=<(w8J#$K%T{bWV0-~U7i~u2YQrIT%4K8<#P+w z!o?VZby$9nVz{6q=xFH)^uI0K67&WwVP`NH+=iPF+#Q+zfdApmf&LGLZ9!+y77P*I z9^A?&`3_BjXd$cdSw59p=v;9INf6`)wh)`AKuD0wz*3830}%jsuom=QEj@r~5|Y9b zDtHZK7<>oS0bav?*h~PTHwRFX0y@_OP_P2JRO&2bj!cNlXP^(9S5*LZ$XkzA7Kpw4 zod5>V5RK_i`4Trsoikqxz-=a!@EN(%3ufCF84eB!T`vWxKSF}wMn8*$q`=?DM;a2p z$CY0Xm>}fIw4z@mu1MOCfRs?p|%QCeTzHhJC9$Pd{u|KLvad<3h%j ze;`4WWic_#=Y6}|-HeTu%OcCOL`6IyBtv(YfuQQO?w0iVT-fM?JRg)a!FQXABk%RI zCTB99HI5xDelA@6f#dIV!fvt&x5+|-v$e({(}(&7==?!G>iNDba#q4O3khzHXKf1A zTB^U*W^s>u;5wO6V+dA4mFtqPV4}$V@IPBu%RqyAlY1r-s`p0%EQ>QdTq(?!a>e@# zl9Nl439tUfpT73eM_>EIi$8h!3nn6$1k|^+|J&Dp|JBcZ`qeN0&a0pK%93DV_|-3d z@YTLd1S*}ja&6i@2_$8os zdVUGKR$RF(%#bs>S$T+t*KxdZPJ~~Ls{2WTG)22;enK(du@w_2M!TOX%poX6tj|8Y zbZNr+-Gs&TQn?(Ls)>)dLe)zdi{eoo&y4|ewE#dz+D)lKQzyqD{pUt!1CT<+#Yu8ksU03IZ&DMhfeb)Ns#(^ z>@|NMA6zEPM-+JaxP7ktXeh}rV3GkK2K~vZALuj5u(?Sx5LS~6eQxp5u=I)bYDa00 zhE26=@LN+mYEz4^+WENbLA<1(jz|jnp(ZI*kJXaG*9J+^Ym#EXOA7RXUQ+Z1?C}~T z1^w7jmlRt7-~mA`l0}jNp+w)Of?1N{M`5E6$ZnDX-+q%6C{Joas4;6q3K^%8;z!|P zZ@}MLNzv6P0k*D^6bylv5Qs81P7RX6;;oVtZ28z{ZflejYciw8CMm?f8}>-ok`$&2 zdAr1gP`M^9j*h=2fe{@iaa~$OC*-v4fq3bNAjhOc^q6d`g+uhX{7%X^CF2PhBFrB4 zC3v9b`8XFnDbHV&A$T-FkuS_NY$%A7xCHB_MX_C7G@(RK$#`1Edt{uJ@m`D#Ms&&I z)rfv{{7>XJiLn;bMZfu<>42DTZNm0FtFV2~8)Lh=yoT-f{oJuV1@_Q2lJkULL#d^K zNl{(Cf^>Y>g>>OLVc_{%E^n|dZVrOO{owL_Z-UFCIsw5^oq*K+9>M$T2>$Da;PMBU z`4TFpel?6tg!fJ@U-7WTn;__>2L+(9>*bTL5@LN+G zYD#2<=M;p^aPvr^e+$OOMb$YvS^>yNS#15JKDL{nc>sXO6$M2>oWbeD51`d307F^c!$_7{XiN@`liF z1D6+`CEz^1mdr~Pd`&X{2H0#UEhWxd$L8q$Br^_PQ?GbhE|p8o%NV$5Zq3J&a`F5; zeumHn=4e*D>utqrQ|~u0aQe3m(qEBiSP!mu1pEiCdz--eEfeuoVEyT9fHjyY-3kQO zw9`@*&~0@cJs<@C&1ll1A5YMhUA(PMl9_^}rfUI%-&_D2aD!oRefde@E+8b;iAc9s zmb^>oE_DcdYyV|9HP~S9XDc8@3