diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..e6f1a0c
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,8 @@
+language: python
+python:
+ - "2.7"
+# command to install dependencies
+install: "pip install -r requirements.txt"
+# command to run tests
+script:
+ - python stock_trader.py
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 0000000..172f6b9
Binary files /dev/null and b/BP.pyc differ
diff --git a/README.md b/README.md
index 9d90360..0d6b02f 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,8 @@
-- 实时交易
-- 历史回撤
-
+[](https://www.travis-ci.org/lishulincug/stock-2)
+- 实时交易
+- 历史回撤
+-均线策略
+-趋势策略
+计算策略收益以及超额收益
+根据经验判断基金买卖情况
+发送邮件
diff --git a/cleastsq.py b/cleastsq.py
index d2890a2..9094f61 100644
--- a/cleastsq.py
+++ b/cleastsq.py
@@ -1,115 +1,115 @@
-# coding=utf-8
-
-'''
-作者:Jairus Chan
-程序:多项式曲线拟合算法
-'''
-import matplotlib.pyplot as plt
-import math
-import numpy
-import random
-
-#阶数为9阶
-order=9
-
-#进行曲线拟合
-def getMatA(xa):
- matA=[]
- for i in range(0,order+1):
- matA1=[]
- for j in range(0,order+1):
- tx=0.0
- for k in range(0,len(xa)):
- dx=1.0
- for l in range(0,j+i):
- dx=dx*xa[k]
- tx+=dx
- matA1.append(tx)
- matA.append(matA1)
-
- matA=numpy.array(matA)
- return matA
-
-def getMatB(xa,ya):
- matB=[]
- for i in range(0,order+1):
- ty=0.0
- for k in range(0,len(xa)):
- dy=1.0
- for l in range(0,i):
- dy=dy*xa[k]
- ty+=ya[k]*dy
- matB.append(ty)
-
- matB=numpy.array(matB)
- return matB
-
-def getMatAA(xa, ya):
- matAA=numpy.linalg.solve(getMatA(xa),getMatB(xa, ya))
- return matAA
-
-#设置阶数(默认为9
-def setOrder(newOrder):
- order = newOrder
-
-#获取拟合后的新序列
-def getFitYValues(xValues, yValues, xNewValues):
- matAA_get = getMatAA(xValues, yValues)
-
- yya=[]
-
- for i in range(0,len(xNewValues)):
- yy=0.0
- for j in range(0,order+1):
- dy=1.0
- for k in range(0,j):
- dy*=xNewValues[i]
- dy*=matAA_get[j]
- yy+=dy
- yya.append(yy)
-
- return yya
-#画出拟合后的曲线
-#print(matAA)
-
-if __name__ == "__main__":
-
- fig = plt.figure()
- ax = fig.add_subplot(111)
-
- #生成曲线上的各个点
- x = numpy.arange(-1,1,0.02)
- y = [((a*a-1)*(a*a-1)*(a*a-1)+0.5)*numpy.sin(a*2) for a in x]
- #ax.plot(x,y,color='r',linestyle='-',marker='')
- #,label="(a*a-1)*(a*a-1)*(a*a-1)+0.5"
-
- #生成的曲线上的各个点偏移一下,并放入到xa,ya中去
- i=0
- xa=[]
- ya=[]
- for xx in x:
- yy=y[i]
- d=float(random.randint(60,140))/100
- #ax.plot([xx*d],[yy*d],color='m',linestyle='',marker='.')
- i+=1
- xa.append(xx*d)
- ya.append(yy*d)
-
- '''for i in range(0,5):
- xx=float(random.randint(-100,100))/100
- yy=float(random.randint(-60,60))/100
- xa.append(xx)
- ya.append(yy)'''
-
- ax.plot(xa,ya,color='m',linestyle='',marker='.')
-
- matAA_n = getMatAA(xa,ya)
- print len(matAA_n)
-
- xxa= numpy.arange(-1,1.2,0.01)
- yya= getFitYValues(xa, ya, xxa)
-
- ax.plot(xxa,yya,color='g',linestyle='-',marker='')
-
- ax.legend()
+# coding=utf-8
+
+'''
+作者:Jairus Chan
+程序:多项式曲线拟合算法
+'''
+import matplotlib.pyplot as plt
+import math
+import numpy
+import random
+
+#阶数为9阶
+order=9
+
+#进行曲线拟合
+def getMatA(xa):
+ matA=[]
+ for i in range(0,order+1):
+ matA1=[]
+ for j in range(0,order+1):
+ tx=0.0
+ for k in range(0,len(xa)):
+ dx=1.0
+ for l in range(0,j+i):
+ dx=dx*xa[k]
+ tx+=dx
+ matA1.append(tx)
+ matA.append(matA1)
+
+ matA=numpy.array(matA)
+ return matA
+
+def getMatB(xa,ya):
+ matB=[]
+ for i in range(0,order+1):
+ ty=0.0
+ for k in range(0,len(xa)):
+ dy=1.0
+ for l in range(0,i):
+ dy=dy*xa[k]
+ ty+=ya[k]*dy
+ matB.append(ty)
+
+ matB=numpy.array(matB)
+ return matB
+
+def getMatAA(xa, ya):
+ matAA=numpy.linalg.solve(getMatA(xa),getMatB(xa, ya))
+ return matAA
+
+#设置阶数(默认为9
+def setOrder(newOrder):
+ order = newOrder
+
+#获取拟合后的新序列
+def getFitYValues(xValues, yValues, xNewValues):
+ matAA_get = getMatAA(xValues, yValues)
+
+ yya=[]
+
+ for i in range(0,len(xNewValues)):
+ yy=0.0
+ for j in range(0,order+1):
+ dy=1.0
+ for k in range(0,j):
+ dy*=xNewValues[i]
+ dy*=matAA_get[j]
+ yy+=dy
+ yya.append(yy)
+
+ return yya
+#画出拟合后的曲线
+#print(matAA)
+
+if __name__ == "__main__":
+
+ fig = plt.figure()
+ ax = fig.add_subplot(111)
+
+ #生成曲线上的各个点
+ x = numpy.arange(-1,1,0.02)
+ y = [((a*a-1)*(a*a-1)*(a*a-1)+0.5)*numpy.sin(a*2) for a in x]
+ #ax.plot(x,y,color='r',linestyle='-',marker='')
+ #,label="(a*a-1)*(a*a-1)*(a*a-1)+0.5"
+
+ #生成的曲线上的各个点偏移一下,并放入到xa,ya中去
+ i=0
+ xa=[]
+ ya=[]
+ for xx in x:
+ yy=y[i]
+ d=float(random.randint(60,140))/100
+ #ax.plot([xx*d],[yy*d],color='m',linestyle='',marker='.')
+ i+=1
+ xa.append(xx*d)
+ ya.append(yy*d)
+
+ '''for i in range(0,5):
+ xx=float(random.randint(-100,100))/100
+ yy=float(random.randint(-60,60))/100
+ xa.append(xx)
+ ya.append(yy)'''
+
+ ax.plot(xa,ya,color='m',linestyle='',marker='.')
+
+ matAA_n = getMatAA(xa,ya)
+ print len(matAA_n)
+
+ xxa= numpy.arange(-1,1.2,0.01)
+ yya= getFitYValues(xa, ya, xxa)
+
+ ax.plot(xxa,yya,color='g',linestyle='-',marker='')
+
+ ax.legend()
plt.show()
\ No newline at end of file
diff --git a/cleastsq.pyc b/cleastsq.pyc
new file mode 100644
index 0000000..d93af08
Binary files /dev/null and b/cleastsq.pyc differ
diff --git a/config.ini b/config.ini
index c8b0736..1a29a50 100644
--- a/config.ini
+++ b/config.ini
@@ -1,11 +1,11 @@
-
-
-# 日志设置
-[log]
-info_log_name=../Data/Log/info.log
-error_log_name=../Data/Log/error.log
-
-#交易阈值
-[trade_threshold]
-Threshold_Buy_Count = 3
+
+
+# 日志设置
+[log]
+info_log_name=../Data/Log/info.log
+error_log_name=../Data/Log/error.log
+
+#交易阈值
+[trade_threshold]
+Threshold_Buy_Count = 3
Threshold_Sale_Count = 3
\ No newline at end of file
diff --git a/cwavelet.py b/cwavelet.py
index 2f6e6a8..3bf0db3 100644
--- a/cwavelet.py
+++ b/cwavelet.py
@@ -1,129 +1,129 @@
-#!/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)
+#!/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 0000000..db0000b
Binary files /dev/null and b/cwavelet.pyc differ
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 0000000..78d4204
Binary files /dev/null and b/data_process/Stock.pyc differ
diff --git a/data_process/__init__.py b/data_process/__init__.py
index 04acb8f..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 *
+
diff --git a/data_process/__init__.pyc b/data_process/__init__.pyc
new file mode 100644
index 0000000..1503760
Binary files /dev/null and b/data_process/__init__.pyc differ
diff --git a/data_process/dataDownloadByDongfangcf.py b/data_process/dataDownloadByDongfangcf.py
new file mode 100644
index 0000000..12d93c6
--- /dev/null
+++ b/data_process/dataDownloadByDongfangcf.py
@@ -0,0 +1,178 @@
+#ecoding:utf-8
+# 导入需要使用到的模块
+import urllib
+import re
+import pandas as pd
+import pymysql
+import os,datetime,time
+
+
+# 爬虫抓取网页函数
+def getHtml(url):
+ html = urllib.urlopen(url).read()
+ html = html.decode('gbk')
+ return html
+
+
+# 抓取网页股票代码函数
+def getStackCode(html):
+ s = r'
'
+ pat = re.compile(s)
+ code = pat.findall(html)
+ return code
+def downlaodDataBycode(code,jj):
+ #########################开始干活############################
+ Url = 'http://quote.eastmoney.com/stocklist.html' # 东方财富网股票数据连接地址
+ filepath = './stockdata/dongfangcf/' # 定义数据文件保存路径
+ # 实施抓取
+ # code = getStackCode(getHtml(Url))
+ # 获取所有股票代码(以6开头的,应该是沪市数据)集合
+ # CodeList = []
+ # for item in code:
+ # if item[0] == '6':
+ # CodeList.append(item)
+ file={'stockcodewangyiShangz.txt':0,'stockcodewangyiShenz.txt':1} #'stockcodewangyiqdii.txt':'','stockcodewangyidetail.txt':''
+ #
+ # CodeList = []
+ # stockTxtNewPath =os.path.pardir + "/stockdata/" + jj
+ # file_to_read = open(stockTxtNewPath, 'r')
+ # lines = file_to_read.readlines() # 整行读取数据
+ # if not lines:
+ # pass
+ # else:
+ # for line in lines:
+ # if line != '\n'and line!=' ':
+ # if jj=='stockcodewangyidetail.txt':
+ # icode=line.split(' ')
+ # else:
+ # icode = line.split('\t')
+ # CodeList.append(icode[1])
+ # 抓取数据并保存到本地csv文件
+ # for code in CodeList:
+ if not ' 'in code:
+ print(u'正在获取股票%s数据' % code)
+ strtoday = datetime.datetime.strftime(datetime.datetime.now(), '%Y%m%d')
+ tdatetime = datetime.datetime.strptime(strtoday, '%Y%m%d')
+ # 前年今日
+ sdatetime = tdatetime - datetime.timedelta(days=365)
+ strsdate = datetime.datetime.strftime(sdatetime, '%Y%m%d')
+ url = 'http://quotes.money.163.com/service/chddata.html?code='+str(file[jj]) + code + \
+ '&start='+str(strsdate)+'&end='+str(strtoday)+'&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP'
+ print url
+ # if jj=='stockcodewangyiqdii.txt':
+ # print code
+ time.sleep(0.1)
+ urllib.urlretrieve(url, filepath + code + '.csv')
+ return filepath + code + '.csv'
+def downlaodData():
+ #########################开始干活############################
+ Url = 'http://quote.eastmoney.com/stocklist.html' # 东方财富网股票数据连接地址
+ filepath =os.path.pardir + '/stockdata/dongfangcf/' # 定义数据文件保存路径
+ # 实施抓取
+ # code = getStackCode(getHtml(Url))
+ # 获取所有股票代码(以6开头的,应该是沪市数据)集合
+ # CodeList = []
+ # for item in code:
+ # if item[0] == '6':
+ # CodeList.append(item)
+ file={'stockcodewangyiShangz.txt':0,'stockcodewangyiShenz.txt':1} #'stockcodewangyiqdii.txt':'','stockcodewangyidetail.txt':''
+ for jj in file:
+ CodeList = []
+ stockTxtNewPath =os.path.pardir + "../stockdata/" + jj
+ file_to_read = open(stockTxtNewPath, 'r')
+ lines = file_to_read.readlines() # 整行读取数据
+ if not lines:
+ pass
+ else:
+ for line in lines:
+ if line != '\n'and line!=' ':
+ if jj=='stockcodewangyidetail.txt':
+ icode=line.split(' ')
+ else:
+ icode = line.split('\t')
+ CodeList.append(icode[1])
+ # 抓取数据并保存到本地csv文件
+ for code in CodeList:
+ if not ' 'in code:
+ print(u'正在获取股票%s数据' % code)
+ strtoday = datetime.datetime.strftime(datetime.datetime.now(), '%Y%m%d')
+ tdatetime = datetime.datetime.strptime(strtoday, '%Y%m%d')
+ # 前年今日
+ sdatetime = tdatetime - datetime.timedelta(days=365)
+ strsdate = datetime.datetime.strftime(sdatetime, '%Y%m%d')
+ url = 'http://quotes.money.163.com/service/chddata.html?code='+str(file[jj]) + code + \
+ '&start='+str(strsdate)+'&end='+str(strtoday)+'&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP'
+ print url
+ if jj=='stockcodewangyiqdii.txt':
+ print code
+ time.sleep(0.1)
+ urllib.urlretrieve(url, filepath + code + '.csv')
+ # stockdata=urllib.urlopen(url)
+ # print (stockdata)
+if __name__ == '__main__':
+
+ downlaodData()
+ filepath = os.path.pardir + '/stockdata/dongfangcf/'
+ ##########################将股票数据存入数据库###########################
+ # 数据库名称和密码
+ name = 'xxxx'
+ password = 'xxxx' # 替换为自己的账户名和密码
+ # 建立本地数据库连接(需要先开启数据库服务)
+ db = pymysql.connect('localhost', name, password, charset='utf8')
+ cursor = db.cursor()
+ # 创建数据库stockDataBase
+ sqlSentence1 = "create database stockDataBase"
+ cursor.execute(sqlSentence1) # 选择使用当前数据库
+ sqlSentence2 = "use stockDataBase;"
+ cursor.execute(sqlSentence2)
+
+ # 获取本地文件列表
+ fileList = os.listdir(filepath)
+ # 依次对每个数据文件进行存储
+ for fileName in fileList:
+ data = pd.read_csv(filepath + fileName, encoding="gbk")
+ # 创建数据表,如果数据表已经存在,会跳过继续执行下面的步骤print('创建数据表stock_%s'% fileName[0:6])
+ try:
+ sqlSentence3 = "create table stock_%s" % fileName[0:6] + "(日期 date, 股票代码 VARCHAR(10), 名称 VARCHAR(10),\
+ 收盘价 float, 最高价 float, 最低价 float, 开盘价 float, 前收盘 float, 涨跌额 float, \
+ 涨跌幅 float, 换手率 float, 成交量 bigint, 成交金额 bigint, 总市值 bigint, 流通市值 bigint)"
+ cursor.execute(sqlSentence3)
+ except:
+ print('数据表已存在!')
+
+ # 迭代读取表中每行数据,依次存储(整表存储还没尝试过)
+ print('正在存储stock_%s' % fileName[0:6])
+ length = len(data)
+ for i in range(0, length):
+ record = tuple(data.loc[i])
+ # 插入数据语句
+ try:
+ sqlSentence4 = "insert into stock_%s" % fileName[0:6] + "(日期, 股票代码, 名称, 收盘价, 最高价, 最低价, 开盘价,\
+ 前收盘, 涨跌额, 涨跌幅, 换手率, 成交量, 成交金额, 总市值, 流通市值) \
+ values ('%s',%s','%s',%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)" % record
+ # 获取的表中数据很乱,包含缺失值、Nnone、none等,插入数据库需要处理成空值
+ sqlSentence4 = sqlSentence4.replace('nan', 'null').replace('None', 'null').replace('none', 'null')
+ cursor.execute(sqlSentence4)
+ except:
+ # 如果以上插入过程出错,跳过这条数据记录,继续往下进行
+ break
+
+ # 关闭游标,提交,关闭数据库连接
+ cursor.close()
+ db.commit()
+ db.close()
+
+ ###########################查询刚才操作的成果##################################
+
+ # 重新建立数据库连接
+ db = pymysql.connect('localhost', name, password, 'stockDataBase')
+ cursor = db.cursor()
+ # 查询数据库并打印内容
+ cursor.execute('select * from stock_600000')
+ results = cursor.fetchall()
+ for row in results:
+ print(row)
+ # 关闭
+ cursor.close()
+ db.commit()
+ db.close()
\ No newline at end of file
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 0000000..acbde7f
Binary files /dev/null and b/data_process/data_calcute.pyc differ
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 0000000..c38557d
Binary files /dev/null and b/data_process/data_get.pyc differ
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 0000000..e2bf55a
Binary files /dev/null and b/data_process/download_stock.pyc differ
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 0000000..7e1acec
Binary files /dev/null and b/data_process/native_data.pyc differ
diff --git a/data_process/online_data.py b/data_process/online_data.py
index fe9c198..f89d906 100644
--- a/data_process/online_data.py
+++ b/data_process/online_data.py
@@ -1,152 +1,147 @@
-#!/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')
+#!/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 0000000..fa060ae
Binary files /dev/null and b/data_process/online_data.pyc differ
diff --git a/init.py b/init.py
index 8d916a9..58d8f4e 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')
-
-#配置文件 位置
-config_file_path = '../config.ini'
\ No newline at end of file
+#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'
diff --git a/init.pyc b/init.pyc
new file mode 100644
index 0000000..5a1f056
Binary files /dev/null and b/init.pyc differ
diff --git a/k-line.py b/k-line.py
index 2439b1b..875012d 100644
--- a/k-line.py
+++ b/k-line.py
@@ -1,37 +1,37 @@
-#!/usr/bin/env python
-#coding=utf-8
-import matplotlib.pyplot as plt
-from matplotlib.dates import DateFormatter, WeekdayLocator,\
- DayLocator, MONDAY
-from matplotlib.finance import quotes_historical_yahoo_ohlc, candlestick_ohlc
-
-
-# (Year, month, day) tuples suffice as args for quotes_historical_yahoo
-date1 = (2015, 2, 1)
-date2 = (2015, 5, 22)
-
-
-mondays = WeekdayLocator(MONDAY) # major ticks on the mondays
-alldays = DayLocator() # minor ticks on the days
-weekFormatter = DateFormatter('%b %d') # e.g., Jan 12
-dayFormatter = DateFormatter('%d') # e.g., 12
-
-quotes = quotes_historical_yahoo_ohlc('600000.SS', date1, date2)
-if len(quotes) == 0:
- raise SystemExit
-
-fig, ax = plt.subplots()
-fig.subplots_adjust(bottom=0.2)
-ax.xaxis.set_major_locator(mondays)
-ax.xaxis.set_minor_locator(alldays)
-ax.xaxis.set_major_formatter(weekFormatter)
-#ax.xaxis.set_minor_formatter(dayFormatter)
-
-#plot_day_summary(ax, quotes, ticksize=3)
-candlestick_ohlc(ax, quotes, width=0.6)
-
-ax.xaxis_date()
-ax.autoscale_view()
-plt.setp(plt.gca().get_xticklabels(), rotation=45, horizontalalignment='right')
-
+#!/usr/bin/env python
+#coding=utf-8
+import matplotlib.pyplot as plt
+from matplotlib.dates import DateFormatter, WeekdayLocator,\
+ DayLocator, MONDAY
+from matplotlib.finance import quotes_historical_yahoo_ohlc, candlestick_ohlc
+
+
+# (Year, month, day) tuples suffice as args for quotes_historical_yahoo
+date1 = (2015, 2, 1)
+date2 = (2015, 5, 22)
+
+
+mondays = WeekdayLocator(MONDAY) # major ticks on the mondays
+alldays = DayLocator() # minor ticks on the days
+weekFormatter = DateFormatter('%b %d') # e.g., Jan 12
+dayFormatter = DateFormatter('%d') # e.g., 12
+
+quotes = quotes_historical_yahoo_ohlc('600000.SS', date1, date2)
+if len(quotes) == 0:
+ raise SystemExit
+
+fig, ax = plt.subplots()
+fig.subplots_adjust(bottom=0.2)
+ax.xaxis.set_major_locator(mondays)
+ax.xaxis.set_minor_locator(alldays)
+ax.xaxis.set_major_formatter(weekFormatter)
+#ax.xaxis.set_minor_formatter(dayFormatter)
+
+#plot_day_summary(ax, quotes, ticksize=3)
+candlestick_ohlc(ax, quotes, width=0.6)
+
+ax.xaxis_date()
+ax.autoscale_view()
+plt.setp(plt.gca().get_xticklabels(), rotation=45, horizontalalignment='right')
+
plt.show()
\ No newline at end of file
diff --git a/livedata.py b/livedata.py
index b1e8b77..b766202 100644
--- a/livedata.py
+++ b/livedata.py
@@ -1,208 +1,208 @@
-#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'))
-
+#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 0000000..a48fe3e
Binary files /dev/null and b/plot.pyc differ
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..d3c468d
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,17 @@
+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
+Pyevolve==0.6rc1
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..2bf81d5 100644
--- a/stock.py
+++ b/stock.py
@@ -1,237 +1,234 @@
-#!/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..2d2e00b
--- /dev/null
+++ b/stock_trader.py
@@ -0,0 +1,31 @@
+#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
+from trade_process.efund_mail2 import main1
+from trade_process.fund_zf import main_zf
+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 = []#[ ['160222', '国泰国证食品饮料行业指数分级'],['110022', 'eConsumption '],['110003', 'eSSE50'], ['110020', 'HS300'], ['110028', 'anxinB'],
+ # ['002963', 'egold'], ['003321', 'eoil'], ['004744', 'eGEI'],
+ # ['110031', 'eHSI'], ['161130', 'eNASDAQ100'],['161125', 'SPX500']]
+ # fundlist=main_zf()
+ # for i in range(0,1):#len(fundlist)
+ # code.append(fundlist[i])
+ #均线策略
+ # macd=macdmain(code)
+ # print macd
+
+ main1()
+ # stock_trader_main(code)
+ # macd_live_main(code)
diff --git a/stockdata/GAOpt.txt b/stockdata/GAOpt.txt
new file mode 100644
index 0000000..954b011
--- /dev/null
+++ b/stockdata/GAOpt.txt
@@ -0,0 +1,291 @@
+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
+DMA|001865|ǰԴ¼C |11, 32, 80|10.64591
+MA|001865|ǰԴ¼C |20, 19, 77|27.74885
+MACD|001865|ǰԴ¼C |3, 10, 62|26.50087
+TRIX|001865|ǰԴ¼C |14, 7, 38|9.59872
+DMA|165312|50 Ʊָ|12, 55, 57|9.11024
+MA|165312|50 Ʊָ|1, 45, 12|6.2966
+MACD|165312|50 Ʊָ|9, 7, 80|6.80788
+TRIX|165312|50 Ʊָ|7, 59, 70|5.64648
+DMA|001892|ʢ˳ɳ |9, 31, 28|15.51121
+MA|001892|ʢ˳ɳ |6, 41, 46|29.17076
+MACD|001892|ʢ˳ɳ |4, 16, 70|28.4102
+TRIX|001892|ʢ˳ɳ |11, 34, 57|13.8076
+DMA|260110|˳Ǿѡ |19, 29, 46|9.08645
+MA|260110|˳Ǿѡ |5, 15, 94|16.07584
+MACD|260110|˳Ǿѡ |1, 7, 84|9.76416
+TRIX|260110|˳Ǿѡ |5, 44, 70|3.88812
+DMA|260116|˳ǺľA |7, 36, 84|11.57253
+MA|260116|˳ǺľA |6, 6, 12|29.42919
+MACD|260116|˳ǺľA |2, 21, 22|27.23138
+TRIX|260116|˳ǺľA |10, 52, 70|11.58646
+DMA|002085|ʢ+ |9, 34, 84|15.61371
+MA|002085|ʢ+ |12, 31, 16|28.66209
+MACD|002085|ʢ+ |2, 23, 79|27.78855
+TRIX|002085|ʢ+ |11, 34, 57|13.80577
+MA|260108|˳˳ɳ |19, 12, 91|18.66496
+MACD|260108|˳˳ɳ |4, 19, 99|19.27349
+MA|001740|й2025 |8, 6, 17|19.85835
+MACD|001740|й2025 |19, 8, 91|22.19493
+MA|160632|Ʒּ Ʊָ|2, 38, 94|15.60955
+MACD|160632|Ʒּ Ʊָ|3, 7, 84|28.96886
+MA|206007|ѡ |6, 6, 16|30.71428
+MACD|206007|ѡ |8, 20, 46|30.24909
+MA|001542|̩+Ʊ Ʊ|2, 54, 83|13.73456
+MACD|001542|̩+Ʊ Ʊ|7, 8, 62|29.22265
+MA|000854|ϲҵ Ʊ|17, 10, 66|31.1615
+MACD|000854|ϲҵ Ʊ|4, 8, 62|30.35519
+MA|161725|ָּ֤ Ʊָ|5, 14, 12|15.08644
+MACD|161725|ָּ֤ Ʊָ|19, 18, 84|18.2056
+MA|550016|ųԶC ּܸ|16, 8, 46|47.78
+MACD|550016|ųԶC ּܸ|9, 19, 91|47.78
+MA|000431|Ʒƴл |20, 10, 70|30.68181
+MACD|000431|Ʒƴл |7, 21, 29|30.15358
+MA|000248|֤ҪETF ӻ|3, 47, 55|17.36217
+MACD|000248|֤ҪETF ӻ|7, 9, 62|39.34048
+MA|519664|A |20, 6, 84|33.84116
+MACD|519664|A |2, 16, 79|34.4181
+MA|020005|̩Ƚ |9, 6, 28|17.63986
+MACD|020005|̩Ƚ |19, 21, 29|16.80808
+MA|000083|ҵ |20, 28, 98|33.64974
+MACD|000083|ҵ |3, 32, 22|32.07629
+MA|481012|֤ ӻ|16, 6, 36|30.93803
+MACD|481012|֤ ӻ|2, 18, 86|29.76042
+MA|519665|C |19, 6, 84|33.88362
+MACD|519665|C |2, 16, 86|33.95783
+MA|180012|ԣ |1, 52, 71|13.84414
+MACD|180012|ԣ |4, 15, 31|25.50005
+MA|070032|ʵŻ |3, 13, 68|17.79934
+MACD|070032|ʵŻ |4, 7, 62|33.33868
+MA|001170|̩˻ |19, 11, 82|28.59445
+MACD|001170|̩˻ |13, 21, 91|26.55327
+MA|040008|ѡ |9, 8, 47|23.24383
+MACD|040008|ѡ |8, 10, 62|22.43298
+MA|004008|˼·A |2, 47, 10|0.7119
+MACD|004008|˼·A |2, 7, 84|0.58005
+MA|004009|˼·C |3, 51, 17|0.31564
+MACD|004009|˼·C |2, 11, 84|0.33037
+MA|519056|ͨȵ |1, 25, 30|15.40842
+MACD|519056|ͨȵ |7, 9, 62|31.0742
+MA|260103|˳Ƕƽ |17, 8, 34|25.13643
+MACD|260103|˳Ƕƽ |7, 8, 84|25.36861
+MA|001287|A |1, 48, 27|25.32231
+MACD|001287|A |7, 8, 62|34.63417
+MA|000619|ҵ |8, 8, 84|29.99624
+MACD|000619|ҵ |8, 9, 27|29.75675
+MA|001387|¾ûA |8, 20, 16|0.85731
+MACD|001387|¾ûA |14, 6, 79|1.63479
+MA|001631|֤ʳƷָA Ʊָ|4, 43, 82|15.36307
+MACD|001631|֤ʳƷָA Ʊָ|2, 9, 62|29.38617
+MA|000742|̩¾û |6, 33, 73|12.26891
+MACD|000742|̩¾û |3, 7, 84|26.21631
+MA|001632|֤ʳƷָC Ʊָ|3, 54, 82|15.32682
+MACD|001632|֤ʳƷָC Ʊָ|2, 9, 62|29.23509
+MA|001606|ũҵ4.0 |1, 20, 72|19.79911
+MACD|001606|ũҵ4.0 |2, 28, 22|29.37062
+MA|000462|ũֶ |15, 12, 93|34.61638
+MACD|000462|ũֶ |4, 15, 46|34.24478
+MA|001112|йƻ |19, 6, 22|29.07516
+MACD|001112|йƻ |19, 20, 27|28.59173
+MA|001281|ѡA |16, 8, 46|26.79772
+MACD|001281|ѡA |1, 50, 87|22.94161
+MA|002072|ѡC |16, 8, 46|26.71202
+MACD|002072|ѡC |1, 50, 87|22.8868
+MA|310388| |16, 49, 28|2.26845
+MACD|310388| |5, 9, 15|20.45848
+MA|519690|ȽûA |4, 14, 77|20.23216
+MACD|519690|ȽûA |2, 16, 86|12.16381
+MA|001076|ĸ |8, 25, 42|13.77119
+MACD|001076|ĸ |2, 16, 46|32.92077
+MA|530015|֤60 ӻ|15, 9, 34|28.01786
+MACD|530015|֤60 ӻ|4, 6, 62|27.11091
+MA|360007|û |8, 8, 85|17.34228
+MACD|360007|û |20, 11, 84|18.82594
+MA|540012|źͷָA Ʊָ|14, 56, 17|10.73188
+MACD|540012|źͷָA Ʊָ|19, 6, 38|10.88099
+MA|003119|ʱԴA |9, 23, 15|29.95984
+MACD|003119|ʱԴA |1, 46, 22|29.6994
+MA|004528|ʢʢͨծA none|1, 25, 10|27.26729
+MACD|004528|ʢʢͨծA none|1, 44, 70|26.91351
+MA|003120|ʱԴC |7, 26, 12|29.98995
+MACD|003120|ʱԴC |1, 28, 79|29.5992
+MA|660010|ũԾѡ |1, 11, 100|21.87402
+MACD|660010|ũԾѡ |12, 15, 57|26.63535
+MA|000423|ǰԴ¼A |6, 6, 37|27.10071
+MACD|000423|ǰԴ¼A |3, 10, 84|26.17073
+MA|519606|̩ Ʊ|11, 8, 99|14.74101
+MACD|519606|̩ Ʊ|12, 14, 82|14.61055
+MA|001044|ʵѹƱ Ʊ|15, 9, 91|24.05337
+MACD|001044|ʵѹƱ Ʊ|3, 6, 84|20.06904
+MA|001583|³̬Ʊ Ʊ|6, 6, 10|21.27152
+MACD|001583|³̬Ʊ Ʊ|3, 32, 22|18.07508
+MA|001208|ŵ̼ùƱ Ʊ|15, 13, 31|29.34498
+MACD|001208|ŵ̼ùƱ Ʊ|5, 16, 84|30.05486
+MA|160605|й50 |6, 6, 84|29.01738
+MACD|160605|й50 |19, 38, 22|26.05775
+MA|020026|̩ɳѡ |8, 8, 12|10.39039
+MACD|020026|̩ɳѡ |4, 23, 13|8.42245
+MA|001605|ɳѡƱ Ʊ|8, 8, 16|28.61427
+MACD|001605|ɳѡƱ Ʊ|4, 7, 62|31.60846
+MA|001703|Ʊ Ʊ|2, 12, 80|14.43299
+MACD|001703|Ʊ Ʊ|7, 8, 84|25.9319
+MA|001179|°û |18, 12, 79|27.19698
+MACD|001179|°û |7, 8, 27|26.6181
+MA|164906|֤йָ QDII-ָ|8, 8, 64|9.02807
+MACD|164906|֤йָ QDII-ָ|15, 21, 84|11.59911
+MA|519066|Ƚ |15, 11, 91|16.88678
+MACD|519066|Ƚ |2, 38, 79|14.4195
+MA|110011|С̻ |6, 6, 79|25.94807
+MACD|110011|С̻ |4, 15, 94|25.94807
+MA|160628|زּ Ʊָ|11, 10, 13|27.29184
+MACD|160628|زּ Ʊָ|7, 8, 62|25.01878
+MA|519746|ծȯA ծȯ|16, 33, 12|0.0
+MACD|519746|ծȯA ծȯ|4, 11, 80|1.63224
+MA|002853|ԪûA |9, 6, 91|0.54829
+MACD|002853|ԪûA |1, 7, 84|4.22898
+MA|241001|йɳ QDII|8, 8, 11|12.48513
+MACD|241001|йɳ QDII|5, 14, 85|10.5786
+MA|519068|ɳ |9, 8, 28|26.81625
+MACD|519068|ɳ |11, 18, 22|24.90172
+MA|001581|ͨѡû |8, 8, 76|25.13814
+MACD|001581|ͨѡû |4, 7, 62|25.46318
+MA|000634|ʢû |1, 36, 13|13.3687
+MACD|000634|ʢû |4, 8, 27|21.65084
+MA|161129|ԭA QDII|19, 6, 99|25.02004
+MACD|161129|ԭA QDII|4, 54, 37|17.57164
+MA|540009|Ѻ Ʊ|7, 48, 58|6.05222
+MACD|540009|Ѻ Ʊ|8, 9, 46|13.54252
+MA|000029|۲ |1, 44, 13|21.55451
+MACD|000029|۲ |6, 9, 27|30.78001
+MA|519225|ͨծȯ ծȯ|1, 29, 16|23.51001
+MACD|519225|ͨծȯ ծȯ|1, 13, 84|23.3129
+MA|570001|ŵ¼ֵƻ |16, 8, 46|23.1882
+MACD|570001|ŵ¼ֵƻ |3, 42, 31|20.67356
+MA|000934|лѡ QDII|10, 10, 13|13.59015
+MACD|000934|лѡ QDII|4, 8, 46|14.31654
+MA|160218|̩֤زҵָּ Ʊָ|7, 6, 16|21.30797
+MACD|160218|̩֤زҵָּ Ʊָ|7, 9, 49|18.98304
+MA|001712|ƾѡ |8, 8, 62|22.53789
+MACD|001712|ƾѡ |2, 24, 29|21.85712
+MA|161721|̻300زָּ Ʊָ|17, 12, 58|18.06743
+MACD|161721|̻300زָּ Ʊָ|17, 12, 46|18.83812
+MA|002124|㷢˲ҵ |13, 8, 91|28.12136
+MACD|002124|㷢˲ҵ |1, 44, 77|23.99838
+MA|000988|ʵȫƱ QDII|8, 7, 13|5.54386
+MACD|000988|ʵȫƱ QDII|19, 16, 79|4.88145
+MA|020023|̩¼Ի |20, 16, 100|23.64391
+MACD|020023|̩¼Ի |10, 15, 22|22.06978
+MA|160216|̩Ʒ QDII|19, 6, 99|23.82199
+MACD|160216|̩Ʒ QDII|11, 16, 79|20.05076
+MA|001518| |17, 14, 61|20.50531
+MACD|001518| |2, 23, 84|19.26242
+MA|398061|кѻ |2, 11, 72|7.73835
+MACD|398061|кѻ |6, 9, 62|27.09197
+MA|002666|ǰԴ³ɳA |3, 17, 79|17.69615
+MACD|002666|ǰԴ³ɳA |2, 23, 84|24.14857
+DMA|000751|ʵ˲ҵƱ Ʊ|15, 42, 19|5.46908
+MA|000751|ʵ˲ҵƱ Ʊ|7, 5, 79|19.78493
+MACD|000751|ʵ˲ҵƱ Ʊ|5, 7, 12|19.33581
+MA|162605|˳Ƕ(LOF) |5, 5, 57|32.75414
+MACD|162605|˳Ƕ(LOF) |7, 10, 22|30.93892
+MA|002851|ϷƷʻ |12, 7, 91|29.55376
+MACD|002851|ϷƷʻ |1, 15, 11|25.78834
+MA|169101| |19, 44, 28|10.23124
+MACD|169101| |7, 9, 9|8.33333
+MA|519772|û |7, 7, 84|34.97707
+MACD|519772|û |18, 19, 4|33.5086
+MA|270041|㷢Ʒѡ |7, 6, 79|25.93774
+MACD|270041|㷢Ʒѡ |2, 9, 10|25.66987
+MA|217027|Ӳƾ50ָA Ʊָ|9, 5, 29|26.60504
+MACD|217027|Ӳƾ50ָA Ʊָ|2, 37, 4|21.43469
+MA|163412|ȫʲ(LOF) |19, 6, 22|30.05601
+MACD|163412|ȫʲ(LOF) |7, 11, 21|30.00747
+MA|160127|Ϸѷּ Ʊ|17, 5, 22|20.32771
+MACD|160127|Ϸѷּ Ʊ|2, 19, 25|20.54125
+MA|001725|߶Ʊ Ʊ|19, 6, 22|32.36023
+MACD|001725|߶Ʊ Ʊ|2, 19, 25|28.70576
+MA|000173|30 |7, 7, 20|31.15095
+MACD|000173|30 |5, 13, 6|28.80672
+MA|002624|㷢ѡ |19, 6, 22|31.14472
+MACD|002624|㷢ѡ |4, 6, 4|31.39336
+MA|519008|ƾѡ |19, 6, 22|24.25781
+MACD|519008|ƾѡ |4, 10, 18|22.61552
+MA|000167|㷢ûA |2, 38, 39|10.14022
+MACD|000167|㷢ûA |20, 12, 14|22.93245
+MA|001371|ֵ |2, 38, 12|8.79377
+MACD|001371|ֵ |11, 14, 15|8.45617
+MA|376510|Ͷ Ʊ|5, 5, 34|16.99092
+MACD|376510|Ͷ Ʊ|5, 15, 18|15.59401
+MA|163406|ȫּ |19, 6, 22|27.97797
+MACD|163406|ȫּ |3, 11, 14|28.4111
+
+
diff --git a/stockdata/GAOpt100-1.txt b/stockdata/GAOpt100-1.txt
new file mode 100644
index 0000000..6438053
--- /dev/null
+++ b/stockdata/GAOpt100-1.txt
@@ -0,0 +1,545 @@
+MA|002963|egold|2, 37, 12|2.3427
+MA|002963|egold|2, 37, 12|2.3427
+MACD|002963|egold|19, 11, 18|1.76252
+MA|003321|eoil|8, 7, 62|24.42502
+MACD|003321|eoil|5, 8, 25|24.19651
+MA|004744|eGEI|2, 55, 25|0.98452
+MACD|004744|eGEI|7, 4, 4|2.83792
+MA|110003|eSSE50|20, 20, 29|24.2869
+MACD|110003|eSSE50|2, 27, 5|18.14658
+MA|110020|HS300|19, 5, 84|13.12161
+MACD|110020|HS300|15, 6, 10|10.16974
+MA|110031|eHSI|7, 7, 10|14.36478
+MACD|110031|eHSI|1, 49, 23|10.21904
+MA|161130|eNASDAQ100|20, 7, 91|11.30478
+MACD|161130|eNASDAQ100|1, 19, 24|11.22633
+MA|110028|anxinB|1, 24, 12|4.72306
+MACD|110028|anxinB|8, 4, 30|5.43585
+MA|110022|eConsumption |7, 7, 27|31.46783
+MACD|110022|eConsumption |2, 8, 28|19.73073
+MA|161125|SPX500|9, 7, 12|10.50693
+MACD|161125|SPX500|1, 20, 7|9.38309
+MA|161725|ָּ֤ Ʊָ|5, 9, 12|12.91174
+MACD|161725|ָּ֤ Ʊָ|11, 4, 5|19.77912
+MA|160222|̩֤ʳƷҵָּ Ʊָ|19, 5, 57|29.4182
+MACD|160222|̩֤ʳƷҵָּ Ʊָ|3, 6, 5|23.90961
+MA|110022|ҵ Ʊ|7, 7, 27|31.46783
+MACD|110022|ҵ Ʊ|2, 8, 28|19.73073
+MA|000248|֤ҪETF ӻ|5, 5, 31|32.04681
+MACD|000248|֤ҪETF ӻ|3, 5, 7|27.19769
+MA|162605|˳Ƕ(LOF) |6, 5, 12|30.19003
+MACD|162605|˳Ƕ(LOF) |7, 8, 5|27.0848
+MA|260108|˳˳ɳ |6, 5, 12|19.0824
+MACD|260108|˳˳ɳ |7, 8, 5|16.2189
+MA|001740|й2025 |2, 43, 35|22.58922
+MACD|001740|й2025 |17, 6, 14|26.48373
+MA|160632|Ʒּ Ʊָ|19, 7, 84|22.10569
+MACD|160632|Ʒּ Ʊָ|3, 9, 7|18.46979
+MA|000083|ҵ |19, 6, 22|31.15011
+MACD|000083|ҵ |7, 8, 4|26.48062
+MA|180012|ԣ |19, 9, 65|22.00224
+MACD|180012|ԣ |6, 11, 10|13.47839
+MA|001542|̩+Ʊ Ʊ|1, 48, 94|12.82707
+MACD|001542|̩+Ʊ Ʊ|2, 15, 14|19.1224
+MA|070032|ʵŻ |16, 5, 91|27.15053
+MACD|070032|ʵŻ |15, 33, 4|12.92633
+MA|000619|ҵ |1, 24, 71|13.26834
+MACD|000619|ҵ |4, 11, 14|19.69273
+MA|004008|˼·A |1, 51, 10|1.73616
+MACD|004008|˼·A |18, 13, 25|2.36077
+MA|001112|йƻ |4, 55, 45|9.85887
+MACD|001112|йƻ |3, 15, 7|21.38199
+MA|481012|֤ ӻ|7, 7, 12|28.47518
+MACD|481012|֤ ӻ|7, 8, 25|28.47518
+MA|004009|˼·C |8, 50, 13|1.35105
+MACD|004009|˼·C |18, 15, 28|1.44043
+MA|519664|A |2, 15, 45|14.37127
+MACD|519664|A |7, 15, 4|28.40349
+MA|206007|ѡ |7, 7, 84|27.66545
+MACD|206007|ѡ |2, 8, 10|25.32238
+MA|001387|¾ûA |9, 31, 15|2.56616
+MACD|001387|¾ûA |8, 4, 25|2.5797
+MA|519665|C |2, 24, 47|14.24056
+MACD|519665|C |6, 7, 25|28.68753
+MA|310388| |6, 16, 86|4.18381
+MACD|310388| |4, 11, 7|11.53562
+MA|001208|ŵ̼ùƱ Ʊ|7, 7, 62|27.7392
+MACD|001208|ŵ̼ùƱ Ʊ|2, 13, 8|26.80584
+MA|000854|ϲҵ Ʊ|9, 7, 39|28.16949
+MACD|000854|ϲҵ Ʊ|2, 8, 9|25.44791
+MA|000462|ũֶ |19, 6, 22|28.55242
+MACD|000462|ũֶ |2, 8, 5|25.66163
+MA|000742|̩¾û |5, 5, 22|16.55535
+MACD|000742|̩¾û |1, 14, 24|16.2489
+MA|001076|ĸ |5, 5, 19|32.0736
+MACD|001076|ĸ |2, 10, 13|26.1899
+MA|001606|ũҵ4.0 |19, 6, 22|21.64179
+MACD|001606|ũҵ4.0 |11, 15, 28|21.57632
+MA|110003|֤50ָA Ʊָ|20, 20, 29|24.2869
+MACD|110003|֤50ָA Ʊָ|2, 27, 5|18.14658
+MA|001631|֤ʳƷָA Ʊָ|19, 5, 27|22.86178
+MACD|001631|֤ʳƷָA Ʊָ|4, 11, 4|19.33031
+MA|000431|Ʒƴл |16, 7, 61|28.51763
+MACD|000431|Ʒƴл |1, 16, 25|25.89481
+MA|550016|ųԶC ּܸ|20, 5, 82|46.33926
+MACD|550016|ųԶC ּܸ|10, 4, 4|44.37566
+MA|519066|Ƚ |6, 5, 12|14.86805
+MACD|519066|Ƚ |4, 19, 13|13.47087
+MA|040008|ѡ |7, 5, 20|17.60528
+MACD|040008|ѡ |1, 38, 7|13.20098
+MA|519690|ȽûA |1, 5, 27|3.55505
+MACD|519690|ȽûA |2, 17, 11|3.08913
+MA|001632|֤ʳƷָC Ʊָ|19, 6, 91|22.75947
+MACD|001632|֤ʳƷָC Ʊָ|4, 11, 4|19.24065
+MA|260116|˳ǺľA |8, 7, 62|26.6666
+MACD|260116|˳ǺľA |4, 13, 4|24.5517
+MA|165312|50 Ʊָ|1, 7, 73|11.34574
+MACD|165312|50 Ʊָ|8, 6, 5|7.57796
+MA|001287|A |5, 5, 10|23.77526
+MACD|001287|A |1, 26, 7|19.45345
+MA|260110|˳Ǿѡ |5, 5, 29|9.22322
+MACD|260110|˳Ǿѡ |2, 4, 12|9.58932
+MA|169101| |20, 28, 100|9.90889
+MACD|169101| |20, 6, 13|18.97201
+MA|001281|ѡA |14, 6, 91|24.27128
+MACD|001281|ѡA |20, 11, 14|17.60129
+MA|002072|ѡC |20, 10, 91|24.219
+MACD|002072|ѡC |20, 11, 14|17.55579
+MA|110011|С̻ |19, 6, 22|23.66928
+MACD|110011|С̻ |2, 8, 25|22.7685
+MA|519772|û |5, 57, 31|6.7283
+MACD|519772|û |3, 15, 27|19.28457
+MA|001170|̩˻ |2, 54, 74|12.54725
+MACD|001170|̩˻ |4, 12, 18|24.70781
+MA|660010|ũԾѡ |19, 6, 22|21.15983
+MACD|660010|ũԾѡ |8, 20, 10|11.73932
+MA|519068|ɳ |19, 6, 22|23.82055
+MACD|519068|ɳ |3, 17, 15|20.54364
+MA|360007|û |2, 31, 25|20.56427
+MACD|360007|û |18, 17, 7|22.79146
+MA|217027|Ӳƾ50ָA Ʊָ|7, 7, 15|21.20363
+MACD|217027|Ӳƾ50ָA Ʊָ|4, 10, 6|20.10648
+MA|020005|̩Ƚ |5, 5, 13|14.42656
+MACD|020005|̩Ƚ |2, 8, 30|3.78229
+MA|540012|źͷָA Ʊָ|5, 5, 10|17.80648
+MACD|540012|źͷָA Ʊָ|17, 11, 11|25.01403
+MA|530015|֤60 ӻ|18, 35, 23|13.79416
+MACD|530015|֤60 ӻ|4, 8, 15|24.13326
+MA|001044|ʵѹƱ Ʊ|9, 7, 12|18.82961
+MACD|001044|ʵѹƱ Ʊ|3, 9, 6|18.26466
+MA|519606|̩ Ʊ|13, 10, 89|2.93671
+MACD|519606|̩ Ʊ|13, 16, 14|9.7732
+MA|002851|ϷƷʻ |17, 14, 45|25.0769
+MACD|002851|ϷƷʻ |20, 12, 30|20.60417
+MA|519746|ծȯA ծȯ|16, 32, 12|0.0
+MACD|519746|ծȯA ծȯ|4, 6, 19|1.48818
+MA|241001|йɳ QDII|19, 5, 79|9.99438
+MACD|241001|йɳ QDII|20, 4, 7|7.57824
+MA|000173|30 |1, 28, 10|13.82716
+MACD|000173|30 |11, 14, 5|22.37067
+MA|100022|ǿ |13, 12, 59|9.76229
+MACD|100022|ǿ |6, 10, 18|14.14801
+MA|002853|ԪûA |7, 7, 79|2.5409
+MACD|002853|ԪûA |2, 8, 22|2.43367
+MA|020026|̩ɳѡ |1, 24, 98|2.06215
+MACD|020026|̩ɳѡ |14, 17, 13|9.37435
+MA|001703|Ʊ Ʊ|5, 5, 84|21.43973
+MACD|001703|Ʊ Ʊ|9, 12, 24|20.21688
+MA|001712|ƾѡ |2, 31, 60|9.81494
+MACD|001712|ƾѡ |2, 18, 12|17.42009
+MA|540009|Ѻ Ʊ|20, 5, 82|9.18962
+MACD|540009|Ѻ Ʊ|4, 28, 5|7.49183
+MA|519056|ͨȵ |19, 5, 28|25.97743
+MACD|519056|ͨȵ |6, 20, 27|24.92077
+MA|164906|֤йָ QDII-ָ|5, 5, 31|11.29221
+MACD|164906|֤йָ QDII-ָ|4, 7, 12|10.64234
+MA|160127|Ϸѷּ Ʊ|5, 5, 39|17.7383
+MACD|160127|Ϸѷּ Ʊ|19, 21, 28|15.63403
+MA|001179|°û |1, 24, 76|12.93788
+MACD|001179|°û |2, 25, 6|13.56331
+MA|260103|˳Ƕƽ |19, 6, 22|22.95207
+MACD|260103|˳Ƕƽ |5, 7, 27|22.95207
+MA|001371|ֵ |2, 38, 12|9.1751
+MACD|001371|ֵ |1, 11, 5|8.48011
+MA|001583|³̬Ʊ Ʊ|7, 5, 22|16.46919
+MACD|001583|³̬Ʊ Ʊ|6, 8, 24|17.67756
+MA|000934|лѡ QDII|5, 5, 22|11.98598
+MACD|000934|лѡ QDII|18, 15, 6|9.93118
+MA|020023|̩¼Ի |16, 11, 65|17.55517
+MACD|020023|̩¼Ի |6, 12, 24|17.55517
+MA|001725|߶Ʊ Ʊ|7, 7, 53|28.61564
+MACD|001725|߶Ʊ Ʊ|1, 23, 11|16.49532
+MA|270041|㷢Ʒѡ |7, 7, 84|21.50904
+MACD|270041|㷢Ʒѡ |8, 14, 13|21.50904
+MA|000751|ʵ˲ҵƱ Ʊ|7, 7, 80|14.7188
+MACD|000751|ʵ˲ҵƱ Ʊ|10, 15, 28|13.73035
+MA|001605|ɳѡƱ Ʊ|2, 10, 93|12.4878
+MACD|001605|ɳѡƱ Ʊ|3, 9, 9|21.4424
+MA|570001|ŵ¼ֵƻ |19, 6, 22|20.71597
+MACD|570001|ŵ¼ֵƻ |10, 44, 10|8.48075
+MA|110015|ҵȻ |19, 31, 23|2.97455
+MACD|110015|ҵȻ |7, 15, 4|13.6418
+MA|002624|㷢ѡ |1, 28, 27|10.57097
+MACD|002624|㷢ѡ |8, 14, 14|23.06265
+MA|163412|ȫʲ(LOF) |7, 7, 91|26.19975
+MACD|163412|ȫʲ(LOF) |5, 6, 5|26.19975
+MA|002666|ǰԴ³ɳA |3, 28, 78|7.89739
+MACD|002666|ǰԴ³ɳA |5, 11, 11|16.21011
+MA|180013|ȲԻ |19, 6, 22|23.81262
+MACD|180013|ȲԻ |4, 11, 30|17.53443
+MA|519008|ƾѡ |6, 38, 89|8.28596
+MACD|519008|ƾѡ |9, 18, 5|16.55979
+MA|003120|ʱԴC |8, 15, 85|31.23123
+MACD|003120|ʱԴC |2, 15, 6|31.1
+MA|002667|ǰԴ³ɳC |2, 41, 87|8.85945
+MACD|002667|ǰԴ³ɳC |5, 10, 9|15.94044
+MA|003119|ʱԴA |5, 5, 30|31.11
+MACD|003119|ʱԴA |2, 16, 5|30.97899
+MA|003243|ͶĦй QDII|19, 6, 22|20.5873
+MACD|003243|ͶĦй QDII|13, 14, 18|14.66119
+MA|310398|Ż300ֵָ Ʊָ|6, 5, 84|20.1868
+MACD|310398|Ż300ֵָ Ʊָ|11, 12, 15|19.01979
+MA|000634|ʢû |2, 28, 17|11.06087
+MACD|000634|ʢû |18, 19, 10|12.13345
+MA|000029|۲ |10, 5, 49|22.26549
+MACD|000029|۲ |4, 5, 25|22.26549
+MA|376510|Ͷ Ʊ|7, 7, 84|10.91174
+MACD|376510|Ͷ Ʊ|15, 10, 4|14.51515
+MA|118001|ѡ QDII|9, 7, 68|17.73667
+MACD|118001|ѡ QDII|3, 4, 4|16.97297
+MA|002121|㷢Ʊ Ʊ|5, 5, 20|22.18335
+MACD|002121|㷢Ʊ Ʊ|6, 4, 15|15.5304
+MA|002595|ʱҵ4.0Ʊ Ʊ|19, 10, 92|16.51665
+MACD|002595|ʱҵ4.0Ʊ Ʊ|8, 14, 14|15.78711
+MA|000988|ʵȫƱ QDII|19, 5, 79|5.25623
+MACD|000988|ʵȫƱ QDII|17, 4, 11|6.32999
+MA|001878|ʵѡƱ Ʊ|19, 6, 22|17.07622
+MACD|001878|ʵѡƱ Ʊ|10, 20, 28|13.01702
+MA|000835|ԪʱйA50ָ Ʊָ|5, 5, 16|23.74602
+MACD|000835|ԪʱйA50ָ Ʊָ|2, 26, 6|18.57745
+MA|160216|̩Ʒ QDII|5, 5, 22|26.06383
+MACD|160216|̩Ʒ QDII|5, 8, 19|26.73796
+MA|001236|ʱ˿·ƱA Ʊ|16, 5, 91|16.34311
+MACD|001236|ʱ˿·ƱA Ʊ|3, 16, 22|16.34311
+MA|002697|ŷƱC Ʊ|19, 6, 22|23.38723
+MACD|002697|ŷƱC Ʊ|3, 13, 21|21.53096
+MA|320010|ŵ֤100 Ʊָ|7, 5, 22|19.73492
+MACD|320010|ŵ֤100 Ʊָ|1, 8, 14|10.89744
+MA|160628|زּ Ʊָ|7, 7, 34|22.96029
+MACD|160628|زּ Ʊָ|3, 40, 24|20.03524
+MA|163406|ȫּ |4, 6, 62|15.65178
+MACD|163406|ȫּ |5, 6, 25|23.45624
+MA|002621|ŷƱA Ʊ|19, 6, 22|22.8198
+MACD|002621|ŷƱA Ʊ|2, 17, 24|21.07459
+MA|398061|кѻ |19, 16, 86|16.37537
+MACD|398061|кѻ |7, 11, 25|16.37537
+MA|001657|θȻ |16, 8, 70|25.35164
+MACD|001657|θȻ |17, 11, 18|17.23577
+MA|350005|й2025 |2, 50, 35|8.87772
+MACD|350005|й2025 |10, 14, 5|18.65999
+MA|002189|ũĸ |7, 7, 24|20.8751
+MACD|002189|ũĸ |3, 22, 15|11.69656
+MA|000127|ũҵȻ |10, 7, 39|20.25502
+MACD|000127|ũҵȻ |7, 25, 10|11.10177
+MA|161129|ԭA QDII|7, 7, 84|24.66741
+MACD|161129|ԭA QDII|5, 13, 26|24.42485
+MA|000167|㷢ûA |7, 7, 10|18.24881
+MACD|000167|㷢ûA |3, 9, 7|15.86179
+MA|519165|» |19, 6, 22|19.77556
+MACD|519165|» |4, 8, 29|19.77556
+MA|519702|ƻ |4, 45, 63|11.62672
+MACD|519702|ƻ |3, 7, 24|23.66049
+MA|000423|ǰԴ¼A |19, 6, 22|21.83107
+MACD|000423|ǰԴ¼A |5, 6, 8|21.16169
+MA|002124|㷢˲ҵ |19, 6, 22|22.08233
+MACD|002124|㷢˲ҵ |2, 26, 7|20.08566
+MA|160605|й50 |19, 7, 99|24.06592
+MACD|160605|й50 |4, 6, 8|20.00816
+MA|001892|ʢ˳ɳ |7, 7, 16|29.01588
+MACD|001892|ʢ˳ɳ |1, 39, 7|15.67735
+MA|001865|ǰԴ¼C |19, 6, 22|21.83232
+MACD|001865|ǰԴ¼C |3, 6, 11|21.20378
+MA|000020|˳ƷͶʻ |20, 43, 65|3.66622
+MACD|000020|˳ƷͶʻ |5, 11, 4|8.33023
+MA|002214|кֵѡ |19, 6, 22|8.74913
+MACD|002214|кֵѡ |7, 6, 10|7.77548
+MA|310358|¾û |18, 16, 65|2.1342
+MACD|310358|¾û |3, 20, 28|5.04307
+MA|002085|ʢ+ |7, 7, 16|29.2232
+MACD|002085|ʢ+ |1, 39, 8|15.99293
+MA|003940|ʢѡûϷʽ |17, 48, 91|5.21936
+MACD|003940|ʢѡûϷʽ |1, 18, 24|10.58112
+MA|004528|ʢʢͨծA none|1, 24, 10|27.2872
+MACD|004528|ʢʢͨծA none|1, 11, 9|27.08476
+MA|001581|ͨѡû |5, 5, 84|22.4601
+MACD|001581|ͨѡû |2, 11, 4|18.38473
+MA|002534|ȹծȯA ծȯ|9, 54, 57|0.0
+MACD|002534|ȹծȯA ծȯ|20, 9, 21|0.44229
+MA|000529|㷢ƻ |19, 6, 22|16.7311
+MACD|000529|㷢ƻ |14, 16, 9|14.91349
+MA|004374|̩˼ϷA |9, 7, 13|5.91029
+MACD|004374|̩˼ϷA |16, 4, 12|6.33173
+MA|004375|̩˼ϷC |9, 7, 13|5.81459
+MACD|004375|̩˼ϷC |17, 4, 12|6.36353
+MA|001681|»ֵû |7, 7, 62|23.98046
+MACD|001681|»ֵû |6, 7, 24|23.98046
+MA|004183|ҵ none|2, 10, 76|13.88915
+MACD|004183|ҵ none|6, 11, 25|21.56473
+MA|163411|ȫѡ |2, 55, 41|8.92616
+MACD|163411|ȫѡ |4, 5, 24|26.83414
+MA|001458|㷢֤ȫָҪA ӻ|16, 7, 91|19.30764
+MACD|001458|㷢֤ȫָҪA ӻ|2, 9, 24|15.97156
+MA|002976|㷢֤ȫָҪC ӻ|7, 7, 91|19.20761
+MACD|002976|㷢֤ȫָҪC ӻ|2, 15, 15|15.88894
+MA|163805|Ի |4, 6, 70|11.06403
+MACD|163805|Ի |3, 9, 8|6.54591
+MA|001528|ŵȽƱ Ʊ|7, 5, 22|23.68543
+MACD|001528|ŵȽƱ Ʊ|4, 8, 7|14.17792
+MA|003154|» |1, 57, 46|10.1251
+MACD|003154|» |2, 15, 28|19.22268
+MA|004357|Ϸǻۻ |2, 28, 39|9.35951
+MACD|004357|Ϸǻۻ |3, 11, 24|21.93866
+MA|001663|+Ʊ Ʊ|19, 5, 49|16.18394
+MACD|001663|+Ʊ Ʊ|19, 22, 26|16.64047
+MA|501018|Ϸԭ QDII|1, 48, 31|7.85182
+MACD|501018|Ϸԭ QDII|1, 13, 5|18.78048
+MA|001163|й30Ʊ Ʊ|19, 6, 22|20.77456
+MACD|001163|й30Ʊ Ʊ|2, 12, 24|18.76952
+MA|002989|ͨͨǬоѡ |1, 12, 13|13.45044
+MACD|002989|ͨͨǬоѡ |7, 4, 15|12.71702
+MA|001410|ŴԴҵƱ Ʊ|20, 9, 86|0.0
+MACD|001410|ŴԴҵƱ Ʊ|13, 10, 6|1.686
+MA|164508|֤100ָǿּ Ʊָ|7, 7, 84|19.19002
+MACD|164508|֤100ָǿּ Ʊָ|2, 31, 9|14.09542
+MA|000532|˳ҵ |19, 7, 91|23.48627
+MACD|000532|˳ҵ |3, 9, 5|21.16945
+MA|519732|֧˫Ϣƽ |5, 54, 42|6.54417
+MACD|519732|֧˫Ϣƽ |2, 8, 9|16.44217
+MA|002142|ʱû |6, 38, 13|3.15156
+MACD|002142|ʱû |3, 6, 4|3.59569
+MA|206002|ѡɳ |19, 6, 22|18.42954
+MACD|206002|ѡɳ |1, 38, 14|11.22717
+MA|001186|彡Ʊ Ʊ|3, 50, 43|5.65349
+MACD|001186|彡Ʊ Ʊ|14, 17, 26|13.47116
+MA|100026|Ƚѡ |1, 5, 34|3.74049
+MACD|100026|Ƚѡ |4, 8, 9|8.53868
+MA|001047|ĸƱ Ʊ|13, 8, 24|18.84208
+MACD|001047|ĸƱ Ʊ|2, 11, 28|18.01393
+MA|519196|û |2, 15, 10|9.83887
+MACD|519196|û |17, 12, 26|11.11495
+MA|519712|Ļ |3, 48, 12|9.07886
+MACD|519712|Ļ |4, 5, 18|11.91849
+MA|519035|첩 |19, 5, 79|17.46464
+MACD|519035|첩 |4, 17, 7|15.38408
+MA|003597|ʢʢڻC |19, 6, 22|16.63343
+MACD|003597|ʢʢڻC |1, 8, 26|10.61786
+MA|000001|ָ֤|9, 7, 33|13.30042
+MACD|000001|ָ֤|5, 42, 9|10.53893
+MA|000002|ָ|9, 7, 33|13.33075
+MACD|000002|ָ|5, 42, 9|10.55361
+MA|000003|¹ָ|8, 4, 16|7.82504
+MACD|000003|¹ָ|6, 35, 18|6.28743
+MA|000004|ҵָ|9, 7, 33|12.08445
+MACD|000004|ҵָ|2, 34, 6|11.47795
+MA|000005|ҵָ|9, 17, 21|3.35852
+MACD|000005|ҵָ|1, 8, 30|3.40761
+MA|000006|زָ|7, 6, 56|27.74703
+MACD|000006|زָ|9, 22, 8|27.25603
+MA|000007|ָ|1, 17, 26|2.8486
+MACD|000007|ָ|19, 13, 6|4.90651
+MA|000008|ۺָ|8, 5, 36|21.57696
+MACD|000008|ۺָ|3, 22, 15|20.34097
+MA|000009|֤380|9, 8, 22|7.19836
+MACD|000009|֤380|18, 11, 4|8.81905
+MA|000010|֤180|8, 6, 21|25.32315
+MACD|000010|֤180|2, 34, 30|24.36277
+MA|000011|ָ|9, 8, 40|11.25696
+MACD|000011|ָ|19, 27, 9|11.07025
+MA|000012|ծָ|9, 6, 46|0.92664
+MACD|000012|ծָ|7, 24, 10|0.7274
+MA|000013|ծָ|1, 20, 20|2.13239
+MACD|000013|ծָ|3, 22, 11|2.07276
+MA|000015|ָ|9, 6, 59|20.70243
+MACD|000015|ָ|7, 27, 4|20.6211
+MA|000016|֤50|5, 4, 22|34.11237
+MACD|000016|֤50|3, 42, 5|33.15233
+MA|000017|ָ|9, 6, 32|13.33326
+MACD|000017|ָ|5, 42, 9|10.55348
+MA|000018|180|10, 7, 48|32.38308
+MACD|000018|180|3, 38, 28|25.13646
+MA|000019|ָ|4, 4, 51|18.05163
+MACD|000019|ָ|19, 37, 30|18.28338
+MA|000021|180|9, 8, 51|26.01608
+MACD|000021|180|3, 50, 27|22.19288
+MA|000022|˾ծ|1, 10, 21|1.75054
+MACD|000022|˾ծ|1, 25, 4|1.73097
+MA|000025|180|5, 4, 34|5.54666
+MACD|000025|180|15, 22, 28|4.58516
+MA|000026|180Դ|4, 4, 22|28.92227
+MACD|000026|180Դ|16, 5, 30|19.46262
+MA|000027|180|4, 4, 49|32.85546
+MACD|000027|180|2, 31, 5|32.27131
+MA|000028|180ɳ|5, 4, 41|33.78924
+MACD|000028|180ɳ|1, 44, 4|35.79002
+MA|000030|180Rɳ|4, 4, 57|28.54271
+MACD|000030|180Rɳ|4, 34, 4|28.2352
+MA|000031|180Rֵ|5, 5, 27|23.22914
+MACD|000031|180Rֵ|1, 45, 25|21.05657
+MA|000032|֤Դ|4, 4, 34|13.21472
+MACD|000032|֤Դ|5, 11, 12|17.33865
+MA|000033|֤|5, 4, 34|24.85447
+MACD|000033|֤|16, 6, 19|13.40617
+MA|000034|֤ҵ|4, 4, 41|5.42947
+MACD|000034|֤ҵ|7, 20, 10|4.90636
+MA|000035|֤ѡ|5, 4, 41|8.66692
+MACD|000035|֤ѡ|19, 20, 27|7.69272
+MA|000036|֤|4, 4, 25|45.29508
+MACD|000036|֤|8, 21, 18|44.11303
+MA|000037|֤ҽҩ|5, 4, 41|19.43095
+MACD|000037|֤ҽҩ|7, 15, 29|16.77715
+MA|000038|֤|4, 4, 20|35.69207
+MACD|000038|֤|1, 38, 27|28.75442
+MA|000039|֤Ϣ|2, 8, 42|9.08734
+MACD|000039|֤Ϣ|3, 12, 4|8.22474
+MA|000040|֤|4, 4, 41|10.94645
+MACD|000040|֤|13, 30, 10|11.98957
+MA|000041|֤|5, 4, 57|1.17984
+MACD|000041|֤|10, 23, 7|0.0
+MA|000042|֤|4, 4, 41|24.06396
+MACD|000042|֤|15, 25, 11|20.54074
+MA|000043||4, 4, 31|26.06822
+MACD|000043||15, 28, 11|20.89461
+MA|000044|֤|4, 4, 49|12.20186
+MACD|000044|֤|14, 29, 9|11.95993
+MA|000045|֤С|5, 5, 41|5.57018
+MACD|000045|֤С|12, 22, 8|-0.09573
+MA|000046|֤С|4, 4, 26|5.40812
+MACD|000046|֤С|15, 29, 7|6.43986
+MA|000047|֤ȫָ|4, 4, 59|18.24753
+MACD|000047|֤ȫָ|15, 30, 11|17.72711
+MA|000048|ָ|4, 4, 35|28.85245
+MACD|000048|ָ|15, 30, 11|21.7464
+MA|000049|֤|4, 4, 38|23.661
+MACD|000049|֤|12, 25, 8|21.67459
+MA|000050|50Ȩ|4, 4, 41|18.17815
+MACD|000050|50Ȩ|15, 29, 11|15.96531
+MA|000051|180Ȩ|4, 4, 49|7.72909
+MACD|000051|180Ȩ|13, 29, 7|7.67015
+MA|000052|50|4, 4, 41|30.10156
+MACD|000052|50|10, 29, 8|22.09457
+MA|000053|180|4, 4, 41|25.12024
+MACD|000053|180|15, 30, 10|19.67431
+MA|399001|ָ֤|4, 4, 51|14.09072
+MACD|399001|ָ֤|11, 23, 7|9.38056
+MA|399002|ָR|4, 4, 54|14.15682
+MACD|399002|ָR|11, 23, 7|10.65939
+MA|399003|ɷݣָ|4, 4, 60|11.52215
+MACD|399003|ɷݣָ|15, 30, 11|10.09048
+MA|399004|֤100R|4, 4, 28|32.57285
+MACD|399004|֤100R|11, 22, 8|30.31821
+MA|399005|Сָ|4, 4, 35|15.31913
+MACD|399005|Сָ|13, 29, 9|10.21135
+MA|399006|ҵָ|4, 9, 37|0.32931
+MACD|399006|ҵָ|14, 24, 9|-3.47639
+MA|399007|֤300|4, 4, 31|17.80712
+MACD|399007|֤300|12, 22, 8|14.80193
+MA|399008|С300|4, 4, 46|8.0507
+MACD|399008|С300|14, 30, 7|4.17058
+MA|399009|֤200|1, 14, 27|0.99248
+MACD|399009|֤200|10, 25, 7|1.0173
+MA|399010|֤700|4, 8, 43|4.80871
+MACD|399010|֤700|15, 26, 11|0.0
+MA|399011|֤1000|4, 4, 56|2.00941
+MACD|399011|֤1000|15, 29, 10|6.30782
+MA|399012|ҵ300|2, 9, 42|0.07077
+MACD|399012|ҵ300|12, 30, 9|-3.4689
+MA|399013|оѡ|4, 4, 48|11.88163
+MACD|399013|оѡ|11, 22, 8|6.86013
+MA|399015|С|5, 7, 51|3.72382
+MACD|399015|С|10, 26, 9|-4.363
+MA|399016|֤|5, 15, 57|8.56922
+MACD|399016|֤|14, 28, 11|-4.28074
+MA|399017|SME|1, 14, 26|-0.02696
+MACD|399017|SME|13, 30, 11|-3.96341
+MA|399018|ҵ|1, 5, 59|1.07089
+MACD|399018|ҵ|15, 26, 11|0.0
+MA|399100|ָ|4, 14, 20|2.18547
+MACD|399100|ָ|11, 25, 11|5.12664
+MA|399101|С|1, 14, 27|-0.00375
+MACD|399101|С|15, 25, 11|1.40686
+MA|399102|ҵ|1, 4, 56|0.62591
+MACD|399102|ҵ|15, 29, 7|-3.28502
+MA|399103|ָָ|4, 4, 56|5.22897
+MACD|399103|ָָ|15, 26, 11|6.28425
+MA|399106|ָ֤|1, 13, 27|1.17366
+MACD|399106|ָ֤|10, 24, 7|3.74081
+MA|399107|ָ֤|2, 10, 29|1.17478
+MACD|399107|ָ֤|11, 22, 7|3.74137
+MA|399108|ָ֤|4, 4, 20|6.92561
+MACD|399108|ָ֤|11, 24, 11|5.8901
+MA|399231|ũָ|3, 14, 59|5.31592
+MACD|399231|ũָ|15, 30, 7|7.46542
+MA|399232|ɿָ|5, 4, 22|1.919
+MACD|399232|ɿָ|15, 30, 11|0.25213
+MA|399233|ָ|4, 11, 44|-0.14366
+MACD|399233|ָ|12, 22, 8|3.7001
+MA|399234|ˮָ|1, 5, 51|0.11406
+MACD|399234|ˮָ|10, 22, 9|-1.23743
+MA|399235|ָ|1, 5, 34|-0.00972
+MACD|399235|ָ|15, 30, 9|-7.84206
+MA|399236|ָ|5, 4, 27|0.27941
+MACD|399236|ָ|10, 24, 7|-0.02782
+MA|399237|ָ|1, 13, 27|1.44686
+MACD|399237|ָ|10, 22, 7|-8.33941
+MA|399238|ָ|1, 4, 34|1.07949
+MACD|399238|ָ|15, 27, 8|0.0
+MA|399239|ITָ|5, 9, 46|5.78768
+MACD|399239|ITָ|15, 26, 11|0.0
+MA|399240|ָ|1, 5, 20|7.15715
+MACD|399240|ָ|10, 23, 7|12.88254
+MA|399241|زָ|4, 4, 41|25.65285
+MACD|399241|زָ|15, 22, 9|24.85262
+MA|399242|ָ|1, 5, 31|4.09354
+MACD|399242|ָ|11, 24, 8|-8.7289
+MA|399243|ָ|4, 11, 29|22.65028
+MACD|399243|ָ|15, 29, 7|-8.68601
+MA|399244|ָ|4, 4, 41|2.72283
+MACD|399244|ָ|15, 24, 8|-1.9225
+MA|399248|Ļָ|2, 9, 45|4.41103
+MACD|399248|Ļָ|10, 24, 10|-4.64267
+MA|399249|ָ|1, 14, 27|-0.85169
+MACD|399249|ָ|15, 26, 8|0.0
+MA|399298|и|5, 14, 20|2.29562
+MACD|399298|и|10, 22, 7|1.1874
+MA|399299|е|4, 4, 41|2.77751
+MACD|399299|е|15, 26, 8|2.66597
+MA|399300|300|4, 4, 26|27.10965
+MACD|399300|300|14, 30, 7|26.35064
+MA|399301|ծ|3, 15, 20|2.55727
+MACD|399301|ծ|10, 26, 8|1.23422
+MA|399302|˾ծ|4, 14, 20|2.562
+MACD|399302|˾ծ|10, 22, 7|1.29736
+MA|399303|֤2000|5, 7, 44|3.89036
+MACD|399303|֤2000|10, 25, 7|0.95384
+MA|399306|֤ETF|4, 4, 28|20.96965
+MACD|399306|֤ETF|10, 24, 11|19.08031
+MA|399307|֤תծ|5, 4, 21|3.09106
+MACD|399307|֤תծ|12, 26, 9|2.15586
+MA|399310|֤50|4, 4, 41|42.71805
+MACD|399310|֤50|15, 26, 7|41.98073
+MA|001668|ȫ QDII|4, 4, 41|14.7401
+MACD|001668|ȫ QDII|15, 27, 10|8.03506
+MA|001659|¶ |4, 4, 41|18.09751
+MACD|001659|¶ |15, 30, 9|13.6374
+MA|100020|ֵ |1, 14, 57|2.89264
+MACD|100020|ֵ |10, 22, 7|10.62599
+MA|001714|ҵƱ Ʊ|2, 15, 43|9.38761
+MACD|001714|ҵƱ Ʊ|10, 22, 8|6.85927
+MA|519642| |4, 4, 41|17.48747
+MACD|519642| |10, 29, 7|10.0469
+MA|004263|û none|4, 4, 41|11.41803
+MACD|004263|û none|12, 26, 8|11.41803
+MA|004505|ʱ |4, 4, 41|18.40781
+MACD|004505|ʱ |13, 22, 7|12.73935
+MA|160218|̩֤زҵָּ Ʊָ|4, 4, 54|18.25133
+MACD|160218|̩֤زҵָּ Ʊָ|15, 29, 10|16.51388
diff --git a/stockdata/GAOpt100.txt b/stockdata/GAOpt100.txt
new file mode 100644
index 0000000..55410a2
--- /dev/null
+++ b/stockdata/GAOpt100.txt
@@ -0,0 +1,453 @@
+
+MACD|000018|180|15, 26, 8|22.30936
+MA|000019|ָ|6, 6, 29|17.80594
+MACD|000019|ָ|15, 30, 10|9.22657
+MA|000020|ָ|6, 14, 48|1.25486
+MACD|000020|ָ|10, 27, 8|-0.86807
+MA|000021|180|6, 6, 29|25.53164
+MACD|000021|180|15, 29, 10|20.75419
+MA|000022|˾ծ|2, 16, 23|1.73686
+MACD|000022|˾ծ|12, 22, 8|1.24243
+MA|000025|180|3, 9, 22|4.04991
+MACD|000025|180|12, 27, 7|1.22472
+MA|000026|180Դ|2, 13, 24|12.49502
+MACD|000026|180Դ|15, 30, 9|1.00286
+MA|000027|180|6, 18, 57|9.41673
+MACD|000027|180|11, 29, 7|31.92389
+MA|000028|180ɳ|5, 14, 35|11.03262
+MACD|000028|180ɳ|15, 29, 10|27.14122
+MA|000029|180ֵ|3, 12, 41|11.53913
+MACD|000029|180ֵ|14, 27, 8|21.95246
+MA|000030|180Rɳ|6, 15, 51|18.93202
+MACD|000030|180Rɳ|10, 28, 7|25.13673
+MA|000031|180Rֵ|3, 16, 55|9.67706
+MACD|000031|180Rֵ|15, 29, 10|19.60996
+MA|000032|֤Դ|2, 12, 21|12.48738
+MACD|000032|֤Դ|14, 26, 8|1.45369
+MA|000033|֤|3, 16, 21|9.19966
+MACD|000033|֤|15, 30, 8|0.76006
+MA|000034|֤ҵ|6, 12, 34|3.42715
+MACD|000034|֤ҵ|10, 22, 7|4.90636
+MA|000001|ָ֤|2, 16, 27|6.25213
+MACD|000001|ָ֤|15, 26, 8|8.8204
+MA|000002|ָ|2, 16, 27|6.27792
+MACD|000002|ָ|15, 26, 8|8.87341
+MA|000003|¹ָ|4, 13, 20|2.15388
+MACD|000003|¹ָ|15, 30, 10|6.11969
+MA|000004|ҵָ|2, 16, 23|5.54915
+MACD|000004|ҵָ|14, 26, 11|8.97696
+MA|000005|ҵָ|5, 12, 21|3.16432
+MACD|000005|ҵָ|15, 29, 11|0.0
+MA|000006|زָ|4, 12, 55|20.81004
+MACD|000006|زָ|15, 24, 9|20.01122
+MA|000007|ָ|2, 11, 25|2.8486
+MACD|000007|ָ|15, 29, 11|0.0
+MA|000008|ۺָ|5, 12, 41|10.04623
+MACD|000008|ۺָ|11, 26, 7|19.37983
+MA|000009|֤380|2, 7, 34|1.09071
+MACD|000009|֤380|13, 23, 11|4.62444
+MA|000010|֤180|2, 7, 56|9.42135
+MACD|000010|֤180|15, 29, 9|21.99683
+MA|000011|ָ|2, 9, 59|4.23744
+MACD|000011|ָ|14, 29, 10|11.07025
+MA|000012|ծָ|2, 16, 34|0.16567
+MACD|000012|ծָ|10, 24, 7|0.7274
+MA|000013|ծָ|2, 11, 27|2.08789
+MACD|000013|ծָ|12, 30, 10|2.06593
+MA|000015|ָ|3, 14, 50|10.0989
+MACD|000015|ָ|10, 24, 7|20.23897
+MA|000016|֤50|6, 10, 51|10.61882
+MACD|000016|֤50|15, 30, 10|25.42533
+MA|000017|ָ|2, 16, 27|6.27116
+MACD|000017|ָ|15, 26, 8|8.87827
+MA|000035|֤ѡ|3, 16, 20|4.18617
+MACD|000035|֤ѡ|10, 27, 7|7.19024
+MA|000036|֤|6, 12, 57|13.6696
+MACD|000036|֤|12, 22, 8|44.11303
+MA|000037|֤ҽҩ|5, 14, 43|2.65155
+MACD|000037|֤ҽҩ|15, 23, 7|16.77715
+MA|000038|֤|2, 17, 57|12.44444
+MACD|000038|֤|12, 30, 7|25.96199
+MA|000039|֤Ϣ|3, 7, 28|9.08734
+MACD|000039|֤Ϣ|14, 28, 11|-3.40234
+MA|000040|֤|6, 18, 27|17.68656
+MACD|000040|֤|13, 30, 10|11.98957
+MA|000041|֤|2, 14, 23|0.54543
+MACD|000041|֤|10, 23, 7|0.0
+MA|000042|֤|6, 18, 60|11.32065
+MACD|000042|֤|15, 25, 11|20.54074
+MA|000043||2, 7, 47|11.51203
+MACD|000043||15, 28, 11|20.89461
+MA|000044|֤|3, 17, 21|5.40083
+MACD|000044|֤|14, 29, 9|11.95993
+MA|000045|֤С|2, 15, 35|0.53516
+MACD|000045|֤С|12, 22, 8|-0.09573
+MA|000046|֤С|4, 18, 24|3.22797
+MACD|000046|֤С|14, 28, 8|6.43986
+MA|000047|֤ȫָ|5, 18, 48|7.11406
+MACD|000047|֤ȫָ|15, 31, 11|17.72711
+MA|000048|ָ|4, 17, 51|10.36821
+MACD|000048|ָ|15, 31, 12|22.32677
+MA|000049|֤|3, 11, 42|6.63345
+MACD|000049|֤|11, 25, 8|21.67459
+MA|000050|50Ȩ|3, 9, 34|8.93702
+MACD|000050|50Ȩ|15, 30, 12|16.57635
+MA|000051|180Ȩ|2, 12, 21|5.77748
+MACD|000051|180Ȩ|14, 31, 7|7.67015
+MA|000052|50|2, 9, 57|12.38291
+MACD|000052|50|11, 30, 8|22.09457
+MA|000053|180|4, 14, 56|10.46637
+MACD|000053|180|15, 26, 7|19.67431
+MA|399001|ָ֤|2, 18, 27|3.3799
+MACD|399001|ָ֤|15, 27, 12|9.46976
+MA|399002|ָR|2, 18, 27|3.35718
+MACD|399002|ָR|11, 22, 8|10.65939
+MA|399003|ɷݣָ|2, 12, 21|6.84482
+MACD|399003|ɷݣָ|9, 29, 7|11.52644
+MA|399004|֤100R|2, 16, 42|7.81221
+MACD|399004|֤100R|9, 21, 8|30.8456
+MA|399005|Сָ|2, 13, 56|-0.12722
+MACD|399005|Сָ|10, 28, 12|10.52294
+MA|399006|ҵָ|4, 12, 34|0.32931
+MACD|399006|ҵָ|10, 26, 12|-3.47639
+MA|399007|֤300|5, 14, 51|4.03324
+MACD|399007|֤300|9, 23, 6|14.80193
+MA|399008|С300|2, 13, 21|-0.28394
+MACD|399008|С300|15, 28, 6|4.17058
+MA|399009|֤200|4, 14, 45|0.08615
+MACD|399009|֤200|9, 21, 6|2.5679
+MA|399010|֤700|4, 8, 43|4.80871
+MACD|399010|֤700|14, 30, 11|0.0
+MA|399011|֤1000|4, 18, 37|1.64847
+MACD|399011|֤1000|15, 26, 10|6.30782
+MA|399012|ҵ300|4, 12, 27|0.07077
+MACD|399012|ҵ300|15, 29, 8|-3.4689
+MA|399013|оѡ|2, 18, 27|2.78964
+MACD|399013|оѡ|9, 25, 6|7.29704
+MA|399015|С|5, 7, 46|3.72382
+MACD|399015|С|11, 21, 6|0.79099
+MA|399016|֤|5, 15, 41|8.56922
+MACD|399016|֤|14, 30, 10|-4.25027
+MA|399017|SME|2, 6, 20|-0.14092
+MACD|399017|SME|9, 24, 6|2.73145
+MA|399018|ҵ|4, 9, 20|0.0
+MACD|399018|ҵ|15, 24, 11|0.0
+MA|399100|ָ|2, 19, 20|2.18547
+MACD|399100|ָ|14, 24, 9|5.12664
+MA|399101|С|5, 5, 46|3.58904
+MACD|399101|С|15, 25, 12|1.40686
+MA|399102|ҵ|5, 9, 29|0.0
+MACD|399102|ҵ|13, 30, 8|-3.28502
+MA|399103|ָָ|5, 5, 28|5.22897
+MACD|399103|ָָ|15, 25, 10|6.28425
+MA|399106|ָ֤|2, 9, 31|1.17366
+MACD|399106|ָ֤|9, 24, 8|3.74081
+MA|399107|ָ֤|2, 9, 31|1.17478
+MACD|399107|ָ֤|9, 24, 8|3.74137
+MA|399108|ָ֤|5, 5, 54|9.53845
+MACD|399108|ָ֤|13, 22, 9|5.98615
+MA|399231|ũָ|3, 14, 58|5.31592
+MACD|399231|ũָ|15, 30, 7|7.46542
+MA|399232|ɿָ|5, 9, 44|0.29197
+MACD|399232|ɿָ|15, 31, 10|0.25213
+MA|399233|ָ|5, 5, 42|6.0521
+MACD|399233|ָ|9, 24, 11|3.7001
+MA|399234|ˮָ|2, 5, 36|-0.30361
+MACD|399234|ˮָ|11, 23, 8|-1.23743
+MA|399235|ָ|5, 6, 56|1.35454
+MACD|399235|ָ|14, 28, 10|-7.84206
+MA|399236|ָ|5, 9, 48|-0.03059
+MACD|399236|ָ|9, 23, 8|-0.02782
+MA|399237|ָ|2, 9, 21|1.44686
+MACD|399237|ָ|15, 30, 12|-5.49396
+MA|399238|ָ|4, 6, 37|0.2954
+MACD|399238|ָ|14, 25, 8|0.0
+MA|399239|ITָ|5, 9, 45|5.78768
+MACD|399239|ITָ|15, 25, 12|0.0
+MA|399240|ָ|2, 9, 21|6.85854
+MACD|399240|ָ|9, 30, 6|12.88254
+MA|399241|زָ|5, 5, 51|26.19015
+MACD|399241|زָ|12, 24, 12|24.85262
+MA|399242|ָ|2, 9, 21|4.09354
+MACD|399242|ָ|9, 21, 6|2.62408
+MA|399243|ָ|4, 11, 28|22.65028
+MACD|399243|ָ|15, 31, 7|-7.98793
+MA|399244|ָ|5, 5, 28|2.72283
+MACD|399244|ָ|14, 22, 9|-1.9225
+MA|399248|Ļָ|3, 9, 30|4.41103
+MACD|399248|Ļָ|15, 25, 12|0.0
+MA|399249|ָ|2, 9, 21|-0.85169
+MACD|399249|ָ|11, 24, 7|0.0
+MA|399298|и|4, 18, 21|2.29562
+MACD|399298|и|9, 22, 6|1.49463
+MA|399299|е|5, 5, 28|2.76877
+MACD|399299|е|15, 24, 8|2.66597
+MA|399300|300|5, 5, 21|27.10965
+MACD|399300|300|14, 31, 10|26.35064
+MA|399301|ծ|2, 19, 24|2.55727
+MACD|399301|ծ|9, 24, 6|1.5308
+MA|399302|˾ծ|2, 16, 21|2.56587
+MACD|399302|˾ծ|9, 22, 6|1.76591
+MA|399303|֤2000|5, 7, 51|3.89036
+MACD|399303|֤2000|9, 29, 7|1.09386
+MA|399306|֤ETF|5, 5, 24|20.96965
+MACD|399306|֤ETF|9, 24, 8|19.08031
+MA|399307|֤תծ|4, 9, 20|2.22685
+MACD|399307|֤תծ|15, 25, 6|2.15586
+MA|399310|֤50|5, 5, 28|42.35191
+MACD|399310|֤50|14, 29, 6|41.98073
+MA|002963|egold|3, 18, 20|2.00703
+MACD|002963|egold|13, 29, 11|0.03044
+MA|003321|eoil|2, 9, 32|3.20248
+MACD|003321|eoil|15, 30, 10|18.47168
+MA|004744|eGEI|3, 9, 56|0.31462
+MACD|004744|eGEI|11, 31, 11|0.0
+MA|110003|eSSE50|5, 5, 28|22.44016
+MACD|110003|eSSE50|9, 22, 6|8.64163
+MA|110020|HS300|5, 5, 28|12.92021
+MACD|110020|HS300|14, 24, 7|0.0
+MA|110031|eHSI|5, 5, 28|17.44001
+MACD|110031|eHSI|15, 31, 10|11.74248
+MA|161130|eNASDAQ100|5, 5, 28|11.6675
+MACD|161130|eNASDAQ100|15, 24, 10|6.65961
+MA|110028|anxinB|5, 5, 24|4.65936
+MACD|110028|anxinB|15, 31, 12|2.72238
+MA|110022|eConsumption |5, 5, 28|32.07768
+MACD|110022|eConsumption |13, 30, 6|14.20697
+MA|161125|SPX500|5, 5, 28|11.17264
+MACD|161125|SPX500|9, 24, 6|5.88507
+MA|161725|ָּ֤ Ʊָ|3, 17, 20|12.66606
+MACD|161725|ָּ֤ Ʊָ|9, 24, 6|7.20346
+MA|160222|̩֤ʳƷҵָּ Ʊָ|5, 5, 28|29.16321
+MACD|160222|̩֤ʳƷҵָּ Ʊָ|9, 25, 9|10.29204
+MA|000248|֤ҪETF ӻ|5, 5, 28|31.82672
+MACD|000248|֤ҪETF ӻ|9, 24, 9|10.68504
+MA|162605|˳Ƕ(LOF) |5, 5, 28|30.03619
+MACD|162605|˳Ƕ(LOF) |15, 30, 11|8.03759
+MA|260108|˳˳ɳ |5, 5, 28|18.95496
+MACD|260108|˳˳ɳ |10, 22, 10|0.0
+MA|001740|й2025 |2, 9, 46|22.36529
+MACD|001740|й2025 |15, 24, 12|21.17808
+MA|160632|Ʒּ Ʊָ|5, 5, 28|23.81611
+MACD|160632|Ʒּ Ʊָ|9, 24, 6|10.75252
+MA|000083|ҵ |5, 5, 28|31.11461
+MACD|000083|ҵ |15, 25, 12|12.60671
+MA|001542|̩+Ʊ Ʊ|5, 5, 28|17.50802
+MACD|001542|̩+Ʊ Ʊ|15, 31, 12|10.18592
+MA|000619|ҵ |4, 9, 57|12.92338
+MACD|000619|ҵ |15, 25, 12|11.01842
+MA|070032|ʵŻ |5, 5, 28|26.68715
+MACD|070032|ʵŻ |13, 30, 12|12.19877
+MA|180012|ԣ |5, 5, 57|21.21962
+MACD|180012|ԣ |10, 24, 8|4.87535
+MA|481012|֤ ӻ|5, 5, 28|28.52387
+MACD|481012|֤ ӻ|9, 24, 6|20.15778
+MA|519664|A |4, 9, 41|13.87287
+MACD|519664|A |9, 24, 6|11.42729
+MA|001112|йƻ |5, 5, 28|23.53577
+MACD|001112|йƻ |9, 24, 8|6.71455
+MA|519665|C |4, 9, 41|13.73585
+MACD|519665|C |9, 24, 6|11.32039
+MA|001387|¾ûA |2, 9, 36|0.86907
+MACD|001387|¾ûA |15, 29, 12|0.0
+MA|310388| |5, 17, 33|1.94631
+MACD|310388| |15, 29, 12|1.15204
+MA|001076|ĸ |3, 11, 36|12.45559
+MACD|001076|ĸ |15, 30, 10|10.94844
+MA|206007|ѡ |4, 11, 35|11.48935
+MACD|206007|ѡ |15, 31, 12|11.34128
+MA|260116|˳ǺľA |5, 5, 28|27.74449
+MACD|260116|˳ǺľA |13, 30, 9|14.24889
+MA|000462|ũֶ |3, 11, 57|13.72375
+MACD|000462|ũֶ |15, 24, 12|11.32905
+MA|000742|̩¾û |5, 5, 28|14.26838
+MACD|000742|̩¾û |14, 24, 8|4.66296
+MA|001606|ũҵ4.0 |5, 5, 28|22.71381
+MACD|001606|ũҵ4.0 |13, 27, 10|8.94718
+MA|550016|ųԶC ּܸ|5, 5, 28|46.42819
+MACD|550016|ųԶC ּܸ|13, 24, 8|40.9415
+MA|001208|ŵ̼ùƱ Ʊ|5, 5, 28|26.22243
+MACD|001208|ŵ̼ùƱ Ʊ|9, 25, 7|10.86635
+MA|519772|û |5, 5, 33|7.32574
+MACD|519772|û |9, 24, 8|13.37339
+MA|260110|˳Ǿѡ |2, 9, 54|2.97532
+MACD|260110|˳Ǿѡ |15, 24, 7|-1.82216
+MA|000854|ϲҵ Ʊ|5, 11, 35|11.23595
+MACD|000854|ϲҵ Ʊ|9, 29, 6|18.5255
+MA|660010|ũԾѡ |5, 9, 58|9.29739
+MACD|660010|ũԾѡ |9, 24, 6|11.16404
+MA|165312|50 Ʊָ|2, 9, 20|2.80028
+MACD|165312|50 Ʊָ|14, 24, 8|0.0
+MA|040008|ѡ |5, 5, 45|17.21688
+MACD|040008|ѡ |9, 24, 6|7.42604
+MA|360007|û |2, 18, 21|20.28213
+MACD|360007|û |9, 24, 6|15.66665
+MA|169101| |2, 14, 57|9.25694
+MACD|169101| |14, 24, 8|7.90809
+MA|001631|֤ʳƷָA Ʊָ|5, 5, 28|22.53268
+MACD|001631|֤ʳƷָA Ʊָ|9, 21, 6|10.18305
+MA|001281|ѡA |5, 5, 21|23.91732
+MACD|001281|ѡA |14, 24, 6|10.05931
+MA|001287|A |5, 5, 28|21.04136
+MACD|001287|A |9, 24, 8|9.37687
+MA|000431|Ʒƴл |5, 11, 35|11.3846
+MACD|000431|Ʒƴл |15, 31, 12|11.07392
+MA|002072|ѡC |5, 5, 21|23.86419
+MACD|002072|ѡC |14, 21, 7|10.05757
+MA|519690|ȽûA |4, 7, 43|1.80661
+MACD|519690|ȽûA |11, 31, 11|-5.47862
+MA|001632|֤ʳƷָC Ʊָ|5, 5, 28|22.42101
+MACD|001632|֤ʳƷָC Ʊָ|9, 21, 6|10.11126
+MA|001170|̩˻ |5, 9, 43|10.9261
+MACD|001170|̩˻ |9, 24, 8|10.49067
+MA|519066|Ƚ |5, 5, 28|14.34914
+MACD|519066|Ƚ |9, 24, 6|0.94332
+MA|540009|Ѻ Ʊ|5, 5, 28|10.10499
+MACD|540009|Ѻ Ʊ|14, 24, 6|8.39297
+MA|110011|С̻ |5, 5, 28|23.0047
+MACD|110011|С̻ |15, 31, 11|9.72689
+MA|540012|źͷָA Ʊָ|5, 5, 32|14.3273
+MACD|540012|źͷָA Ʊָ|15, 24, 7|11.49186
+MA|530015|֤60 ӻ|5, 5, 28|23.85793
+MACD|530015|֤60 ӻ|9, 22, 6|17.86439
+MA|217027|Ӳƾ50ָA Ʊָ|5, 5, 21|20.89197
+MACD|217027|Ӳƾ50ָA Ʊָ|9, 21, 6|10.23026
+MA|001044|ʵѹƱ Ʊ|5, 5, 21|19.57668
+MACD|001044|ʵѹƱ Ʊ|9, 24, 6|6.10205
+MA|519068|ɳ |5, 5, 28|23.91683
+MA|000018|180|5, 5, 21|30.76524
+MACD|519068|ɳ |13, 34, 12|7.29549
+MA|270050|㷢¾û |3, 8, 50|3.38248
+MACD|270050|㷢¾û |3, 26, 8|6.71152
+MA|270041|㷢Ʒѡ |5, 9, 43|6.3973
+MACD|270041|㷢Ʒѡ |3, 38, 19|5.65656
+MA|502056|㷢ҽָּ Ʊָ|4, 18, 21|1.30692
+MACD|502056|㷢ҽָּ Ʊָ|3, 33, 7|1.19178
+MA|270042|㷢˹100ָ QDII-ָ|5, 5, 28|12.66666
+MACD|270042|㷢˹100ָ QDII-ָ|5, 26, 6|7.20149
+MA|270010|㷢300ETFA ӻ|5, 5, 28|9.83318
+MACD|270010|㷢300ETFA ӻ|7, 22, 11|5.37862
+
+MA|002124|㷢˲ҵ|2, 9, 54|14.20545
+MACD|002124|㷢˲ҵ|3, 23, 6|14.9767
+
+MA|002124|㷢˲ҵ|2, 9, 46|14.20545
+MACD|002124|㷢˲ҵ|3, 23, 6|14.63508
+MA|002963|egold|5, 6, 17|1.40699
+MACD|002963|egold|20, 26, 19|0.0
+MA|003321|eoil|5, 19, 10|16.64486
+MACD|003321|eoil|18, 26, 5|15.66147
+MA|004744|eGEI|2, 7, 13|0.68801
+MACD|004744|eGEI|19, 26, 10|0.0
+MA|110003|eSSE50|3, 19, 21|8.82616
+MACD|110003|eSSE50|3, 26, 5|15.25248
+MA|110020|HS300|2, 6, 55|6.33577
+MACD|110020|HS300|20, 39, 5|4.12515
+MA|110031|eHSI|3, 9, 19|10.72522
+MACD|110031|eHSI|3, 26, 13|10.08802
+MA|161130|eNASDAQ100|4, 10, 48|5.9706
+MACD|161130|eNASDAQ100|10, 26, 8|5.59138
+MA|110028|anxinB|2, 6, 8|3.53012
+MACD|110028|anxinB|15, 26, 13|0.44179
+MA|110022|eConsumption |5, 14, 60|13.26343
+MACD|110022|eConsumption |4, 27, 5|13.66247
+MA|161125|SPX500|2, 7, 22|2.63515
+MACD|161125|SPX500|4, 24, 12|5.59204
+MA|002124|㷢˲ҵ|2, 9, 46|14.20545
+MA|270007|㷢̳ɳ |5, 8, 42|6.85049
+MACD|270007|㷢̳ɳ |5, 26, 6|7.63547
+MA|270023|㷢ȫѡƱ(QDII) QDII|2, 9, 7|6.38554
+MACD|270023|㷢ȫѡƱ(QDII) QDII|18, 26, 8|3.88429
+MA|270002|㷢Ƚ |3, 9, 30|0.39729
+MACD|270002|㷢Ƚ |3, 24, 11|2.34982
+MA|270021|㷢 |3, 8, 18|0.55083
+MACD|270021|㷢 |9, 21, 20|0.0
+MA|162714|㷢֤100ָּ Ʊָ|3, 9, 60|3.12348
+MACD|162714|㷢֤100ָּ Ʊָ|5, 26, 8|0.61804
+MA|270001|㷢۸ |2, 7, 57|2.60364
+MACD|270001|㷢۸ |9, 26, 16|0.0
+MA|270025|㷢ҵȻA |2, 9, 59|8.20512
+MACD|270025|㷢ҵȻA |5, 26, 15|0.0
+MA|270028|㷢ҵѡ |2, 6, 46|0.55866
+MACD|270028|㷢ҵѡ |16, 26, 13|0.0
+MA|270027|㷢ȫũҵָ QDII-ָ|2, 17, 54|2.50809
+MACD|270027|㷢ȫũҵָ QDII-ָ|4, 21, 9|2.19256
+MA|270044|㷢˫ծծȯA ծȯ|5, 19, 44|2.33871
+MACD|270044|㷢˫ծծȯA ծȯ|4, 21, 5|2.07336
+MA|270006|㷢ѡ |5, 12, 55|2.23843
+MACD|270006|㷢ѡ |9, 22, 16|8.38594
+MA|270045|㷢˫ծծȯC ծȯ|4, 19, 57|2.1987
+MACD|270045|㷢˫ծծȯC ծȯ|3, 30, 5|1.76328
+MA|162719|㷢˹ʯָA QDII-ָ|5, 18, 32|10.05345
+MACD|162719|㷢˹ʯָA QDII-ָ|3, 33, 5|10.27079
+MA|270048|㷢ծծȯA ծȯ|2, 9, 11|0.0
+MACD|270048|㷢ծծȯA ծȯ|4, 33, 20|-0.25338
+MA|270049|㷢ծծȯC ծȯ|2, 9, 7|-0.00854
+MACD|270049|㷢ծծȯC ծȯ|16, 21, 10|0.0
+MA|270022|㷢 |5, 8, 9|0.41537
+MACD|270022|㷢 |4, 28, 19|3.84968
+MA|270029|㷢۲ծȯA ծȯ|4, 11, 55|0.62893
+MACD|270029|㷢۲ծȯA ծȯ|3, 36, 5|1.53218
+MA|270030|㷢۲ծȯB ծȯ|5, 15, 14|0.53832
+MACD|270030|㷢۲ծȯB ծȯ|3, 30, 5|1.27757
+MA|162703|㷢С̳ɳ(LOF) |2, 6, 13|0.15417
+MACD|162703|㷢С̳ɳ(LOF) |3, 36, 17|16.07934
+MA|270008|㷢ľѡ |2, 9, 21|1.3269
+MACD|270008|㷢ľѡ |3, 26, 7|2.23394
+MA|270026|㷢С300 ӻ|2, 9, 8|-1.47176
+MACD|270026|㷢С300 ӻ|3, 37, 6|5.50068
+MA|270005|㷢۷ |2, 7, 40|1.0468
+MACD|270005|㷢۷ |5, 30, 19|1.4657
+MA|501303|㷢ָA none|3, 8, 9|5.26208
+MACD|501303|㷢ָA none|16, 26, 17|0.0
+MA|004119|㷢û |5, 9, 7|5.21415
+MACD|004119|㷢û |3, 26, 7|12.67661
+MA|270009|㷢ǿծȯ ծȯ|5, 9, 16|0.43867
+MACD|270009|㷢ǿծȯ ծȯ|5, 26, 5|0.89029
+MA|004243|㷢˹ʯָC QDII-ָ|5, 19, 36|9.97267
+MACD|004243|㷢˹ʯָC QDII-ָ|3, 26, 6|10.04748
+MA|162712|㷢ծȯ(LOF) ծȯ|3, 12, 8|0.76706
+MACD|162712|㷢ծȯ(LOF) ծȯ|3, 30, 5|1.40935
+MA|003745|㷢Ԫ˹Ʊ Ʊ|5, 9, 18|1.67859
+MACD|003745|㷢Ԫ˹Ʊ Ʊ|3, 26, 7|4.92835
+MA|002976|㷢֤ȫָҪC ӻ|3, 12, 40|6.18633
+MACD|002976|㷢֤ȫָҪC ӻ|3, 36, 8|21.92601
+MA|002987|㷢300ETFC ӻ|5, 9, 57|9.83236
+MACD|002987|㷢300ETFC ӻ|9, 25, 9|18.17226
+MA|002624|㷢ѡ |3, 9, 30|22.22221
+MACD|002624|㷢ѡ |3, 26, 5|32.82629
+MA|002979|㷢֤ȫָڵزC ӻ|2, 6, 14|8.20811
+MACD|002979|㷢֤ȫָڵزC ӻ|20, 30, 7|21.42019
+MA|162711|㷢֤500ETFA ӻ|2, 9, 8|-0.50599
+MACD|162711|㷢֤500ETFA ӻ|3, 26, 6|6.36342
+MA|002939|㷢 |3, 9, 58|0.86664
+MACD|002939|㷢 |9, 21, 11|20.40406
+MA|004855|㷢֤ȫָָC none|5, 9, 55|-1.88826
+MACD|004855|㷢֤ȫָָC none|20, 26, 10|0.0
+MA|002121|㷢Ʊ Ʊ|2, 9, 54|9.89323
+MACD|002121|㷢Ʊ Ʊ|4, 26, 12|36.46479
+MA|005402|㷢ԴѡƱ none|2, 9, 14|3.2046
+MA|002863|ڳɳϷʽ |3, 9, 46|-0.18518
+MACD|002863|ڳɳϷʽ |16, 26, 17|0.0
+MA|164908|֤(LOF) Ʊָ|2, 6, 52|4.26195
+MACD|164908|֤(LOF) Ʊָ|17, 26, 13|0.0
+MA|501030|ָ֤A Ʊָ|4, 7, 52|4.12179
+MACD|501030|ָ֤A Ʊָ|14, 26, 15|0.0
+MA|501031|ָ֤C Ʊָ|4, 7, 52|4.15547
+MACD|501031|ָ֤C Ʊָ|15, 26, 13|0.0
+MA|001822|û |2, 6, 55|2.39453
+MACD|001822|û |3, 38, 9|2.96912
+MA|000800|δ |2, 7, 21|-0.43812
+MACD|000800|δ |3, 36, 20|-1.2987
+MA|630011|⾫ѡ |2, 12, 17|-0.50761
+MACD|630011|⾫ѡ |3, 23, 6|0.81522
+MA|000654|ҵ |2, 9, 10|-1.16279
+MACD|000654|ҵ |3, 22, 5|0.16794
+MA|630005|̶̬ |5, 12, 12|-0.53476
+MACD|630005|̶̬ |5, 21, 20|-1.63609
+MA|001679|ǰԴйϡȱʲA |5, 19, 58|2.45041
+MACD|001679|ǰԴйϡȱʲA |3, 26, 6|-2.80843
+MA|001071|ý廥 |2, 6, 55|-1.82167
+MACD|001071|ý廥 |15, 32, 13|11.54683
+MA|002079|ǰԴйϡȱʲC |4, 7, 15|0.22857
+MACD|002079|ǰԴйϡȱʲC |3, 21, 5|-2.6422
diff --git a/stockdata/IgnoreListStock.txt b/stockdata/IgnoreListStock.txt
new file mode 100644
index 0000000..e69de29
diff --git a/stockdata/dongfangcf/399300.csv b/stockdata/dongfangcf/399300.csv
new file mode 100644
index 0000000..fec7939
--- /dev/null
+++ b/stockdata/dongfangcf/399300.csv
@@ -0,0 +1,250 @@
+,Ʊ,,̼,,ͼ,̼,ǰ,ǵ,ǵ,,ɽ,ɽ,ֵ,ֵͨ
+2018-02-02,'399300,300,4271.2326,4271.7647,4181.7793,4213.9386,4245.8978,25.3348,0.5967,,14606682700,1.91169867288e+11,,
+2018-02-01,'399300,300,4245.8978,4287.3888,4214.2909,4276.3425,4275.8986,-30.0008,-0.7016,,19000293400,2.39230298932e+11,,
+2018-01-31,'399300,300,4275.8986,4287.8576,4232.7727,4234.1101,4256.1021,19.7965,0.4651,,14521016400,1.94401798025e+11,,
+2018-01-30,'399300,300,4256.1021,4308.5115,4251.5706,4286.6834,4302.0181,-45.916,-1.0673,,13903473000,1.86650566154e+11,,
+2018-01-29,'399300,300,4302.0181,4395.9053,4287.1124,4387.0577,4381.2996,-79.2815,-1.8095,,19110035400,2.56176323789e+11,,
+2018-01-26,'399300,300,4381.2996,4403.3375,4351.4871,4352.2211,4365.0794,16.2202,0.3716,,17722723700,2.23331309122e+11,,
+2018-01-25,'399300,300,4365.0794,4392.1963,4336.2386,4381.9768,4389.8853,-24.8059,-0.5651,,19537495000,2.5030809187e+11,,
+2018-01-24,'399300,300,4389.8853,4397.8196,4349.0865,4389.4547,4382.6129,7.2724,0.1659,,21981888900,2.8447080953e+11,,
+2018-01-23,'399300,300,4382.6129,4383.5722,4346.7925,4346.8885,4336.5974,46.0155,1.0611,,20186758500,2.57113359897e+11,,
+2018-01-22,'399300,300,4336.5974,4338.4832,4275.8977,4276.4811,4285.395,51.2024,1.1948,,17464319500,2.33960223311e+11,,
+2018-01-19,'399300,300,4285.395,4316.5714,4269.6167,4281.9371,4271.4168,13.9782,0.3272,,20949057000,2.5855472536e+11,,
+2018-01-18,'399300,300,4271.4168,4292.6372,4246.684,4259.375,4248.1164,23.3004,0.5485,,17203284600,2.25289688909e+11,,
+2018-01-17,'399300,300,4248.1164,4283.3449,4230.5367,4261.7833,4258.473,-10.3566,-0.2432,,21431103200,2.84554359815e+11,,
+2018-01-16,'399300,300,4258.473,4260.2118,4213.1275,4215.6247,4225.2393,33.2337,0.7866,,16149496300,2.28271224756e+11,,
+2018-01-15,'399300,300,4225.2393,4262.9314,4216.3585,4229.8357,4225.001,0.2383,0.0056,,17090789700,2.34986586088e+11,,
+2018-01-12,'399300,300,4225.001,4227.3923,4199.0251,4205.1444,4205.5863,19.4147,0.4616,,11135479400,1.57606210635e+11,,
+2018-01-11,'399300,300,4205.5863,4211.799,4181.9572,4197.1136,4207.8132,-2.2269,-0.0529,,12157853900,1.70407305946e+11,,
+2018-01-10,'399300,300,4207.8132,4211.0549,4175.1355,4187.2044,4189.2977,18.5155,0.442,,15112166600,1.94850253886e+11,,
+2018-01-09,'399300,300,4189.2977,4191.2843,4153.5021,4157.5394,4160.1595,29.1382,0.7004,,13903429400,1.81975079758e+11,,
+2018-01-08,'399300,300,4160.1595,4166.3182,4127.3081,4140.8545,4138.7505,21.409,0.5173,,17387766600,2.26403872932e+11,,
+2018-01-05,'399300,300,4138.7505,4151.2818,4123.2817,4133.3439,4128.8119,9.9386,0.2407,,14900987200,1.85206293226e+11,,
+2018-01-04,'399300,300,4128.8119,4137.642,4105.8858,4114.1213,4111.3925,17.4194,0.4237,,13454379400,1.74523556133e+11,,
+2018-01-03,'399300,300,4111.3925,4140.0543,4088.7302,4091.4607,4087.4012,23.9913,0.587,,15185221800,2.05726889556e+11,,
+2018-01-02,'399300,300,4087.4012,4087.7789,4045.2086,4045.2086,4030.8549,56.5463,1.4028,,14693543500,1.78402032874e+11,,
+2017-12-29,'399300,300,4030.8549,4043.14,4012.8749,4022.8826,4018.8974,11.9575,0.2975,,9048668300,1.21257038529e+11,,
+2017-12-28,'399300,300,4018.8974,4036.6975,3980.2358,3992.997,3991.2075,27.6899,0.6938,,11854288600,1.53636695762e+11,,
+2017-12-27,'399300,300,3991.2075,4047.7366,3986.7385,4045.2793,4053.6224,-62.4149,-1.5397,,10515357700,1.40516907102e+11,,
+2017-12-26,'399300,300,4053.6224,4056.8554,4015.2996,4040.6173,4041.5401,12.0823,0.299,,9111879000,1.19725100617e+11,,
+2017-12-25,'399300,300,4041.5401,4086.9342,4026.4496,4057.4173,4054.5984,-13.0583,-0.3221,,9192696200,1.29938839152e+11,,
+2017-12-22,'399300,300,4054.5984,4076.8028,4048.4913,4064.9131,4067.8485,-13.2501,-0.3257,,7347368400,1.04426496022e+11,,
+2017-12-21,'399300,300,4067.8485,4080.781,4014.6526,4023.076,4030.4898,37.3587,0.9269,,9683608900,1.37819520871e+11,,
+2017-12-20,'399300,300,4030.4898,4044.8485,4015.6285,4036.019,4035.3294,-4.8396,-0.1199,,9060450300,1.26812878124e+11,,
+2017-12-19,'399300,300,4035.3294,4035.6296,3985.8233,3985.8233,3985.2914,50.038,1.2556,,7752898500,1.15998204342e+11,,
+2017-12-18,'399300,300,3985.2914,4008.0688,3967.9343,3983.2965,3980.8558,4.4356,0.1114,,7785337500,1.11724349856e+11,,
+2017-12-15,'399300,300,3980.8558,4020.2668,3974.9277,4018.7313,4026.1516,-45.2958,-1.125,,8904438900,1.18474144231e+11,,
+2017-12-14,'399300,300,4026.1516,4057.6245,4013.8546,4050.9028,4050.0927,-23.9411,-0.5911,,8076886200,1.15086944924e+11,,
+2017-12-13,'399300,300,4050.0927,4052.6878,4004.7436,4013.8319,4016.0163,34.0764,0.8485,,7754613100,1.1500638336e+11,,
+2017-12-12,'399300,300,4016.0163,4070.1503,4015.4546,4068.5053,4069.4997,-53.4834,-1.3143,,8433871800,1.23515183182e+11,,
+2017-12-11,'399300,300,4069.4997,4069.4997,4005.2687,4006.8784,4003.3792,66.1205,1.6516,,9714894600,1.48476588468e+11,,
+2017-12-08,'399300,300,4003.3792,4014.1387,3955.44,3962.8288,3971.0569,32.3223,0.8139,,8928286100,1.24371230332e+11,,
+2017-12-07,'399300,300,3971.0569,4017.9465,3955.9939,4003.5826,4015.8211,-44.7642,-1.1147,,9025404500,1.19651201504e+11,,
+2017-12-06,'399300,300,4015.8211,4031.7533,3964.8087,4027.1231,4040.1704,-24.3493,-0.6027,,10928620500,1.4411495418e+11,,
+2017-12-05,'399300,300,4040.1704,4045.9331,4006.5432,4007.9361,4018.8571,21.3133,0.5303,,15408707600,1.96337660258e+11,,
+2017-12-04,'399300,300,4018.8571,4032.9859,3982.3182,3989.0466,3998.1365,20.7206,0.5183,,10264721900,1.38223055525e+11,,
+2017-12-01,'399300,300,3998.1365,4027.1064,3984.3776,4003.5604,4006.0993,-7.9628,-0.1988,,9738691300,1.36010927567e+11,,
+2017-11-30,'399300,300,4006.0993,4052.797,3988.0018,4034.0091,4053.7529,-47.6536,-1.1755,,10798334500,1.45829948321e+11,,
+2017-11-29,'399300,300,4053.7529,4069.2418,4004.687,4061.3545,4055.8235,-2.0706,-0.0511,,12455364200,1.65743341284e+11,,
+2017-11-28,'399300,300,4055.8235,4056.4753,4010.2955,4034.2057,4049.9475,5.876,0.1451,,10205809500,1.35539647289e+11,,
+2017-11-27,'399300,300,4049.9475,4088.9318,4037.1457,4088.9318,4104.2034,-54.2559,-1.322,,14345526800,1.83004551222e+11,,
+2017-11-24,'399300,300,4104.2034,4116.5942,4057.4894,4089.4723,4102.3966,1.8068,0.044,,13085804000,1.82912191367e+11,,
+2017-11-23,'399300,300,4102.3966,4214.1895,4086.9018,4213.3781,4227.5666,-125.17,-2.9608,,17814722800,2.37536704704e+11,,
+2017-11-22,'399300,300,4227.5666,4260.6395,4191.145,4228.3721,4217.7015,9.8651,0.2339,,18647700300,2.5429836169e+11,,
+2017-11-21,'399300,300,4217.7015,4220.2636,4129.9783,4131.8482,4143.8334,73.8681,1.7826,,18035082100,2.53302199628e+11,,
+2017-11-20,'399300,300,4143.8334,4144.5144,4060.9636,4093.734,4120.8508,22.9826,0.5577,,13744725800,1.91589637482e+11,,
+2017-11-17,'399300,300,4120.8508,4122.3756,4081.3723,4094.0787,4105.0122,15.8386,0.3858,,19178411900,2.53079314045e+11,,
+2017-11-16,'399300,300,4105.0122,4107.617,4062.2734,4063.4943,4073.6696,31.3426,0.7694,,12138441400,1.7290388058e+11,,
+2017-11-15,'399300,300,4073.6696,4102.8071,4055.7167,4084.2131,4099.351,-25.6814,-0.6265,,12063569600,1.77753075436e+11,,
+2017-11-14,'399300,300,4099.351,4133.5462,4086.8903,4129.2736,4128.0733,-28.7223,-0.6958,,14323693600,1.99605009025e+11,,
+2017-11-13,'399300,300,4128.0733,4137.6455,4115.5507,4115.5507,4111.9112,16.1621,0.3931,,15144630900,2.05930794541e+11,,
+2017-11-10,'399300,300,4111.9112,4116.7142,4067.657,4070.2763,4075.8998,36.0114,0.8835,,14181716500,1.98869833811e+11,,
+2017-11-09,'399300,300,4075.8998,4076.6102,4038.4004,4043.0663,4048.0057,27.8941,0.6891,,12105633500,1.59247198176e+11,,
+2017-11-08,'399300,300,4048.0057,4089.1457,4040.5772,4051.4935,4054.2465,-6.2408,-0.1539,,15082771900,2.00949740671e+11,,
+2017-11-07,'399300,300,4054.2465,4064.2178,4021.3639,4022.4018,4020.8896,33.3569,0.8296,,15211666300,1.93990974032e+11,,
+2017-11-06,'399300,300,4020.8896,4021.6382,3975.4069,3989.1824,3992.6979,28.1917,0.7061,,12208115900,1.58911861111e+11,,
+2017-11-03,'399300,300,3992.6979,3999.3373,3963.0263,3992.3496,3997.1343,-4.4364,-0.111,,12940443900,1.58142056585e+11,,
+2017-11-02,'399300,300,3997.1343,3999.2262,3971.3761,3994.0946,3996.6221,0.5122,0.0128,,12610057900,1.5198136364e+11,,
+2017-11-01,'399300,300,3996.6221,4032.4581,3991.3235,4007.9116,4006.7179,-10.0958,-0.252,,13041738000,1.66477138571e+11,,
+2017-10-31,'399300,300,4006.7179,4009.2828,3983.2565,3995.3935,4009.7218,-3.0039,-0.0749,,10917877900,1.42897206949e+11,,
+2017-10-30,'399300,300,4009.7218,4033.3394,3960.2698,4022.1641,4021.9676,-12.2458,-0.3045,,15738760300,1.93489838439e+11,,
+2017-10-27,'399300,300,4021.9676,4024.4645,3991.354,3992.5539,3993.5752,28.3924,0.711,,12667284600,1.52974831071e+11,,
+2017-10-26,'399300,300,3993.5752,4013.5988,3973.5535,3980.0479,3976.949,16.6262,0.4181,,12989546500,1.70488618586e+11,,
+2017-10-25,'399300,300,3976.949,3978.0893,3954.0011,3958.1669,3959.3953,17.5537,0.4433,,8820545800,1.06820309535e+11,,
+2017-10-24,'399300,300,3959.3953,3959.4951,3922.0288,3926.2299,3930.7981,28.5972,0.7275,,9305815400,1.20192150584e+11,,
+2017-10-23,'399300,300,3930.7981,3936.2729,3920.6562,3930.8914,3926.852,3.9461,0.1005,,8148498000,1.00280911371e+11,,
+2017-10-20,'399300,300,3926.852,3928.9607,3910.1974,3918.5265,3931.2495,-4.3975,-0.1119,,7298018000,94529636639.4,,
+2017-10-19,'399300,300,3931.2495,3944.0349,3923.6455,3940.5831,3944.1626,-12.9131,-0.3274,,10652725200,1.33189855169e+11,,
+2017-10-18,'399300,300,3944.1626,3944.4106,3914.8152,3914.8152,3913.0688,31.0938,0.7946,,10096984100,1.2642037966e+11,,
+2017-10-17,'399300,300,3913.0688,3924.6141,3900.4758,3910.7894,3913.4462,-0.3774,-0.0096,,8224122700,1.06708451684e+11,,
+2017-10-16,'399300,300,3913.4462,3947.4239,3913.3224,3926.2754,3921.0017,-7.5555,-0.1927,,12135503300,1.50823756592e+11,,
+2017-10-13,'399300,300,3921.0017,3927.1744,3908.8885,3912.975,3912.9536,8.0481,0.2057,,9014206800,1.14314854703e+11,,
+2017-10-12,'399300,300,3912.9536,3917.4435,3897.5472,3902.0156,3902.6868,10.2668,0.2631,,9434092100,1.23147248618e+11,,
+2017-10-11,'399300,300,3902.6868,3913.0695,3885.497,3886.8184,3889.8637,12.8231,0.3297,,10441815100,1.44152740056e+11,,
+2017-10-10,'399300,300,3889.8637,3900.7418,3855.4666,3883.0037,3882.2076,7.6561,0.1972,,11253258600,1.57979737603e+11,,
+2017-10-09,'399300,300,3882.2076,3918.8391,3876.0322,3910.1149,3836.5013,45.7063,1.1914,,13553585100,1.71941460832e+11,,
+2017-09-29,'399300,300,3836.5013,3852.2236,3825.2021,3825.2021,3822.5386,13.9627,0.3653,,9330602800,1.16056776566e+11,,
+2017-09-28,'399300,300,3822.5386,3827.3308,3813.7532,3821.5904,3821.2,1.3386,0.035,,9354406900,1.15646338522e+11,,
+2017-09-27,'399300,300,3821.2,3832.566,3818.8147,3818.9646,3820.7816,0.4184,0.011,,8565581100,1.09299492247e+11,,
+2017-09-26,'399300,300,3820.7816,3821.6928,3808.3827,3810.3333,3817.7915,2.9901,0.0783,,8186940700,1.01036334815e+11,,
+2017-09-25,'399300,300,3817.7915,3835.3894,3811.1192,3829.219,3837.7304,-19.9389,-0.5195,,10394897600,1.35980239129e+11,,
+2017-09-22,'399300,300,3837.7304,3842.252,3816.8225,3826.4589,3837.8176,-0.0872,-0.0023,,10061980200,1.28360894859e+11,,
+2017-09-21,'399300,300,3837.8176,3860.7977,3837.384,3843.2577,3842.4353,-4.6177,-0.1202,,11109819200,1.44132893229e+11,,
+2017-09-20,'399300,300,3842.4353,3850.9426,3827.8858,3830.1549,3832.1161,10.3192,0.2693,,10112954200,1.35041882371e+11,,
+2017-09-19,'399300,300,3832.1161,3857.303,3820.2885,3849.8794,3843.1428,-11.0267,-0.2869,,11243298700,1.45528457523e+11,,
+2017-09-18,'399300,300,3843.1428,3862.3589,3832.9626,3832.9626,3831.2965,11.8463,0.3092,,11793440500,1.52841028494e+11,,
+2017-09-15,'399300,300,3831.2965,3843.297,3818.5234,3826.1448,3829.9554,1.3411,0.035,,12242700600,1.5347721518e+11,,
+2017-09-14,'399300,300,3829.9554,3854.4931,3820.0876,3843.572,3842.6061,-12.6507,-0.3292,,11535858300,1.43111639152e+11,,
+2017-09-13,'399300,300,3842.6061,3847.7841,3822.9441,3835.5493,3837.9341,4.672,0.1217,,9541078500,1.26254360933e+11,,
+2017-09-12,'399300,300,3837.9341,3849.3885,3822.0037,3832.2422,3825.6453,12.2888,0.3212,,14419024200,1.8760531203e+11,,
+2017-09-11,'399300,300,3825.6453,3850.7409,3817.5108,3828.3422,3825.9895,-0.3442,-0.009,,12388399700,1.54793900773e+11,,
+2017-09-08,'399300,300,3825.9895,3843.0186,3813.9833,3830.0707,3829.8713,-3.8818,-0.1014,,10603650400,1.34958583983e+11,,
+2017-09-07,'399300,300,3829.8713,3858.1617,3828.835,3851.688,3849.4499,-19.5786,-0.5086,,12388418100,1.56113397125e+11,,
+2017-09-06,'399300,300,3849.4499,3858.2481,3831.3835,3846.7471,3857.0464,-7.5965,-0.197,,13139872300,1.55883314756e+11,,
+2017-09-05,'399300,300,3857.0464,3865.2938,3841.9514,3845.5451,3845.6163,11.4301,0.2972,,12496415500,1.45779755314e+11,,
+2017-09-04,'399300,300,3845.6163,3847.0906,3813.5537,3828.5447,3830.5383,15.078,0.3936,,14956632000,1.75551068278e+11,,
+2017-09-01,'399300,300,3830.5383,3843.6176,3818.1586,3825.3392,3822.0928,8.4455,0.221,,15864551100,1.82770431967e+11,,
+2017-08-31,'399300,300,3822.0928,3840.199,3800.8861,3835.8394,3834.3005,-12.2077,-0.3184,,13294493500,1.57079216083e+11,,
+2017-08-30,'399300,300,3834.3005,3854.7062,3827.8607,3834.2682,3834.5376,-0.2371,-0.0062,,14135285700,1.66235122004e+11,,
+2017-08-29,'399300,300,3834.5376,3847.9303,3825.7597,3839.1779,3842.7119,-8.1743,-0.2127,,12822707000,1.58978683685e+11,,
+2017-08-28,'399300,300,3842.7119,3866.9422,3805.6567,3805.6567,3795.7544,46.9575,1.2371,,18557632500,2.36446280855e+11,,
+2017-08-25,'399300,300,3795.7544,3795.9693,3736.2916,3736.2916,3734.6458,61.1086,1.6363,,12994090000,1.50697083062e+11,,
+2017-08-24,'399300,300,3734.6458,3765.7082,3729.0876,3755.8902,3756.0884,-21.4426,-0.5709,,8994737200,1.07736019091e+11,,
+2017-08-23,'399300,300,3756.0884,3772.4568,3741.7204,3747.6108,3752.298,3.7904,0.101,,10496157300,1.2408115571e+11,,
+2017-08-22,'399300,300,3752.298,3758.2924,3734.5556,3745.7543,3740.9941,11.3039,0.3022,,10029285600,1.31131078398e+11,,
+2017-08-21,'399300,300,3740.9941,3744.2631,3728.6157,3731.8399,3724.6748,16.3193,0.4381,,10031307300,1.23911716276e+11,,
+2017-08-18,'399300,300,3724.6748,3733.4914,3700.4112,3707.1891,3721.277,3.3978,0.0913,,9656170500,1.23078163944e+11,,
+2017-08-17,'399300,300,3721.277,3722.6239,3704.4126,3707.0668,3701.4207,19.8563,0.5365,,10865625100,1.3702000292e+11,,
+2017-08-16,'399300,300,3701.4207,3707.144,3679.7338,3701.1337,3706.0566,-4.6359,-0.1251,,10413414100,1.27282165884e+11,,
+2017-08-15,'399300,300,3706.0566,3719.2931,3692.2802,3695.78,3694.6831,11.3735,0.3078,,10644485700,1.24790630952e+11,,
+2017-08-14,'399300,300,3694.6831,3698.3663,3651.3754,3651.3754,3647.3503,47.3328,1.2977,,11530845100,1.40233894117e+11,,
+2017-08-11,'399300,300,3647.3503,3700.4944,3645.0945,3687.9314,3715.9208,-68.5705,-1.8453,,15038742100,1.61083470412e+11,,
+2017-08-10,'399300,300,3715.9208,3746.8614,3688.1766,3724.962,3731.044,-15.1232,-0.4053,,13008512800,1.48005169417e+11,,
+2017-08-09,'399300,300,3731.044,3738.999,3713.5668,3728.0319,3732.2129,-1.1689,-0.0313,,12467998900,1.37223598286e+11,,
+2017-08-08,'399300,300,3732.2129,3737.3344,3718.8116,3724.3287,3726.7948,5.4181,0.1454,,13724192800,1.46481868918e+11,,
+2017-08-07,'399300,300,3726.7948,3730.7774,3689.9552,3701.2161,3707.5796,19.2152,0.5183,,12423153000,1.34348537498e+11,,
+2017-08-04,'399300,300,3707.5796,3738.7312,3707.003,3724.7225,3727.8264,-20.2468,-0.5431,,15747006000,1.68292664589e+11,,
+2017-08-03,'399300,300,3727.8264,3766.3452,3718.4351,3755.1081,3760.8525,-33.0261,-0.8782,,14615394400,1.647104616e+11,,
+2017-08-02,'399300,300,3760.8525,3784.3511,3759.2764,3768.1938,3770.3828,-9.5303,-0.2528,,17229338300,1.89336782813e+11,,
+2017-08-01,'399300,300,3770.3828,3770.4043,3737.0954,3738.7364,3737.8732,32.5096,0.8697,,15254653900,1.73127578959e+11,,
+2017-07-31,'399300,300,3737.8732,3746.5207,3713.655,3722.4282,3721.8914,15.9818,0.4294,,14842903900,1.60890133166e+11,,
+2017-07-28,'399300,300,3721.8914,3725.5378,3696.7776,3703.4895,3712.1947,9.6967,0.2612,,11141139200,1.25817861948e+11,,
+2017-07-27,'399300,300,3712.1947,3716.6888,3672.4971,3700.8558,3705.3884,6.8063,0.1837,,14500290400,1.61631225346e+11,,
+2017-07-26,'399300,300,3705.3884,3738.5316,3684.1819,3722.8761,3719.559,-14.1706,-0.381,,13632521000,1.46518004915e+11,,
+2017-07-25,'399300,300,3719.559,3752.1559,3713.2766,3742.6405,3743.4686,-23.9096,-0.6387,,12167205900,1.33531656186e+11,,
+2017-07-24,'399300,300,3743.4686,3755.1902,3719.8488,3724.3778,3728.5976,14.871,0.3988,,13486872200,1.54701874682e+11,,
+2017-07-21,'399300,300,3728.5976,3751.6947,3722.0656,3738.1847,3747.8843,-19.2867,-0.5146,,11794122600,1.41432632987e+11,,
+2017-07-20,'399300,300,3747.8843,3750.1938,3723.0689,3725.1436,3729.7466,18.1377,0.4863,,14241003900,1.6926714994e+11,,
+2017-07-19,'399300,300,3729.7466,3731.0468,3658.2035,3660.8665,3667.1807,62.5659,1.7061,,18247778700,1.98392451748e+11,,
+2017-07-18,'399300,300,3667.1807,3667.5408,3622.0414,3648.4942,3663.5575,3.6232,0.0989,,12462205600,1.41472283974e+11,,
+2017-07-17,'399300,300,3663.5575,3716.47,3621.3652,3700.6179,3703.094,-39.5365,-1.0677,,17882160000,1.96217253798e+11,,
+2017-07-14,'399300,300,3703.094,3703.094,3672.7425,3682.6153,3686.9205,16.1735,0.4387,,10551400500,1.21021448889e+11,,
+2017-07-13,'399300,300,3686.9205,3690.4832,3652.5658,3656.3502,3658.8236,28.0969,0.7679,,12566954900,1.46388679598e+11,,
+2017-07-12,'399300,300,3658.8236,3691.5814,3640.5893,3672.6328,3670.8086,-11.985,-0.3265,,12228779200,1.43494599072e+11,,
+2017-07-11,'399300,300,3670.8086,3701.2087,3645.9946,3646.8783,3653.6868,17.1218,0.4686,,11876082600,1.45084363277e+11,,
+2017-07-10,'399300,300,3653.6868,3667.8455,3641.5277,3647.9379,3655.9293,-2.2425,-0.0613,,12059191000,1.41034626508e+11,,
+2017-07-07,'399300,300,3655.9293,3657.1131,3631.8702,3647.6416,3660.0967,-4.1674,-0.1139,,10373549700,1.23465392616e+11,,
+2017-07-06,'399300,300,3660.0967,3666.7745,3629.56,3654.5576,3659.6795,0.4172,0.0114,,10237924500,1.32837126778e+11,,
+2017-07-05,'399300,300,3659.6795,3660.7291,3610.4586,3611.8984,3619.9841,39.6954,1.0966,,8823242500,1.20351565382e+11,,
+2017-07-04,'399300,300,3619.9841,3646.8455,3611.6911,3646.828,3650.8463,-30.8622,-0.8453,,9507141300,1.25350417552e+11,,
+2017-07-03,'399300,300,3650.8463,3667.5957,3633.7825,3667.2316,3666.7977,-15.9514,-0.435,,8882086000,1.15214687872e+11,,
+2017-06-30,'399300,300,3666.7977,3669.7584,3646.2272,3654.7348,3668.8279,-2.0302,-0.0553,,8151002800,1.02459981992e+11,,
+2017-06-29,'399300,300,3668.8279,3669.1345,3644.7331,3649.2525,3646.1666,22.6613,0.6215,,8558949800,1.11847266867e+11,,
+2017-06-28,'399300,300,3646.1666,3672.1887,3644.0268,3664.1629,3674.7152,-28.5486,-0.7769,,9792085800,1.24465947132e+11,,
+2017-06-27,'399300,300,3674.7152,3676.5328,3648.7635,3665.5775,3668.0919,6.6233,0.1806,,9755870200,1.23057231694e+11,,
+2017-06-26,'399300,300,3668.0919,3671.9435,3627.0208,3627.0208,3622.8831,45.2088,1.2479,,13463799500,1.70736841952e+11,,
+2017-06-23,'399300,300,3622.8831,3623.2352,3569.3225,3583.4359,3590.3425,32.5406,0.9063,,10512913400,1.33975111796e+11,,
+2017-06-22,'399300,300,3590.3425,3635.5273,3581.3375,3583.5583,3587.955,2.3875,0.0665,,13552698700,1.69418803351e+11,,
+2017-06-21,'399300,300,3587.955,3587.9863,3545.5666,3567.1256,3546.494,41.461,1.1691,,8785982400,1.17147797136e+11,,
+2017-06-20,'399300,300,3546.494,3563.6964,3539.5149,3560.7871,3553.6653,-7.1713,-0.2018,,8050955900,98187595478.3,,
+2017-06-19,'399300,300,3553.6653,3554.91,3520.0602,3520.0602,3518.7611,34.9042,0.9919,,7979714100,98572358252.0,,
+2017-06-16,'399300,300,3518.7611,3536.1401,3514.3892,3522.9745,3528.7926,-10.0315,-0.2843,,7645270700,91462286376.5,,
+2017-06-15,'399300,300,3528.7926,3542.2796,3508.9461,3530.7465,3535.2987,-6.5061,-0.184,,8263253500,1.06053901141e+11,,
+2017-06-14,'399300,300,3535.2987,3571.2483,3530.274,3571.2483,3582.2674,-46.9687,-1.3111,,8381078300,1.06105319868e+11,,
+2017-06-13,'399300,300,3582.2674,3584.4094,3559.2134,3569.1594,3574.3894,7.878,0.2204,,7517713800,94223084812.3,,
+2017-06-12,'399300,300,3574.3894,3603.6901,3565.9012,3570.2191,3576.1703,-1.7809,-0.0498,,9038116700,1.17690802224e+11,,
+2017-06-09,'399300,300,3576.1703,3590.8872,3560.6336,3561.2411,3560.9786,15.1917,0.4266,,10118826500,1.21700586716e+11,,
+2017-06-08,'399300,300,3560.9786,3562.2724,3528.179,3531.2419,3533.8718,27.1068,0.7671,,9022490500,1.12035619671e+11,,
+2017-06-07,'399300,300,3533.8718,3537.0947,3491.1328,3493.8846,3492.8816,40.9902,1.1735,,10441996800,1.24189288483e+11,,
+2017-06-06,'399300,300,3492.8816,3492.8816,3460.4534,3464.3765,3468.7538,24.1278,0.6956,,6408938800,77868793729.6,,
+2017-06-05,'399300,300,3468.7538,3484.1244,3462.3144,3480.1692,3486.5074,-17.7536,-0.5092,,7973815200,85609467477.1,,
+2017-06-02,'399300,300,3486.5074,3498.1189,3470.2017,3491.5893,3497.7382,-11.2308,-0.3211,,8266801000,92850747181.0,,
+2017-06-01,'399300,300,3497.7382,3499.8142,3476.4283,3485.2223,3492.8845,4.8537,0.139,,10312772400,1.16088766249e+11,,
+2017-05-31,'399300,300,3492.8845,3515.0812,3474.9215,3495.073,3480.4345,12.45,0.3577,,10482974400,1.1596872531e+11,,
+2017-05-26,'399300,300,3480.4345,3498.3148,3473.04,3479.6206,3485.6581,-5.2236,-0.1499,,10324115300,1.12585907354e+11,,
+2017-05-25,'399300,300,3485.6581,3490.4176,3413.2246,3414.3992,3424.1669,61.4912,1.7958,,13072163100,1.36634020807e+11,,
+2017-05-24,'399300,300,3424.1669,3424.1669,3383.8922,3409.7169,3424.194,-0.0271,-0.0008,,8355316100,92620045547.9,,
+2017-05-23,'399300,300,3424.194,3434.7662,3401.5338,3405.0254,3411.2387,12.9553,0.3798,,11691103300,1.26767856025e+11,,
+2017-05-22,'399300,300,3411.2387,3424.1776,3391.1748,3400.5882,3403.8492,7.3895,0.2171,,9253955900,99021121578.0,,
+2017-05-19,'399300,300,3403.8492,3405.9448,3392.3776,3395.2318,3398.1127,5.7365,0.1688,,7147352500,78397081602.2,,
+2017-05-18,'399300,300,3398.1127,3409.9319,3383.935,3387.6655,3409.9656,-11.8529,-0.3476,,8575958900,88091166041.4,,
+2017-05-17,'399300,300,3409.9656,3433.9695,3408.1541,3423.19,3428.6491,-18.6835,-0.5449,,9973683700,1.10553451835e+11,,
+2017-05-16,'399300,300,3428.6491,3428.8531,3373.552,3390.925,3399.1937,29.4554,0.8665,,10524241600,1.12814103201e+11,,
+2017-05-15,'399300,300,3399.1937,3406.581,3391.5881,3391.5881,3385.3787,13.815,0.4081,,8297761100,92183332845.4,,
+2017-05-12,'399300,300,3385.3787,3387.2677,3349.1671,3350.9371,3356.6459,28.7328,0.856,,9338646600,97522124594.3,,
+2017-05-11,'399300,300,3356.6459,3359.6003,3312.8921,3322.9455,3337.7007,18.9452,0.5676,,10925289000,1.11576379054e+11,,
+2017-05-10,'399300,300,3337.7007,3369.4345,3336.003,3350.6502,3352.5324,-14.8317,-0.4424,,9208262800,1.02194980791e+11,,
+2017-05-09,'399300,300,3352.5324,3358.0463,3327.5901,3342.5981,3358.8125,-6.2801,-0.187,,7677166800,85528831748.9,,
+2017-05-08,'399300,300,3358.8125,3374.1571,3339.5743,3369.1084,3382.5502,-23.7377,-0.7018,,12374928700,1.26885426472e+11,,
+2017-05-05,'399300,300,3382.5502,3395.4532,3366.5568,3393.4831,3404.3864,-21.8362,-0.6414,,10989533300,1.17464939578e+11,,
+2017-05-04,'399300,300,3404.3864,3421.3953,3391.277,3404.9379,3413.1282,-8.7418,-0.2561,,10348207500,1.06985952575e+11,,
+2017-05-03,'399300,300,3413.1282,3432.2248,3403.0782,3421.7586,3426.5766,-13.4484,-0.3925,,9166962400,97854119098.4,,
+2017-05-02,'399300,300,3426.5766,3436.3064,3418.6652,3427.9169,3439.753,-13.1764,-0.3831,,9279746200,1.01635858602e+11,,
+2017-04-28,'399300,300,3439.753,3439.904,3417.2375,3439.5735,3446.7202,-6.9672,-0.2021,,10163235100,1.13761006698e+11,,
+2017-04-27,'399300,300,3446.7202,3449.2723,3399.5392,3435.1017,3445.1832,1.537,0.0446,,12329842500,1.34610947828e+11,,
+2017-04-26,'399300,300,3445.1832,3466.5651,3439.1505,3440.2526,3440.9743,4.2089,0.1223,,11194002900,1.31316579234e+11,,
+2017-04-25,'399300,300,3440.9743,3449.6716,3422.6521,3427.7322,3431.2587,9.7156,0.2831,,9407214800,1.07599357209e+11,,
+2017-04-24,'399300,300,3431.2587,3458.2279,3403.9792,3458.2279,3466.7865,-35.5278,-1.0248,,11466079100,1.22778154321e+11,,
+2017-04-21,'399300,300,3466.7865,3475.5622,3449.5421,3461.389,3461.5481,5.2384,0.1513,,10441911000,1.15208831746e+11,,
+2017-04-20,'399300,300,3461.5481,3465.6088,3440.7151,3444.5225,3445.8761,15.672,0.4548,,11418420800,1.33977258346e+11,,
+2017-04-19,'399300,300,3445.8761,3459.3524,3418.514,3452.9904,3462.7429,-16.8668,-0.4871,,12134926400,1.27050362407e+11,,
+2017-04-18,'399300,300,3462.7429,3489.0845,3462.6297,3474.8892,3479.9417,-17.1988,-0.4942,,11092782300,1.26790853425e+11,,
+2017-04-17,'399300,300,3479.9417,3480.5696,3453.6759,3475.7381,3486.5045,-6.5628,-0.1882,,11716496100,1.23884371227e+11,,
+2017-04-14,'399300,300,3486.5045,3517.4664,3476.9468,3516.8103,3514.5662,-28.0617,-0.7984,,13547407800,1.30425385379e+11,,
+2017-04-13,'399300,300,3514.5662,3518.4385,3496.5699,3500.2838,3509.4387,5.1275,0.1461,,12998181300,1.33345929014e+11,,
+2017-04-12,'399300,300,3509.4387,3523.0975,3497.9991,3514.5723,3517.328,-7.8893,-0.2243,,18182453700,2.02154571423e+11,,
+2017-04-11,'399300,300,3517.328,3520.1315,3466.139,3503.8294,3505.1392,12.1888,0.3477,,16594583200,1.89457268655e+11,,
+2017-04-10,'399300,300,3505.1392,3522.7955,3502.0826,3519.4597,3517.4634,-12.3242,-0.3504,,14188738000,1.55747834572e+11,,
+2017-04-07,'399300,300,3517.4634,3526.815,3506.3885,3514.4521,3514.0469,3.4165,0.0972,,14029320400,1.44559675566e+11,,
+2017-04-06,'399300,300,3514.0469,3517.7779,3495.7246,3507.9879,3503.8932,10.1537,0.2898,,13676700400,1.45221644165e+11,,
+2017-04-05,'399300,300,3503.8932,3504.5379,3475.1486,3476.4231,3456.0455,47.8477,1.3845,,14339901700,1.60742981172e+11,,
+2017-03-31,'399300,300,3456.0455,3456.3051,3430.8197,3434.8222,3436.758,19.2875,0.5612,,9157749100,1.0098490483e+11,,
+2017-03-30,'399300,300,3436.758,3467.3049,3422.366,3461.6159,3465.1933,-28.4353,-0.8206,,11637692200,1.2208802163e+11,,
+2017-03-29,'399300,300,3465.1933,3483.0571,3455.5529,3472.9665,3469.8093,-4.616,-0.133,,10485170600,1.14663468279e+11,,
+2017-03-28,'399300,300,3469.8093,3482.2923,3461.4678,3480.249,3478.0385,-8.2292,-0.2366,,8419482000,97495938764.9,,
+2017-03-27,'399300,300,3478.0385,3505.9789,3474.5206,3488.7647,3489.5997,-11.5612,-0.3313,,10701537700,1.24388012134e+11,,
+2017-03-24,'399300,300,3489.5997,3499.3179,3461.1108,3464.1966,3461.9782,27.6215,0.7979,,12564583300,1.41752526681e+11,,
+2017-03-23,'399300,300,3461.9782,3470.8164,3435.6912,3452.4056,3450.0502,11.928,0.3457,,9431806200,1.15813813702e+11,,
+2017-03-22,'399300,300,3450.0502,3464.3328,3433.4994,3450.7544,3466.3468,-16.2966,-0.4701,,10493589400,1.23865640376e+11,,
+2017-03-21,'399300,300,3466.3468,3466.7026,3445.6416,3449.7696,3449.6126,16.7342,0.4851,,8770785500,1.1352820139e+11,,
+2017-03-20,'399300,300,3449.6126,3454.063,3429.8254,3449.0515,3445.8051,3.8075,0.1105,,8873432200,1.03769403896e+11,,
+2017-03-17,'399300,300,3445.8051,3488.4969,3441.4685,3485.3114,3481.5066,-35.7015,-1.0255,,10375556000,1.2236891855e+11,,
+2017-03-16,'399300,300,3481.5066,3492.1267,3472.2694,3472.2694,3463.6436,17.863,0.5157,,10633391300,1.24695573677e+11,,
+2017-03-15,'399300,300,3463.6436,3463.9191,3445.2676,3452.2139,3456.6934,6.9502,0.2011,,7910495400,94056256666.8,,
+2017-03-14,'399300,300,3456.6934,3465.3915,3448.9034,3456.6584,3458.098,-1.4046,-0.0406,,7707796300,95317564129.4,,
+2017-03-13,'399300,300,3458.098,3458.098,3412.6879,3425.6723,3427.8916,30.2064,0.8812,,9168412400,1.08489140923e+11,,
+2017-03-10,'399300,300,3427.8916,3436.2388,3423.9369,3423.9776,3426.9438,0.9478,0.0277,,7001619900,82161714922.6,,
+2017-03-09,'399300,300,3426.9438,3443.0455,3414.6782,3442.8953,3448.7313,-21.7875,-0.6318,,8457038100,90090049489.8,,
+2017-03-08,'399300,300,3448.7313,3457.0351,3441.2575,3452.2006,3453.9565,-5.2252,-0.1513,,7958769000,89124904682.2,,
+2017-03-07,'399300,300,3453.9565,3454.0386,3440.0574,3446.1628,3446.484,7.4725,0.2168,,8033472000,94483824245.1,,
+2017-03-06,'399300,300,3446.484,3449.0342,3425.9041,3427.2533,3427.8628,18.6212,0.5432,,8307088200,95178548495.5,,
+2017-03-03,'399300,300,3427.8628,3428.8824,3412.8312,3424.6627,3435.0963,-7.2335,-0.2106,,8099465200,90009618835.2,,
+2017-03-02,'399300,300,3435.0963,3468.471,3434.001,3463.4829,3458.4376,-23.3413,-0.6749,,8989807700,97876187925.2,,
+2017-03-01,'399300,300,3458.4376,3472.6962,3449.109,3452.2058,3452.8103,5.6273,0.163,,10326035400,1.09317781348e+11,,
+2017-02-28,'399300,300,3452.8103,3460.9089,3441.3589,3445.0274,3446.2228,6.5875,0.1912,,7521526000,81979307360.8,,
+2017-02-27,'399300,300,3446.2228,3472.8356,3441.3938,3471.1319,3473.8517,-27.6289,-0.7953,,9867216000,1.06830874529e+11,,
+2017-02-24,'399300,300,3473.8517,3473.8517,3455.2514,3468.9588,3473.3236,0.5281,0.0152,,9553513300,99875164758.6,,
+2017-02-23,'399300,300,3473.3236,3492.9616,3460.118,3487.5745,3489.7567,-16.4331,-0.4709,,9953633000,1.06555922466e+11,,
+2017-02-22,'399300,300,3489.7567,3489.946,3473.524,3483.2008,3482.823,6.9337,0.1991,,10281599400,1.09232425841e+11,,
+2017-02-21,'399300,300,3482.823,3490.0855,3472.017,3475.0584,3471.3926,11.4304,0.3293,,11484200900,1.20675429543e+11,,
+2017-02-20,'399300,300,3471.3926,3472.6035,3421.6434,3421.6434,3421.4419,49.9507,1.4599,,13262886200,1.34681505159e+11,,
+2017-02-17,'399300,300,3421.4419,3457.5562,3419.6143,3443.6166,3440.9331,-19.4912,-0.5665,,11460003600,1.1803312967e+11,,
+2017-02-16,'399300,300,3440.9331,3440.9331,3418.3514,3421.8299,3421.7131,19.22,0.5617,,10827696200,1.01809767504e+11,,
+2017-02-15,'399300,300,3421.7131,3448.0322,3417.0811,3435.3882,3435.8042,-14.0911,-0.4101,,12764333800,1.24653179488e+11,,
+2017-02-14,'399300,300,3435.8042,3440.6748,3424.4028,3438.511,3436.275,-0.4708,-0.0137,,9480946500,98537165438.0,,
+2017-02-13,'399300,300,3436.275,3439.5432,3416.8746,3416.9168,3413.4868,22.7882,0.6676,,12014453800,1.25332998844e+11,,
+2017-02-10,'399300,300,3413.4868,3422.3256,3398.0295,3398.3173,3396.2924,17.1944,0.5063,,12376872000,1.21908580284e+11,,
+2017-02-09,'399300,300,3396.2924,3406.5888,3379.7872,3381.8992,3383.2878,13.0046,0.3844,,9755851500,1.02134228699e+11,,
+2017-02-08,'399300,300,3383.2878,3383.6859,3347.4302,3361.7811,3365.6849,17.6029,0.523,,7540287900,82869735773.3,,
+2017-02-07,'399300,300,3365.6849,3376.7099,3354.6251,3371.7695,3373.2051,-7.5202,-0.2229,,6375446200,69758178999.1,,
+2017-02-06,'399300,300,3373.2051,3381.3348,3358.7516,3368.1081,3364.4923,8.7128,0.259,,6852136000,73408134767.9,,
diff --git a/stockdata/stockcode.txt b/stockdata/stockcode.txt
new file mode 100644
index 0000000..dc1e3cb
--- /dev/null
+++ b/stockdata/stockcode.txt
@@ -0,0 +1,55 @@
+399006 ҵָ 1829.34 16.06 0.89% 39458473 6467087 1813.28 1811.11 1852.22 1807.51
+000003 Bָ 347.34 1.22 0.35% 205023 17374 346.12 346.39 347.49 346.25
+399106 ָ֤ 1960.74 -0.19 -0.01% 128435395 17864530 1960.93 1957.15 1962.11 1954.55
+399005 Сָ 7735.89 -2.66 -0.03% 42420988 5960737 7738.55 7729.53 7757.73 7722.33
+399002 ָR 13851.88 -14.75 -0.11% 46396882 5426701 13866.63 13843.70 13876.30 13809.35
+399001 ָ֤ 11595.22 -12.35 -0.11% 128435395 17864530 11607.57 11588.38 11615.67 11559.63
+000002 Aָ 3722.99 -5.36 -0.14% 145876081 17226990 3728.35 3723.83 3730.47 3695.32
+000001 ָ֤ 3554.40 -5.07 -0.14% 146081103 17244363 3559.47 3555.17 3561.50 3528.03
+000300 300 4369.30 -20.59 -0.47% 122636938 15661989 4389.89 4381.98 4383.15 4336.24
+399003 ɷBָ 6832.18 -33.66 -0.49% 159051 10004 6865.84 6872.14 6872.14 6811.48
+399550 50 7799.60 -50.88 -0.65% 18200029 3739922 7850.48 7848.96 7852.29 7750.90
+000016 ֤50 3158.30 -22.03 -0.69% 49732905 6206055 3180.33 3171.35 3171.35 3124.46
+000850 300ɫ 4245.92 86.29 2.07% 11472162 1023125 4159.64 4205.53 4251.30 4203.21
+000026 180Դ 3224.15 61.82 1.96% 16158750 1451073 3162.32 3201.67 3235.30 3192.40
+000811 ϸɫ 5901.84 104.68 1.81% 16203561 1612367 5797.16 5859.60 5911.04 5856.02
+000823 800ɫ 5317.98 91.67 1.75% 15125464 1523227 5226.31 5275.98 5322.13 5275.98
+000820 úָ̿ 3100.64 51.61 1.69% 5412616 578119 3049.03 3070.03 3133.42 3070.03
+399395 ֤ɫ 5253.67 96.73 1.88% 15733140 1510650 5156.94 5211.28 5256.40 5211.28
+399959 ָ 1169.73 21.32 1.86% 4785815 594991 1148.41 1146.33 1173.22 1145.74
+399436 ֤ú̿ 3556.77 64.14 1.84% 4945375 540165 3492.63 3518.18 3595.22 3518.18
+399368 ֤ 6382.16 112.45 1.79% 5008489 658014 6269.71 6255.30 6402.66 6251.64
+399232 ɿָ 2273.39 39.66 1.78% 2476069 262634 2233.73 2253.16 2283.69 2253.16
+000013 ծָ 213.93 0.01 0.01% 357067 34302 213.92 213.95 213.95 213.93
+000012 ծָ 161.18 0.01 0.00% 50643 4747 161.18 161.19 161.20 161.18
+000011 ָ 6470.11 -14.93 -0.23% 23075850 1361338 6485.04 6482.00 6482.00 6447.67
+000010 ֤180 9412.50 -40.68 -0.43% 84908334 9998669 9453.19 9435.60 9435.60 9326.03
+
+000850 300ɫ ɷֹ 4245.92 86.29 2.07% 1.16% 1147 102 4159.64 4205.53 4251.30 4203.21 0.21%
+00026 180Դ ɷֹ 3224.15 61.82 1.96% 1.36% 1616 145 3162.32 3201.67 3235.30 3192.40 0.17%
+399959 ָ ɷֹ 1169.73 21.32 1.86% 2.39% 479 59.5 1148.41 1146.33 1173.22 1145.74 -0.04%
+000811 ϸɫ ɷֹ 5901.84 104.68 1.81% 0.95% 1620 161 5797.16 5859.60 5911.04 5856.02 0.23%
+399232 ɿָ ɷֹ 2273.39 39.66 1.78% 1.37% 248 26.3 2233.73 2253.16 2283.69 2253.16 0.05%
+399973 ֤ ɷֹ 1267.51 21.43 1.72% 2.26% 192 33.2 1246.07 1244.21 1271.87 1243.67 -0.01%
+000145 Դ ɷֹ 4454.13 74.04 1.69% 1.00% 1651 165 4380.09 4419.82 4462.17 4418.23 0.15%
+000820 úָ̿ ɷֹ 3100.64 51.61 1.69% 2.08% 541 57.8 3049.03 3070.03 3133.42 3070.03 0.09%
+399998 ֤ú̿ ɷֹ 1871.74 30.72 1.67% 2.07% 522 56.0 1841.02 1852.19 1890.22 1852.19 0.07%
+000068 ֤Դ ɷֹ 2421.73 39.24 1.65% 1.06% 2187 203 2382.49 2405.38 2429.37 2404.21 0.14%
+399944 ڵԴ ɷֹ 3201.32 52.05 1.65% 0.95% 2292 226 3149.27 3180.09 3210.05 3180.09 0.16%
+000944 ڵԴ ɷֹ 3201.32 52.05 1.65% 0.95% 2292 226 3149.27 3180.09 3210.05 3180.09 0.14%
+399961 ֤ ɷֹ 3065.16 49.03 1.63% 0.96% 2409 232 3016.13 3045.56 3074.63 3045.56 0.15%
+399249 ָ ɷֹ 789.08 12.64 1.63% 1.91% 40.9 3.73 776.44 774.65 789.36 774.53 0.22%
+000961 ֤ ɷֹ 3065.16 49.03 1.63% 0.96% 2409 232 3016.13 3045.56 3074.63 3045.56 0.14%
+000909 300 ɷֹ 2736.49 43.57 1.62% 1.11% 1652 157 2692.92 2708.41 2737.78 2707.98 0.13%
+399909 300 ɷֹ 2736.49 43.57 1.62% 1.11% 1652 157 2692.92 2708.41 2737.78 2707.98 0.16%
+000094 ֤ ɷֹ 2753.92 43.62 1.61% 1.07% 2211 205 2710.30 2736.94 2763.75 2734.62 0.15%
+000805 AԴ ɷֹ 4982.71 78.36 1.60% 1.04% 2399 231 4904.35 4944.11 4995.19 4944.11 0.09%
+399967 ֤ ɷֹ 8691.95 136.86 1.60% 2.18% 486 66.6 8555.10 8536.23 8717.44 8530.89 -0.02%
+
+NDX ˹
+
+AUM 281.70 1.90 0.68% 281.25 281.85 280.75 279.80 113890 58110 55780 289248
+AGTD T+D 3819 77 2.06% 3823 3765 3773 3742 2018-01-25 11:29:59
+GLNC COMEXƽ 1362.3 6.0 0.44% 1362.8 1355.2 1357.0 1356.3 2018-01-25 11:40:14
+SLNC COMEX 17.600 0.111 0.63% 17.605 17.470 17.555 17.489 2018-01-25 11:40:13
+NYMEX ԭ
\ No newline at end of file
diff --git a/stockdata/stockcodewangyiShangz.txt b/stockdata/stockcodewangyiShangz.txt
new file mode 100644
index 0000000..08d6e25
--- /dev/null
+++ b/stockdata/stockcodewangyiShangz.txt
@@ -0,0 +1,40 @@
+15 000016 ֤50 3163.65 -16.68 -0.52% 0.01 59.32 739.64 3180.33 3171.35 3171.35 3124.46
+1 000001 ָ֤ 3561.27 1.80 0.05% 0.01 176.40 2076.49 3559.47 3555.17 3561.67 3528.03
+11 000011 ָ 6475.15 -9.89 -0.15% 0.01 29.48 170.01 6485.04 6482.00 6482.00 6447.67
+12 000012 ծָ 161.17 -0.01 -0.01% 0.00 619.12 5815.76 161.18 161.19 161.20 161.17
+13 000013 ծָ 213.94 0.02 0.01% 0.00 6124.99 5.90 213.92 213.95 213.95 213.93
+14 000015 ָ 3259.71 -5.43 -0.17% 0.01 42.04 416.80 3265.14 3261.86 3263.32 3227.47
+2 000002 ָ 3730.20 1.85 0.05% 0.01 176.15 2074.38 3728.35 3723.83 3730.62 3695.32
+4 000004 ҵָ 2789.62 14.52 0.52% 0.01 85.53 1030.47 2775.10 2779.36 2791.40 2771.46
+5 000005 ҵָ 3402.42 -20.87 -0.61% 0.01 9.80 136.18 3423.29 3403.73 3404.51 3383.14
+6 000006 زָ 8474.63 -72.33 -0.85% 0.03 8.05 103.09 8546.96 8522.93 8522.93 8285.62
+7 000007 ָ 6243.54 77.39 1.26% 0.02 22.44 198.31 6166.15 6158.51 6245.52 6143.97
+8 000008 ۺָ 3400.29 -24.20 -0.71% 0.02 50.58 608.43 3424.49 3410.31 3410.31 3358.02
+9 000009 ֤380 5738.29 19.59 0.34% 0.01 33.05 399.49 5718.70 5716.02 5740.00 5707.48
+10 000010 ֤180 9430.67 -22.52 -0.24% 0.01 101.75 1202.31 9453.19 9435.60 9435.60 9326.03
+16 000017 ָ 3007.77 1.48 0.05% 0.01 175.27 2054.03 3006.29 3002.66 3008.11 2979.65
+17 000018 180 6026.05 -58.45 -0.96% 0.02 37.51 463.68 6084.50 6054.17 6054.17 5961.10
+18 000019 ָ 1187.46 -1.79 -0.15% 0.01 81.87 921.37 1189.25 1187.24 1187.63 1175.56
+19 000020 ָ 1259.54 4.45 0.35% 0.01 13.35 171.05 1255.09 1253.29 1260.12 1251.21
+21 000022 ˾ծ 182.26 0.03 0.02% 0.00 3886.14 3.78 182.23 182.26 182.27 182.25
+22 000025 180 2059.36 19.26 0.94% 0.01 15.64 127.69 2040.10 2040.31 2060.44 2036.09
+23 000026 180Դ 3226.06 63.74 2.02% 0.01 18.60 170.54 3162.32 3201.67 3235.30 3192.40
+24 000027 180 1280.15 18.26 1.45% 0.03 7.64 73.89 1261.89 1255.10 1284.36 1248.99
+25 000028 180ɳ 3698.13 -24.73 -0.66% 0.02 25.17 460.85 3722.86 3719.03 3719.03 3658.68
+26 000029 180ֵ 4717.53 36.57 0.78% 0.02 86.46 889.36 4680.96 4668.04 4750.06 4667.99
+27 000030 180Rɳ 2314.55 9.49 0.41% 0.01 68.24 995.70 2305.06 2298.11 2323.21 2297.85
+28 000031 180Rֵ 3455.12 21.03 0.61% 0.02 122.27 1301.14 3434.09 3424.25 3477.60 3423.74
+29 000032 ֤Դ 1835.32 2.57 0.14% 0.02 9.96 89.04 1832.75 1822.04 1840.57 1811.43
+30 000033 ֤ 2421.70 -14.77 -0.61% 0.01 24.58 249.78 2436.47 2415.57 2431.66 2408.68
+31 000034 ֤ҵ 2557.26 24.12 0.95% 0.01 27.74 285.98 2533.14 2531.02 2567.08 2530.77
+32 000035 ֤ѡ 3056.99 13.06 0.43% 0.01 5.62 93.16 3043.93 3041.07 3066.65 3036.53
+33 000036 ֤ 9729.36 43.68 0.45% 0.01 3.97 97.98 9685.68 9677.09 9753.11 9665.87
+34 000037 ֤ҽҩ 7165.88 12.91 0.18% 0.01 3.29 78.36 7152.97 7148.10 7178.45 7135.69
+35 000038 ֤ 5935.56 30.56 0.52% 0.02 57.46 642.70 5905.00 5887.89 5991.23 5887.89
+36 000039 ֤Ϣ 3507.91 9.69 0.28% 0.01 3.59 65.71 3498.22 3491.05 3520.78 3487.43
+37 000040 ֤ 3446.78 -20.02 -0.58% 0.01 3.94 48.33 3466.80 3462.74 3471.74 3441.34
+38 000041 ֤ 2135.27 -4.12 -0.19% 0.00 4.03 24.82 2139.39 2137.18 2139.96 2129.41
+39 000042 ֤ 1842.06 10.62 0.58% 0.02 77.92 704.67 1831.44 1824.57 1855.44 1823.72
+44 000047 ֤ȫָ 3652.69 14.25 0.39% 0.01 171.44 1952.69 3638.44 3628.58 3669.26 3627.71
+45 000048 ָ 1629.02 11.85 0.73% 0.02 42.38 662.45 1617.17 1613.86 1638.91 1613.86
+
diff --git a/stockdata/stockcodewangyiShenz.txt b/stockdata/stockcodewangyiShenz.txt
new file mode 100644
index 0000000..f075708
--- /dev/null
+++ b/stockdata/stockcodewangyiShenz.txt
@@ -0,0 +1,32 @@
+44 399300 300 4381.30 16.22 0.37% 0.01 177.23 2233.31 4365.08 4352.22 4403.34 4351.49
+4 399004 ֤100R 6150.90 -22.31 -0.36% 0.01 39.58 604.90 6173.21 6160.29 6169.76 6104.60
+5 399005 Сָ 7745.61 7.06 0.09% 0.00 17.80 290.18 7738.55 7729.53 7757.73 7722.33
+6 399006 ҵָ 1829.05 15.78 0.87% 0.02 23.13 362.12 1813.28 1811.11 1852.23 1807.52
+1 399001 ָ֤ 11609.08 1.51 0.01% 0.00 183.43 2137.22 11607.57 11588.38 11615.67 11559.63
+2 399002 ָR 13868.43 1.80 0.01% 0.00 89.69 1274.81 13866.63 13843.70 13876.30 13809.35
+3 399003 ɷݣָ 6839.27 -26.57 -0.39% 0.01 684.43 4760.20 6865.84 6872.14 6872.14 6811.48
+7 399007 ֤300 4891.74 -4.21 -0.09% 0.01 71.73 1040.11 4895.94 4887.42 4896.02 4866.96
+8 399008 С300 1516.34 2.26 0.15% 0.01 31.88 461.04 1514.08 1512.11 1518.39 1510.71
+19 399101 С 11536.80 19.75 0.17% 0.00 50.96 718.94 11517.05 11499.73 11538.74 11486.09
+20 399102 ҵ 2255.72 13.58 0.61% 0.02 44.52 731.02 2242.14 2237.99 2273.78 2234.59
+22 399106 ָ֤ 1963.39 2.46 0.13% 0.00 151.46 2102.24 1960.93 1957.15 1963.50 1954.55
+25 399231 ũָ 1304.92 -1.36 -0.10% 0.01 1.38 16.93 1306.28 1305.54 1309.17 1299.11
+26 399232 ɿָ 2240.26 -25.98 -1.15% 0.01 2.63 27.23 2266.23 2246.23 2250.29 2236.89
+27 399233 ָ 2140.18 -3.08 -0.14% 0.01 102.41 1489.77 2143.26 2137.76 2147.12 2135.74
+28 399234 ˮָ 905.77 -3.70 -0.41% 0.00 2.32 19.88 909.47 907.13 909.12 905.55
+29 399235 ָ 1920.25 -5.25 -0.27% 0.01 3.52 40.54 1925.50 1921.58 1932.85 1915.81
+30 399236 ָ 1842.84 -8.87 -0.48% 0.01 3.86 46.77 1851.71 1849.68 1854.96 1841.82
+31 399237 ָ 1413.79 12.13 0.87% 0.01 2.81 30.57 1401.65 1397.94 1416.19 1396.16
+32 399238 ָ 1552.27 1.40 0.09% 0.01 681.37 5642.95 1550.87 1550.72 1558.33 1548.42
+33 399239 ITָ 1916.67 -2.49 -0.13% 0.01 18.30 288.61 1919.16 1909.19 1929.22 1908.81
+34 399240 ָ 1214.24 -3.23 -0.27% 0.01 10.79 128.40 1217.47 1213.20 1229.56 1211.64
+35 399241 زָ 3534.74 28.48 0.81% 0.02 12.08 152.71 3506.25 3495.92 3568.30 3486.03
+36 399242 ָ 1756.70 -3.63 -0.21% 0.01 4.43 46.98 1760.33 1760.08 1767.58 1752.78
+37 399243 ָ 2109.66 -21.53 -1.01% 0.01 8605.52 20.47 2131.19 2120.98 2130.12 2107.19
+38 399244 ָ 1589.49 -9.40 -0.59% 0.01 1.32 24.18 1598.89 1595.06 1600.14 1588.04
+39 399248 Ļָ 1522.97 6.39 0.42% 0.01 4.35 55.08 1516.59 1512.72 1529.41 1509.72
+40 399249 ָ 779.22 -6.70 -0.85% 0.01 4987.54 4.87 785.92 784.81 784.81 778.12
+45 399301 ծ 158.50 0.02 0.01% 0.00 386.88 3.78 158.49 158.51 158.54 158.50
+46 399302 ˾ծ 161.68 0.02 0.01% 0.00 386.73 3.78 161.66 161.68 161.70 161.67
+48 399306 ֤ETF 1284.04 6.12 0.48% 0.01 13.15 22.38 1277.92 1276.90 1288.05 1275.22
+49 399307 ֤תծ 191.68 0.20 0.10% 0.01 489.12 5.12 191.49 191.55 192.14 191.16
diff --git a/stockdata/stockcodewangyidetail.txt b/stockdata/stockcodewangyidetail.txt
new file mode 100644
index 0000000..adf8502
--- /dev/null
+++ b/stockdata/stockcodewangyidetail.txt
@@ -0,0 +1,3 @@
+1 W00004 վ225
+2 W00031 ¹DAXָ
+3 HSI001 ָ
\ No newline at end of file
diff --git a/stockdata/stockcodewangyiqdii.txt b/stockdata/stockcodewangyiqdii.txt
new file mode 100644
index 0000000..e06990d
--- /dev/null
+++ b/stockdata/stockcodewangyiqdii.txt
@@ -0,0 +1,2 @@
+1 NASDAQ ˹ 3561.27 1.80 0.05% 0.01 176.40 2076.49 3559.47 3555.17 3561.67 3528.03
+2 SP500 500 3730.20 1.85 0.05% 0.01 176.15 2074.38 3728.35 3723.83 3730.62 3695.32
\ 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 0000000..c6e600f
Binary files /dev/null and b/trade_process/__init__.pyc differ
diff --git a/trade_process/dongfangcf/399307.csv b/trade_process/dongfangcf/399307.csv
new file mode 100644
index 0000000..678844c
--- /dev/null
+++ b/trade_process/dongfangcf/399307.csv
@@ -0,0 +1,246 @@
+,Ʊ,,̼,,ͼ,̼,ǰ,ǵ,ǵ,,ɽ,ɽ,ֵ,ֵͨ
+2018-01-26,'399307,֤תծ,191.6822,192.1395,191.1625,191.5485,191.4865,0.1957,0.1022,,4891199,512406147.931,,
+2018-01-25,'399307,֤תծ,191.4865,191.9322,189.5327,189.5327,189.5787,1.9078,1.0063,,7160037,743034134.523,,
+2018-01-24,'399307,֤תծ,189.5787,189.5932,187.9129,187.9954,188.0245,1.5542,0.8266,,3965334,403408272.655,,
+2018-01-23,'399307,֤תծ,188.0245,188.2967,187.3681,187.8975,187.5066,0.5179,0.2762,,2953724,302123248.662,,
+2018-01-22,'399307,֤תծ,187.5066,187.6527,185.0705,185.2946,185.1969,2.3097,1.2472,,2952880,313359809.36,,
+2018-01-19,'399307,֤תծ,185.1969,185.6881,184.6927,184.8541,185.0765,0.1204,0.0651,,1781952,181597265.692,,
+2018-01-18,'399307,֤תծ,185.0765,185.111,184.066,184.1763,184.4281,0.6484,0.3516,,2335703,239026520.59,,
+2018-01-17,'399307,֤תծ,184.4281,185.4243,183.4969,184.6081,184.5247,-0.0966,-0.0524,,2492686,247824871.068,,
+2018-01-16,'399307,֤תծ,184.5247,184.9917,184.4632,184.7083,184.6735,-0.1488,-0.0806,,1560711,156296391.237,,
+2018-01-15,'399307,֤תծ,184.6735,186.6803,184.6438,186.5784,186.6871,-2.0136,-1.0786,,1987953,202526787.371,,
+2018-01-12,'399307,֤תծ,186.6871,187.1092,186.5642,187.0468,187.1066,-0.4195,-0.2242,,1912916,198756533.554,,
+2018-01-11,'399307,֤תծ,187.1066,187.1693,185.9555,186.6534,186.6885,0.4181,0.224,,1552818,157602971.779,,
+2018-01-10,'399307,֤תծ,186.6885,187.6209,186.0098,187.6209,187.6665,-0.978,-0.5211,,2281942,237491227.894,,
+2018-01-09,'399307,֤תծ,187.6665,188.7916,187.4513,188.6223,188.7128,-1.0463,-0.5544,,2329277,241544331.246,,
+2018-01-08,'399307,֤תծ,188.7128,189.301,188.5189,188.6883,188.3812,0.3316,0.176,,4794759,499285321.788,,
+2018-01-05,'399307,֤תծ,188.3812,188.4574,186.6273,186.7681,186.7781,1.6031,0.8583,,4043650,414941980.873,,
+2018-01-04,'399307,֤תծ,186.7781,186.8322,185.4452,185.9428,185.9346,0.8435,0.4537,,3981847,415930090.174,,
+2018-01-03,'399307,֤תծ,185.9346,185.9703,183.979,184.3015,184.2812,1.6534,0.8972,,4454826,467581224.871,,
+2018-01-02,'399307,֤תծ,184.2812,184.3297,182.459,182.459,182.419,1.8622,1.0208,,3357488,343087760.912,,
+2017-12-29,'399307,֤תծ,182.419,182.6081,181.303,181.6081,181.5835,0.8355,0.4601,,804203,80953177.642,,
+2017-12-28,'399307,֤תծ,181.5835,181.999,181.1708,181.535,181.361,0.2225,0.1227,,1052591,101324476.255,,
+2017-12-27,'399307,֤תծ,181.361,182.9491,181.3286,182.9362,182.9364,-1.5754,-0.8612,,967863,97039049.559,,
+2017-12-26,'399307,֤תծ,182.9364,183.4643,182.5305,183.4643,183.4452,-0.5088,-0.2774,,1370198,135991910.931,,
+2017-12-25,'399307,֤תծ,183.4452,184.8033,183.0372,184.0713,184.1681,-0.7229,-0.3925,,2301596,238257706.412,,
+2017-12-22,'399307,֤תծ,184.1681,184.5475,182.7753,183.3213,183.3195,0.8486,0.4629,,1401283,148928034.377,,
+2017-12-21,'399307,֤תծ,183.3195,183.8403,182.073,182.2955,182.3286,0.9909,0.5435,,1398547,145466989.007,,
+2017-12-20,'399307,֤תծ,182.3286,183.3667,182.2922,183.2464,183.2464,-0.9178,-0.5009,,1038127,105204221.528,,
+2017-12-19,'399307,֤תծ,183.2464,183.2962,182.4319,182.6303,182.9217,0.3247,0.1775,,1803422,182066124.247,,
+2017-12-18,'399307,֤תծ,182.9217,183.354,182.7484,183.2005,183.1854,-0.2637,-0.144,,709950,70043471.331,,
+2017-12-15,'399307,֤תծ,183.1854,183.4581,182.7936,183.3887,183.3787,-0.1933,-0.1054,,642769,65496307.079,,
+2017-12-14,'399307,֤תծ,183.3787,183.8493,182.9917,183.3566,183.3566,0.0221,0.0121,,725203,74254305.768,,
+2017-12-13,'399307,֤תծ,183.3566,183.3968,181.8151,183.0391,183.0157,0.3409,0.1863,,687293,71636563.799,,
+2017-12-12,'399307,֤תծ,183.0157,185.0665,183.0157,184.926,184.8442,-1.8285,-0.9892,,621293,63476696.009,,
+2017-12-11,'399307,֤תծ,184.8442,185.5422,182.8905,183.7644,183.4224,1.4218,0.7752,,1640569,167509556.695,,
+2017-12-08,'399307,֤תծ,183.4224,183.6297,180.1656,180.4585,180.4554,2.967,1.6442,,1632324,162893149.725,,
+2017-12-07,'399307,֤תծ,180.4554,180.6496,178.9164,178.9164,179.0767,1.3787,0.7699,,1642718,163451652.0,,
+2017-12-06,'399307,֤תծ,179.0767,179.712,178.5201,178.7665,179.1123,-0.0356,-0.0199,,1932515,193877088.957,,
+2017-12-05,'399307,֤תծ,179.1123,180.2672,178.9631,179.9471,180.7936,-1.6813,-0.93,,1813967,182348223.278,,
+2017-12-04,'399307,֤תծ,180.7936,182.6563,179.9448,182.6563,182.6487,-1.8551,-1.0157,,3089339,308851151.328,,
+2017-12-01,'399307,֤תծ,182.6487,184.7895,182.5119,184.6056,184.7032,-2.0545,-1.1123,,2344284,238246864.328,,
+2017-11-30,'399307,֤תծ,184.7032,185.5994,184.4977,185.0842,185.0772,-0.374,-0.2021,,1357721,145170617.937,,
+2017-11-29,'399307,֤תծ,185.0772,186.4149,184.7866,185.8323,185.7724,-0.6952,-0.3742,,1466961,154494182.526,,
+2017-11-28,'399307,֤תծ,185.7724,186.42,185.5774,185.964,185.9423,-0.1699,-0.0914,,813526,85116736.63,,
+2017-11-27,'399307,֤תծ,185.9423,186.3885,185.6619,186.1193,186.1113,-0.169,-0.0908,,975793,103553828.664,,
+2017-11-24,'399307,֤תծ,186.1113,187.887,186.0864,187.8691,187.7741,-1.6628,-0.8855,,2002041,211668835.561,,
+2017-11-23,'399307,֤תծ,187.7741,189.0464,187.3595,188.9477,188.8408,-1.0667,-0.5649,,1411392,148890700.461,,
+2017-11-22,'399307,֤תծ,188.8408,189.5919,188.6382,189.0477,188.9165,-0.0757,-0.0401,,1283650,137078498.434,,
+2017-11-21,'399307,֤תծ,188.9165,190.1363,188.8688,189.6661,189.6757,-0.7592,-0.4003,,1678986,170710995.65,,
+2017-11-20,'399307,֤תծ,189.6757,190.82,189.1841,190.82,190.8258,-1.1501,-0.6027,,1146806,123144057.252,,
+2017-11-17,'399307,֤תծ,190.8258,192.8782,190.7884,192.4606,192.7285,-1.9027,-0.9872,,889668,94615244.222,,
+2017-11-16,'399307,֤תծ,192.7285,193.1203,192.6658,193.1203,193.1226,-0.3941,-0.2041,,584144,64308561.39,,
+2017-11-15,'399307,֤תծ,193.1226,193.9317,192.4867,193.9317,193.8158,-0.6932,-0.3577,,426574,47845969.844,,
+2017-11-14,'399307,֤תծ,193.8158,194.8389,193.7657,194.8171,194.8171,-1.0013,-0.514,,415028,45803725.161,,
+2017-11-13,'399307,֤תծ,194.8171,195.3027,194.3955,194.4801,194.4418,0.3753,0.193,,1251753,141246479.56,,
+2017-11-10,'399307,֤תծ,194.4418,194.7637,194.2204,194.2777,194.2702,0.1716,0.0883,,573610,64180297.137,,
+2017-11-09,'399307,֤תծ,194.2702,194.4484,193.8811,194.1022,194.1022,0.168,0.0866,,531037,59143652.355,,
+2017-11-08,'399307,֤תծ,194.1022,194.1966,193.4916,193.8382,193.8198,0.2824,0.1457,,725433,79228961.597,,
+2017-11-07,'399307,֤תծ,193.8198,194.0515,193.5217,193.8222,193.9651,-0.1453,-0.0749,,1149986,128756769.058,,
+2017-11-06,'399307,֤תծ,193.9651,194.2736,193.6921,193.9256,194.0666,-0.1015,-0.0523,,672751,75250218.881,,
+2017-11-03,'399307,֤תծ,194.0666,194.7646,193.5364,194.7646,194.983,-0.9164,-0.47,,2513796,288970929.848,,
+2017-11-02,'399307,֤תծ,194.983,196.1981,194.8644,196.1305,196.0956,-1.1126,-0.5674,,1480300,170582360.505,,
+2017-11-01,'399307,֤תծ,196.0956,196.2696,194.4705,194.4751,194.4544,1.6412,0.844,,2928222,339477416.107,,
+2017-10-31,'399307,֤תծ,194.4544,195.1445,194.234,195.0509,195.0583,-0.6039,-0.3096,,637604,67375916.378,,
+2017-10-30,'399307,֤תծ,195.0583,196.8716,194.9502,196.8716,196.848,-1.7897,-0.9092,,269127,28574013.526,,
+2017-10-27,'399307,֤תծ,196.848,197.3007,196.4108,197.1124,197.0918,-0.2438,-0.1237,,432295,45837536.886,,
+2017-10-26,'399307,֤תծ,197.0918,197.5322,197.0087,197.4741,197.4146,-0.3228,-0.1635,,641858,69110515.569,,
+2017-10-25,'399307,֤תծ,197.4146,197.6105,197.1918,197.2291,197.2053,0.2093,0.1061,,529790,58552804.977,,
+2017-10-24,'399307,֤תծ,197.2053,197.4299,196.8764,197.3887,197.384,-0.1787,-0.0905,,252493,26860165.851,,
+2017-10-23,'399307,֤תծ,197.384,197.7873,197.108,197.7676,197.4331,-0.0491,-0.0249,,489657,51499900.215,,
+2017-10-20,'399307,֤תծ,197.4331,197.6765,196.6798,197.0239,196.886,0.5471,0.2779,,829445,86971077.307,,
+2017-10-19,'399307,֤תծ,196.886,198.1497,195.6951,198.1497,198.1329,-1.2469,-0.6293,,384003,42021812.26,,
+2017-10-18,'399307,֤תծ,198.1329,198.7501,198.0478,198.5271,198.5021,-0.3692,-0.186,,446578,49049812.893,,
+2017-10-17,'399307,֤תծ,198.5021,198.7814,198.333,198.491,198.476,0.0261,0.0132,,345184,38358066.675,,
+2017-10-16,'399307,֤תծ,198.476,199.6285,198.3576,199.2019,199.2686,-0.7926,-0.3978,,412829,44145107.288,,
+2017-10-13,'399307,֤תծ,199.2686,199.5075,198.9616,199.0689,199.0453,0.2233,0.1122,,426172,47525002.1,,
+2017-10-12,'399307,֤תծ,199.0453,199.4587,198.8065,199.324,199.4202,-0.3749,-0.188,,399572,43307920.255,,
+2017-10-11,'399307,֤תծ,199.4202,199.6403,198.6189,198.6189,198.6215,0.7987,0.4021,,568523,62270682.361,,
+2017-10-10,'399307,֤תծ,198.6215,198.6215,197.4463,197.8029,197.8047,0.8168,0.4129,,515153,55802633.142,,
+2017-10-09,'399307,֤תծ,197.8047,198.6584,197.677,198.1312,197.9268,-0.1221,-0.0617,,452564,48561091.44,,
+2017-09-29,'399307,֤תծ,197.9268,197.9562,196.8662,196.985,196.9664,0.9604,0.4876,,229054,25023081.358,,
+2017-09-28,'399307,֤תծ,196.9664,197.1551,196.6181,196.9082,196.8558,0.1106,0.0562,,385647,40973261.069,,
+2017-09-27,'399307,֤תծ,196.8558,197.364,196.4153,196.968,196.8885,-0.0327,-0.0166,,674543,73584006.272,,
+2017-09-26,'399307,֤תծ,196.8885,198.0685,196.5544,198.0316,197.9834,-1.0949,-0.553,,601588,65218800.83,,
+2017-09-25,'399307,֤תծ,197.9834,199.6325,197.6785,199.6325,199.6774,-1.694,-0.8484,,371241,40682138.703,,
+2017-09-22,'399307,֤תծ,199.6774,201.1514,199.3504,200.9701,201.0505,-1.3731,-0.683,,473553,52689436.893,,
+2017-09-21,'399307,֤תծ,201.0505,202.1389,200.8775,201.9862,201.9538,-0.9033,-0.4473,,255286,28435231.113,,
+2017-09-20,'399307,֤תծ,201.9538,202.2584,201.5261,201.9431,201.7744,0.1794,0.0889,,291744,31820200.727,,
+2017-09-19,'399307,֤תծ,201.7744,202.7462,201.4291,202.5245,202.4904,-0.716,-0.3536,,328921,36523173.342,,
+2017-09-18,'399307,֤תծ,202.4904,203.0931,202.0197,203.0931,203.0637,-0.5733,-0.2823,,249853,28244939.438,,
+2017-09-15,'399307,֤תծ,203.0637,203.3213,202.4721,203.3138,203.1598,-0.0961,-0.0473,,697540,80872121.634,,
+2017-09-14,'399307,֤תծ,203.1598,203.9284,202.9733,203.9284,203.8695,-0.7097,-0.3481,,319060,35685520.848,,
+2017-09-13,'399307,֤תծ,203.8695,204.6862,203.6815,204.5275,204.4715,-0.602,-0.2944,,485717,54417723.481,,
+2017-09-12,'399307,֤תծ,204.4715,205.3864,204.258,205.1897,205.1623,-0.6908,-0.3367,,1179077,137850178.38,,
+2017-09-11,'399307,֤תծ,205.1623,206.0758,204.9517,206.0758,206.1668,-1.0045,-0.4872,,716312,80477620.108,,
+2017-09-08,'399307,֤תծ,206.1668,206.5037,205.7393,205.8079,205.8108,0.356,0.173,,547616,61474813.466,,
+2017-09-07,'399307,֤תծ,205.8108,206.4939,205.6129,205.8686,205.8049,0.0059,0.0029,,1105193,122670900.551,,
+2017-09-06,'399307,֤תծ,205.8049,205.8594,204.8976,205.4043,205.3298,0.4751,0.2314,,790738,89374488.931,,
+2017-09-05,'399307,֤תծ,205.3298,205.4801,204.7489,205.3272,205.3453,-0.0155,-0.0075,,1936201,219042263.837,,
+2017-09-04,'399307,֤תծ,205.3453,205.6465,204.5574,204.8388,204.8185,0.5268,0.2572,,907583,102823117.967,,
+2017-09-01,'399307,֤תծ,204.8185,204.8563,204.0614,204.2598,204.3056,0.5129,0.251,,1277490,148786024.261,,
+2017-08-31,'399307,֤תծ,204.3056,204.5818,203.7691,204.3262,204.2979,0.0077,0.0038,,441452,50465606.872,,
+2017-08-30,'399307,֤תծ,204.2979,204.391,203.3523,204.0438,204.0732,0.2247,0.1101,,1030442,119991763.55,,
+2017-08-29,'399307,֤תծ,204.0732,204.837,203.6995,204.4743,204.5964,-0.5232,-0.2557,,483686,55905728.643,,
+2017-08-28,'399307,֤תծ,204.5964,204.9635,203.2321,203.5788,203.5794,1.017,0.4996,,1546569,174912194.732,,
+2017-08-25,'399307,֤תծ,203.5794,203.6505,202.3798,202.5232,202.5235,1.0559,0.5214,,1153649,130390565.252,,
+2017-08-24,'399307,֤תծ,202.5235,203.2343,202.3866,203.0591,203.0414,-0.5179,-0.2551,,442037,50223137.902,,
+2017-08-23,'399307,֤תծ,203.0414,203.3267,202.9356,203.0488,203.0373,0.0041,0.002,,516347,59089255.491,,
+2017-08-22,'399307,֤תծ,203.0373,203.9011,202.9324,203.9011,203.9011,-0.8638,-0.4236,,359394,40470941.276,,
+2017-08-21,'399307,֤תծ,203.9011,204.2402,203.4855,204.0508,204.0281,-0.127,-0.0622,,1501438,174603824.134,,
+2017-08-18,'399307,֤תծ,204.0281,204.3619,203.6142,204.1707,204.2438,-0.2157,-0.1056,,1334568,153766132.416,,
+2017-08-17,'399307,֤תծ,204.2438,204.3258,202.8038,203.1757,203.1851,1.0587,0.5211,,1470584,170680595.797,,
+2017-08-16,'399307,֤תծ,203.1851,203.7198,202.1224,202.9209,202.7591,0.426,0.2101,,1754382,202976026.148,,
+2017-08-15,'399307,֤תծ,202.7591,203.1926,202.2617,202.7136,202.5258,0.2333,0.1152,,898862,103283607.766,,
+2017-08-14,'399307,֤תծ,202.5258,202.7392,200.9649,201.2323,200.8201,1.7057,0.8494,,537431,60925203.857,,
+2017-08-11,'399307,֤תծ,200.8201,202.3237,200.7679,202.3237,202.3266,-1.5065,-0.7446,,701377,77478596.155,,
+2017-08-10,'399307,֤תծ,202.3266,203.2896,201.6951,203.1744,202.9801,-0.6535,-0.322,,334874,36737138.843,,
+2017-08-09,'399307,֤תծ,202.9801,204.4843,202.9235,204.0053,203.9222,-0.9421,-0.462,,548154,63346284.906,,
+2017-08-08,'399307,֤תծ,203.9222,204.7321,203.8431,204.2993,204.3973,-0.4751,-0.2324,,558234,63694096.681,,
+2017-08-07,'399307,֤תծ,204.3973,205.1189,204.0083,204.8617,204.917,-0.5197,-0.2536,,639053,73549829.561,,
+2017-08-04,'399307,֤תծ,204.917,205.8109,204.9113,205.587,205.4269,-0.5099,-0.2482,,1005161,121008687.428,,
+2017-08-03,'399307,֤תծ,205.4269,205.6352,204.6622,204.9359,204.9621,0.4648,0.2268,,1528982,179536717.998,,
+2017-08-02,'399307,֤תծ,204.9621,205.5459,204.8233,205.1246,205.1858,-0.2237,-0.109,,2391928,299103683.688,,
+2017-08-01,'399307,֤תծ,205.1858,205.9854,204.8122,205.8147,205.7416,-0.5558,-0.2701,,1525032,187892946.65,,
+2017-07-31,'399307,֤תծ,205.7416,205.8024,203.3221,203.3237,203.3393,2.4023,1.1814,,3409487,420610041.708,,
+2017-07-28,'399307,֤תծ,203.3393,203.3517,201.2709,201.5986,201.5983,1.741,0.8636,,2533746,309286760.73,,
+2017-07-27,'399307,֤תծ,201.5983,201.6278,199.8629,200.1935,200.1935,1.4048,0.7017,,1909918,219115394.843,,
+2017-07-26,'399307,֤תծ,200.1935,200.6794,199.853,200.1199,199.9029,0.2906,0.1454,,1003926,117187664.666,,
+2017-07-25,'399307,֤תծ,199.9029,201.3102,199.9029,200.9555,200.9555,-1.0526,-0.5238,,863807,97631023.649,,
+2017-07-24,'399307,֤תծ,200.9555,201.0173,200.1246,200.3836,200.3024,0.6531,0.3261,,928483,101195713.532,,
+2017-07-21,'399307,֤תծ,200.3024,200.4891,199.1696,199.3778,199.341,0.9614,0.4823,,1429690,154955519.126,,
+2017-07-20,'399307,֤תծ,199.341,199.6499,198.6914,198.7907,198.748,0.593,0.2984,,1295899,147266762.474,,
+2017-07-19,'399307,֤תծ,198.748,198.748,196.7975,197.2297,197.282,1.466,0.7431,,2212375,252251780.573,,
+2017-07-18,'399307,֤תծ,197.282,198.1164,196.2744,197.9696,198.3203,-1.0383,-0.5235,,1290784,149335448.878,,
+2017-07-17,'399307,֤תծ,198.3203,200.9211,198.1336,200.9211,200.9102,-2.5899,-1.2891,,1019140,111079477.59,,
+2017-07-14,'399307,֤תծ,200.9102,201.0752,200.3993,200.7401,200.7239,0.1863,0.0928,,443993,52903621.369,,
+2017-07-13,'399307,֤תծ,200.7239,201.0468,200.0184,200.0184,199.8802,0.8437,0.4221,,1185935,139021127.41,,
+2017-07-12,'399307,֤תծ,199.8802,201.4579,199.5669,201.3455,201.3455,-1.4653,-0.7278,,601235,72175161.232,,
+2017-07-11,'399307,֤תծ,201.3455,202.373,201.3455,202.2128,202.0835,-0.738,-0.3652,,500563,58204934.741,,
+2017-07-10,'399307,֤תծ,202.0835,203.4269,201.834,202.0886,202.0886,-0.0051,-0.0025,,2073726,266371592.323,,
+2017-07-07,'399307,֤תծ,202.0886,202.2563,201.3981,201.9163,201.7672,0.3214,0.1593,,833694,98934996.929,,
+2017-07-06,'399307,֤תծ,201.7672,202.3211,201.2321,201.6956,201.6188,0.1484,0.0736,,1272851,145856215.179,,
+2017-07-05,'399307,֤תծ,201.6188,201.6188,200.239,200.3901,200.3449,1.2739,0.6359,,1926938,221668140.865,,
+2017-07-04,'399307,֤תծ,200.3449,200.7803,199.9821,200.5104,200.41,-0.0651,-0.0325,,715195,78522663.539,,
+2017-07-03,'399307,֤תծ,200.41,200.7674,198.7352,198.7729,198.772,1.638,0.8241,,562002,62368265.985,,
+2017-06-30,'399307,֤תծ,198.772,199.6614,198.0852,199.6614,199.6614,-0.8894,-0.4455,,792752,89343675.851,,
+2017-06-29,'399307,֤תծ,199.6614,202.7856,198.6517,199.7889,199.7063,-0.0449,-0.0225,,1053672,123916265.91,,
+2017-06-28,'399307,֤תծ,199.7063,202.2018,199.4356,202.0382,202.2982,-2.5919,-1.2812,,1140406,136699115.75,,
+2017-06-27,'399307,֤תծ,202.2982,204.6657,201.3955,203.8032,203.3784,-1.0802,-0.5311,,1931451,249102799.391,,
+2017-06-26,'399307,֤תծ,203.3784,204.0947,199.8853,199.8972,200.0418,3.3366,1.668,,3662564,501837434.643,,
+2017-06-23,'399307,֤תծ,200.0418,200.2606,198.005,199.589,199.7814,0.2604,0.1303,,2446431,323456562.134,,
+2017-06-22,'399307,֤תծ,199.7814,202.6447,199.2757,202.0015,201.4,-1.6186,-0.8037,,3827176,529012333.36,,
+2017-06-21,'399307,֤תծ,201.4,201.4,199.6655,201.0533,200.4082,0.9918,0.4949,,3672960,500797398.621,,
+2017-06-20,'399307,֤תծ,200.4082,200.8765,198.973,199.0423,198.4898,1.9184,0.9665,,4039363,533147760.08,,
+2017-06-19,'399307,֤תծ,198.4898,198.5179,195.5982,195.7967,196.0346,2.4552,1.2524,,1935004,250044324.861,,
+2017-06-16,'399307,֤תծ,196.0346,197.7456,195.6143,196.7756,197.2078,-1.1732,-0.5949,,709207,91788987.381,,
+2017-06-15,'399307,֤תծ,197.2078,197.6794,194.7986,194.8527,195.1195,2.0883,1.0703,,763681,84670143.586,,
+2017-06-14,'399307,֤תծ,195.1195,196.2949,194.737,196.074,196.1262,-1.0067,-0.5133,,540448,61843400.77,,
+2017-06-13,'399307,֤תծ,196.1262,196.5393,194.7391,196.0991,196.0627,0.0635,0.0324,,1056863,135137784.0,,
+2017-06-12,'399307,֤תծ,196.0627,197.6214,195.499,197.0712,196.8879,-0.8252,-0.4191,,975457,118722400.352,,
+2017-06-09,'399307,֤תծ,196.8879,202.0101,194.3619,195.0819,195.1479,1.74,0.8916,,812634,91280685.833,,
+2017-06-08,'399307,֤תծ,195.1479,196.9697,194.495,195.6706,195.4989,-0.351,-0.1795,,1281874,166127911.21,,
+2017-06-07,'399307,֤תծ,195.4989,195.9413,191.0182,191.0965,190.8597,4.6392,2.4307,,3219252,392738923.834,,
+2017-06-06,'399307,֤תծ,190.8597,191.0932,188.93,189.3347,188.6486,2.2111,1.1721,,1719802,213064355.223,,
+2017-06-05,'399307,֤תծ,188.6486,190.0988,186.4443,186.5951,186.5964,2.0522,1.0998,,1944536,236867418.688,,
+2017-06-02,'399307,֤תծ,186.5964,187.2298,185.5506,187.1924,186.7592,-0.1628,-0.0872,,1171284,144261318.46,,
+2017-06-01,'399307,֤תծ,186.7592,187.4143,186.147,186.8707,186.5023,0.2569,0.1377,,1340236,165057659.551,,
+2017-05-31,'399307,֤תծ,186.5023,188.0193,186.1485,187.583,188.1442,-1.6419,-0.8727,,1453116,168735091.356,,
+2017-05-26,'399307,֤תծ,188.1442,189.6527,186.7236,189.3941,189.3364,-1.1922,-0.6297,,852800,98790807.236,,
+2017-05-25,'399307,֤תծ,189.3364,189.7195,187.7173,189.52,188.638,0.6984,0.3702,,1101170,138292784.329,,
+2017-05-24,'399307,֤תծ,188.638,189.281,187.342,189.1579,189.2055,-0.5675,-0.2999,,1071732,128283712.404,,
+2017-05-23,'399307,֤תծ,189.2055,190.5647,189.0827,190.013,189.9683,-0.7628,-0.4015,,2352878,302970765.044,,
+2017-05-22,'399307,֤תծ,189.9683,191.4668,189.6724,191.1553,191.1399,-1.1716,-0.613,,802437,98973570.792,,
+2017-05-19,'399307,֤תծ,191.1399,191.4036,190.6434,190.9052,190.889,0.2509,0.1314,,1548230,185346054.338,,
+2017-05-18,'399307,֤תծ,190.889,192.9212,190.5262,192.5132,191.8303,-0.9413,-0.4907,,2084808,236921771.71,,
+2017-05-17,'399307,֤תծ,191.8303,193.7165,191.106,192.4277,192.3285,-0.4982,-0.259,,1453697,192789006.845,,
+2017-05-16,'399307,֤תծ,192.3285,192.378,189.3182,189.9072,189.8638,2.4647,1.2981,,5178360,702455184.516,,
+2017-05-15,'399307,֤תծ,189.8638,190.4104,187.2676,187.9112,187.8391,2.0247,1.0779,,2856185,369643453.394,,
+2017-05-12,'399307,֤תծ,187.8391,188.8857,187.3323,188.2752,187.7171,0.122,0.065,,717455,83550236.134,,
+2017-05-11,'399307,֤תծ,187.7171,188.9465,187.0193,188.9299,188.6917,-0.9746,-0.5165,,1020792,118963751.205,,
+2017-05-10,'399307,֤תծ,188.6917,189.7158,188.3858,189.0729,188.3577,0.334,0.1773,,2033771,259170243.563,,
+2017-05-09,'399307,֤תծ,188.3577,188.864,187.2592,188.2115,188.1185,0.2392,0.1272,,1209843,131785080.944,,
+2017-05-08,'399307,֤תծ,188.1185,190.0058,187.1899,190.0058,189.6518,-1.5333,-0.8085,,678719,75110937.118,,
+2017-05-05,'399307,֤תծ,189.6518,190.9246,189.5573,190.0829,190.1811,-0.5293,-0.2783,,941990,113397297.674,,
+2017-05-04,'399307,֤תծ,190.1811,191.9428,189.2853,190.0723,189.587,0.5941,0.3134,,837627,98736347.394,,
+2017-05-03,'399307,֤תծ,189.587,191.9567,189.4777,191.9567,191.8634,-2.2764,-1.1865,,823765,97636238.931,,
+2017-05-02,'399307,֤תծ,191.8634,192.2549,191.4115,191.8446,191.731,0.1324,0.0691,,1204421,149918599.795,,
+2017-04-28,'399307,֤תծ,191.731,192.9502,190.121,190.3875,189.9243,1.8067,0.9513,,2461203,286754130.541,,
+2017-04-27,'399307,֤תծ,189.9243,190.2864,188.8995,190.2864,190.1387,-0.2144,-0.1128,,1400344,165801278.232,,
+2017-04-26,'399307,֤תծ,190.1387,191.2661,188.5338,188.5338,188.5808,1.5579,0.8261,,3020936,396681378.843,,
+2017-04-25,'399307,֤תծ,188.5808,189.2225,187.2335,187.3206,187.0367,1.5441,0.8256,,1467791,180041580.497,,
+2017-04-24,'399307,֤תծ,187.0367,189.1178,187.0367,189.0749,189.0866,-2.0499,-1.0841,,821886,97707048.441,,
+2017-04-21,'399307,֤תծ,189.0866,189.2938,188.4255,189.1948,189.0274,0.0592,0.0313,,170185,18692876.713,,
+2017-04-20,'399307,֤תծ,189.0274,189.2528,188.026,188.026,187.958,1.0694,0.569,,515403,62641643.518,,
+2017-04-19,'399307,֤תծ,187.958,188.4771,187.4726,188.2794,188.2887,-0.3307,-0.1756,,631205,68920761.227,,
+2017-04-18,'399307,֤תծ,188.2887,188.8921,188.0013,188.2562,188.2532,0.0355,0.0189,,621372,69498010.9,,
+2017-04-17,'399307,֤תծ,188.2532,190.2978,188.1174,190.2978,190.2978,-2.0446,-1.0744,,480886,52727017.571,,
+2017-04-14,'399307,֤תծ,190.2978,192.0135,190.2477,191.366,191.3426,-1.0448,-0.546,,213768,23437792.368,,
+2017-04-13,'399307,֤תծ,191.3426,191.4602,190.9122,191.1322,191.0821,0.2605,0.1363,,521543,56905679.733,,
+2017-04-12,'399307,֤תծ,191.0821,191.6481,190.8261,191.3171,191.2217,-0.1396,-0.073,,710431,81202370.589,,
+2017-04-11,'399307,֤תծ,191.2217,191.2804,190.3001,191.2523,191.2525,-0.0308,-0.0161,,744402,90920556.167,,
+2017-04-10,'399307,֤תծ,191.2525,191.7625,190.9629,191.6938,191.5793,-0.3268,-0.1706,,829017,100098611.156,,
+2017-04-07,'399307,֤תծ,191.5793,191.7186,190.9586,191.4415,191.4176,0.1617,0.0845,,636097,77963698.974,,
+2017-04-06,'399307,֤תծ,191.4176,192.2747,190.5474,192.0316,191.9454,-0.5278,-0.275,,1390998,169173975.052,,
+2017-04-05,'399307,֤תծ,191.9454,192.5606,191.1645,191.7391,191.5117,0.4337,0.2265,,632579,75716281.335,,
+2017-03-31,'399307,֤תծ,191.5117,194.783,191.1301,191.7911,191.9043,-0.3926,-0.2046,,817640,98704677.665,,
+2017-03-30,'399307,֤תծ,191.9043,192.2893,191.7106,192.2893,192.2922,-0.3879,-0.2017,,272804,33393851.291,,
+2017-03-29,'399307,֤תծ,192.2922,193.0666,191.8971,192.787,192.82,-0.5278,-0.2737,,455545,52723415.932,,
+2017-03-28,'399307,֤תծ,192.82,193.0389,192.5303,192.9227,192.9251,-0.1051,-0.0545,,346424,40756785.361,,
+2017-03-27,'399307,֤תծ,192.9251,193.8849,192.7001,193.7557,193.7325,-0.8074,-0.4168,,482195,57469349.534,,
+2017-03-24,'399307,֤תծ,193.7325,194.1919,192.3496,192.4734,192.3126,1.4199,0.7383,,2014156,256729025.619,,
+2017-03-23,'399307,֤תծ,192.3126,192.7106,191.8303,192.2204,192.1306,0.182,0.0947,,720733,88524410.909,,
+2017-03-22,'399307,֤תծ,192.1306,192.8484,191.4317,192.5262,192.1675,-0.0369,-0.0192,,2214882,273617489.481,,
+2017-03-21,'399307,֤תծ,192.1675,192.2058,191.4609,192.0933,191.9207,0.2468,0.1286,,1482258,182166165.222,,
+2017-03-20,'399307,֤תծ,191.9207,193.0153,191.6056,192.8036,192.5174,-0.5967,-0.3099,,554269,64853266.141,,
+2017-03-17,'399307,֤תծ,192.5174,193.35,192.2982,192.9856,192.9856,-0.4682,-0.2426,,506941,61040911.91,,
+2017-03-16,'399307,֤תծ,192.9856,193.5796,192.6658,193.2478,193.248,-0.2624,-0.1358,,431746,51801815.67,,
+2017-03-15,'399307,֤תծ,193.248,193.7782,193.2261,193.6977,193.6478,-0.3998,-0.2065,,585033,71134007.991,,
+2017-03-14,'399307,֤תծ,193.6478,193.9448,193.4296,193.9289,193.9313,-0.2835,-0.1462,,497863,61293119.35,,
+2017-03-13,'399307,֤תծ,193.9313,194.4694,193.1714,193.8768,193.8768,0.0545,0.0281,,834387,103294306.505,,
+2017-03-10,'399307,֤תծ,193.8768,194.1418,193.5492,194.068,193.9664,-0.0896,-0.0462,,337254,39691873.115,,
+2017-03-09,'399307,֤תծ,193.9664,194.675,193.8167,194.375,194.3902,-0.4238,-0.218,,398779,47623841.548,,
+2017-03-08,'399307,֤תծ,194.3902,195.5558,193.8428,195.0619,195.0619,-0.6717,-0.3444,,714892,81205044.781,,
+2017-03-07,'399307,֤תծ,195.0619,195.5094,194.5753,195.1984,195.1984,-0.1365,-0.0699,,611591,74054888.609,,
+2017-03-06,'399307,֤תծ,195.1984,195.4696,194.2337,194.8538,194.8538,0.3446,0.1769,,610982,76207011.416,,
+2017-03-03,'399307,֤תծ,194.8538,195.0417,193.3201,193.5895,193.5895,1.2643,0.6531,,798093,98543626.379,,
+2017-03-02,'399307,֤תծ,193.5895,193.8523,193.2093,193.4228,193.4228,0.1667,0.0862,,297434,35568247.663,,
+2017-03-01,'399307,֤תծ,193.4228,193.7787,193.2651,193.4872,193.4872,-0.0644,-0.0333,,466850,53695857.68,,
+2017-02-28,'399307,֤תծ,193.4872,193.967,193.4094,193.5048,193.5162,-0.029,-0.015,,280893,31089267.181,,
+2017-02-27,'399307,֤תծ,193.5162,194.4817,193.2274,194.4729,194.4613,-0.9451,-0.486,,161891,18453608.376,,
+2017-02-24,'399307,֤תծ,194.4613,194.4613,193.2597,193.776,193.9282,0.5331,0.2749,,540411,63127168.122,,
+2017-02-23,'399307,֤תծ,193.9282,194.4568,193.5081,194.4544,194.4544,-0.5262,-0.2706,,368072,42632244.713,,
+2017-02-22,'399307,֤תծ,194.4544,194.4544,193.1451,193.3965,193.3965,1.0579,0.547,,524464,59840858.824,,
+2017-02-21,'399307,֤תծ,193.3965,193.5527,193.0725,193.1552,193.1552,0.2413,0.1249,,553998,63301191.356,,
+2017-02-20,'399307,֤תծ,193.1552,193.1552,192.4604,192.7398,192.7398,0.4154,0.2155,,470148,56063814.463,,
+2017-02-17,'399307,֤תծ,192.7398,193.0623,192.3061,192.9578,192.9578,-0.218,-0.113,,210076,23008166.879,,
+2017-02-16,'399307,֤תծ,192.9578,193.4574,192.8276,193.2757,193.2757,-0.3179,-0.1645,,522642,61802374.203,,
+2017-02-15,'399307,֤תծ,193.2757,193.7033,193.1145,193.2008,193.1552,0.1205,0.0624,,613524,73116497.946,,
+2017-02-14,'399307,֤תծ,193.1552,193.3777,192.8412,192.9081,192.8991,0.2561,0.1328,,189603,22285465.741,,
+2017-02-13,'399307,֤תծ,192.8991,193.5098,192.7986,192.9478,192.8561,0.043,0.0223,,267363,30230986.355,,
+2017-02-10,'399307,֤תծ,192.8561,193.0315,192.1489,192.3353,192.3131,0.543,0.2824,,751139,87289364.927,,
+2017-02-09,'399307,֤תծ,192.3131,192.5737,192.1315,192.1534,192.1481,0.165,0.0859,,400117,46960859.714,,
+2017-02-08,'399307,֤תծ,192.1481,192.3876,191.5776,192.3876,191.7546,0.3935,0.2052,,407208,46981479.284,,
+2017-02-07,'399307,֤תծ,191.7546,192.4609,191.6037,192.4609,192.2269,-0.4723,-0.2457,,310910,35809459.691,,
+2017-02-06,'399307,֤תծ,192.2269,192.2269,190.938,191.6682,191.6508,0.5761,0.3006,,458228,52858955.397,,
+2017-02-03,'399307,֤תծ,191.6508,192.3295,191.3468,192.0593,192.1215,-0.4707,-0.245,,363029,39109947.529,,
diff --git a/trade_process/efund_mail2.py b/trade_process/efund_mail2.py
new file mode 100644
index 0000000..41c2cd6
--- /dev/null
+++ b/trade_process/efund_mail2.py
@@ -0,0 +1,636 @@
+#!/usr/bin/python2.7
+# -*- coding: utf-8 -*-
+# from url_info import *
+# from spider import *
+#import itchat
+#from sleep import *
+# import datetime
+# import one_predict
+import json,time
+import sched
+
+import datetime
+import re
+# import sys
+import urllib2
+import smtplib
+from email.mime.text import MIMEText
+from email.mime.multipart import MIMEMultipart
+from email.utils import formataddr
+from email.mime.application import MIMEApplication
+from fund_zf import main_zf
+from strategy.macd_back_test import macdmain,mainStock
+# from numpy import mean, ptp, var, std
+
+import requests
+from bs4 import BeautifulSoup
+
+
+def spider(url):
+ r = requests.get(url)
+ page = r.text
+ soup = BeautifulSoup(page, 'html.parser')
+ value = soup.find_all(id='gz_gszzl')
+ value = value[0].get_text().replace('%','')
+ value=value.encode('utf-8')
+ value1 = soup.find_all(id='gz_gsz')
+ value1 = value1[0].get_text().encode('utf-8')
+ try:
+ return [float(value1),float(value1),float(value)]
+ except ValueError as e:
+ return
+# 是否已在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 get_jingzhi(strfundcode, strdate,stredate):
+ try:
+ url = 'http://fund.eastmoney.com/f10/F10DataApi.aspx?type=lsjz&code=' + str(strfundcode) + '&page=1&per=1000&sdate=' + str(strdate) + '&edate=' + str(stredate)
+ print u'数据链接:'+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:
+ return '-1'
+
+ json_fund_value = response.read().decode('utf-8')
+ # print json_fund_value
+
+ tr_re = re.compile(r'(.*?)
')
+ 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]!='' and entry[2]!='':
+ result.append([date, float(entry[1]),float(entry[2]), float(entry[3].rstrip('%'))])
+ else:
+ result.append([date, float(entry[1]), float(0), 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
+
+ # 昨天
+ 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 not(tdatetime.isoweekday() == 7 or tdatetime.isoweekday() == 6):
+ url = 'http://fund.eastmoney.com/%s.html' % strfundcode[0]
+ todayvalue = spider(url)
+ if todayvalue != None:
+ jingzhimin.insert(0, [tdatetime, todayvalue[0], todayvalue[1], todayvalue[2]])
+ return jingzhimin
+
+#计算交易策略
+def fenxi(strfundcode,jingzhimin,method):
+ #获取历史数据
+ # 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,method)
+ # 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[:-180:-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,method):
+ todaydata = funddata[0]
+ data5days = [x[1] for x in funddata[:5:1]]
+ change = [x[3] for x in funddata[:5:1]]
+ change7 = [x[3] for x in funddata[:7:1]]
+ change12days= [x[3] for x in funddata[:90:1]]
+ if stdDeviation(change12days)<0.3:
+ r=1.005;rmax=1.002
+ elif stdDeviation(change12days) > 0.6:
+ r = 1.009;rmax = 1.002
+ else:
+ r = 1.005;rmax = 1.002
+ buy_points = []
+ sell_point = []
+
+ #根据净值比较
+ if(todaydata[1]<=r*jizhipoints['allmin'][1])and(sum(change)<-1.1):
+ buy_points.append({'估值接近1年最小净值':str(todaydata[1])+str('<=')+str(r*jizhipoints['allmin'][1])})
+ elif(todaydata[1]<=r*jizhipoints['180daysmin'][1])and(sum(change)<-1.1):
+ buy_points.append({'估值接近180天最小净值': str(todaydata[1])+str('<=')+str(r*jizhipoints['180daysmin'][1])})
+ elif(todaydata[1]<=r*jizhipoints['30daysmin'][1])and(sum(change)<-0.7):
+ buy_points.append({'估值接近30天最小净值': 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])and method=='general':
+ sell_point.append({'估值接近1年最大净值': str(todaydata[1] )+str('>=')+str( rmax*jizhipoints['allmax'][1])})
+ elif (todaydata[1] >= rmax*jizhipoints['180daysmax'][1])and method=='general':
+ sell_point.append({'估值接近180天最大净值': 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)and change[0]<0.2 and change[0]= 0.7)and change[0]<0.2 and sum(change7[:2]) / len(change7[:2])<0.4 and method == 'top' :
+ sell_point.append({'5天涨幅均值': round(sum(change) / len(change), 5)})
+
+ big=[];small=[];small7=[];big7=[]
+ 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])
+ for j in range(0,len(change7)):
+ if (change7[j]>0.05)and method=='top':
+ big7.append(change7[j])
+ elif (change7[j]<0.05)and method=='top':
+ small7.append(change7[j])
+ if len(big)>=4 and change[0]<0.2 and change[0]=5 and change[0]<0.2 and change[0]=3):
+ # sell_point.append({u'go up 4days': big})
+ if (len(small)>=4 ) :
+ buy_points.append({'已跌四天':change7})
+ elif(((max(data5days[2:])-data5days[0])/max(data5days[2:]))>=0.025)and(sum(change)<-1.1):
+ down=round((max(data5days[2:])-data5days[0])/max(data5days[2:]),5)
+ buy_points.append({'五天跌幅超2.5%': down})
+
+ return {'sell':sell_point,'buy':buy_points}
+
+def main_run(all_fund_list):
+ code = [['002124','广发新兴产业'],['002963', 'egold'], ['003321', 'eoil'], ['004744', 'eGEI'], ['110003', 'eSSE50'], ['110020', 'HS300'],
+ ['110031', 'eHSI'], ['161130', 'eNASDAQ100'], ['110028', 'anxinB'], ['110022', 'eConsumption '],
+ ['161125', 'SPX500']]
+ buysell = []
+ buysell1 = []
+ for i in code:
+ jingzhimin = get_histrydata(i, 365*1)
+ buysell1.append(macdmain(i,jingzhimin))
+ # save(strfundcode=i ,numdays=365*1)
+ sb=fenxi(strfundcode=i, jingzhimin=jingzhimin, method ='general')
+ if sb:
+ buysell.append([i,sb,'code'])
+ for i in all_fund_list:
+ # save(strfundcode=i ,numdays=365*1)
+ jingzhimin1 = get_histrydata(i, 365*1)
+ buysell1.append(macdmain(i,jingzhimin1))
+ sb=fenxi(strfundcode=i, jingzhimin=jingzhimin1, method='top')
+ if sb:
+ buysell.append([i, sb, 'all_fund_list'])
+ buysellstock = mainStock()
+ return buysell,buysell1,buysellstock
+
+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','1006209211@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 = 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'))
+ # 构造附件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('基金综合排名结果.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 = '15623863340@163.com' # input("请输入账号:")
+ password = '133499cug' # 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(6)
+ smtp.quit()
+ print(u"邮件发送成功")
+ except smtplib.SMTPException, e1:
+ print(u"Error: 无法发送邮件:"+str(e1))
+ smtp.quit()
+ try:
+ username = '15623863340@sina.com' # 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.com', 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):
+ 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())
+ # 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():
+ now = time.strftime("%y-%m-%d %H:%M:%S", time.localtime())
+ H = now[9:11]
+ M = now[12:14]
+ S = now[15:]
+ code = [['002963', 'egold'], ['003321', 'eoil'], ['004744', 'eGEI'], ['110003', 'eSSE50'], ['110020', 'HS300'],
+ ['110031', 'eHSI'], ['161130', 'eNASDAQ100'], ['110028', 'anxinB'], ['110022', 'eConsumption '],
+ ['161125', 'SPX500']]
+ all_fund_list1 = main_zf('All')
+ #sign=macdmain(code)
+ if (int(H)): # >= 19(H == "14" and M == "08" and S == "10") or
+ ibuysell1 = main_run(all_fund_list1[:80])
+ print(str(ibuysell1))
+ sendmsg = '股市有风险,投资需谨慎。模型难免有误,具体买卖需看下走势。1、根据MACD与MA均线模型获取近两三天内买卖信号如,[2018-01-29 00:, signal:, -1],signal(1:买, -1:卖, 0:默认),该模型有一定参考依据,但信号常反应较慢,需结合走势判断。 2、连续四五天涨跌与今日净值是否接近最大最小净值判断买卖信息,该模型在适合小涨小跌,大涨大跌时需谨慎。 \n'
+ sendmsg +='A股 https://www.baidu.com/s?tn=baidurt&rtt=1&bsst=1&wd=A%B9%C9&origin=ps'+ '\n'
+ sendmsg +='股票的走势比较、指标比较 http://quotes.money.163.com/tools/stockcomp/0000016,1399005,1399006,1399300,1399959.html'+ '\n'
+ sendmsg +='行业板块资金流向 http://data.eastmoney.com/bkzj/hy.html'+ '\n'
+ # f = open("buysell.txt",'a')
+ for j in ibuysell1[1]:
+ for m in j:
+ if len(m) > 0:
+ if m[2][3]> -35 :
+ sendmsg += str(m[0][0].encode("utf-8")) + ',' + str(m[0][1].encode("utf-8")) + ',' + str(
+ m[1]) + ',回测收益' + str(m[2][0]) + ',买卖:' + str(m[2][1][0]) + ',交易次数:' + str(
+ m[2][2]) + ',超额收益' + str(m[2][3]) + ',' + (
+ ' http://fund.eastmoney.com/%s.html' % m[0][0]) + '\n'
+ sendmsg +='1、根据MACD与MA均线模型获取沪深股指近两三天内买卖信号 '+ '\n'
+ for n in ibuysell1[2] :
+ # for n in k:
+ if len(n) > 0 and n[2][3]> -30 and n[0][0][:3] == '000':
+ if n[2][3]> -30 and n[0][0][:3] == '000':
+ sendmsg += str(n[0][0].encode("utf-8")) + ',' + str(n[0][1].encode("utf-8")) + ',' + str(
+ n[1]) + ',回测收益' + str(n[2][0]) + ',买卖:' + str(n[2][1][0]) + ',交易次数:' + str(
+ n[2][2]) + ',超额收益' + str(n[2][3]) + ',' + (
+ ' http://quotes.money.163.com/0%s.html' % n[0][0]) + '\n'
+ elif len(n) > 0 and n[2][3]> -30 and n[0][0][:3] == '399':
+ if n[2][3]> -30 and n[0][0][:3] == '399':
+ sendmsg += str(n[0][0].encode("utf-8")) + ',' + str(n[0][1].encode("utf-8")) + ',' + str(
+ n[1]) + ',回测收益' + str(n[2][0]) + ',买卖:' + str(n[2][1][0]) + ',交易次数:' + str(
+ n[2][2]) + ',超额收益' + str(n[2][3]) + ',' + (
+ ' http://quotes.money.163.com/1%s.html' % n[0][0]) + '\n'
+ buysmg = ''
+ sellmsg=''
+ sendmsg +='2、连续四五天涨跌与今日净值是否接近最大最小净值判断买卖信息,该模型在适合小涨小跌,大涨大跌时需谨慎。\n'
+ for i in ibuysell1[0]:
+ # 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 != ' ' and '买'in st:
+ if i[2]=='code':
+ buysmg += 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'
+ else:
+ buysmg += i[0][0] + ',' + i[0][1] + st + (' http://fund.eastmoney.com/%s.html' % i[0][0]) + '\n'
+ if st != ' ' and '卖'in st:
+ if i[2] == 'code':
+ sellmsg += 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'
+ else:
+ sellmsg += i[0][0] + ',' + i[0][1] + st + (' http://fund.eastmoney.com/%s.html' % i[0][0]) + '\n'
+ sendmsg +=buysmg
+ sendmsg += sellmsg
+ print sendmsg
+ send_email(sendmsg)
+ # 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
+ #
+ # 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')
+ all_fund_list = main_zf()
+ 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 0000000..7d0f649
Binary files /dev/null and b/trade_process/efund_mail2.pyc differ
diff --git a/trade_process/efund_mail2_BACKUP_5352.py b/trade_process/efund_mail2_BACKUP_5352.py
new file mode 100644
index 0000000..83b8b85
--- /dev/null
+++ b/trade_process/efund_mail2_BACKUP_5352.py
@@ -0,0 +1,582 @@
+#!/usr/bin/python2.7
+# -*- coding: utf-8 -*-
+# from url_info import *
+# from spider import *
+#import itchat
+#from sleep import *
+# import datetime
+# import one_predict
+import json,time
+import sched
+
+import datetime
+import re
+# import sys
+import urllib2
+import smtplib
+from email.mime.text import MIMEText
+from email.mime.multipart import MIMEMultipart
+from email.utils import formataddr
+from email.mime.application import MIMEApplication
+from fund_zf import main_zf
+# from strategy.macd_back_test import macdmain
+# from numpy import mean, ptp, var, std
+
+import requests
+from bs4 import BeautifulSoup
+
+
+def spider(url):
+ r = requests.get(url)
+ page = r.text
+ soup = BeautifulSoup(page, 'html.parser')
+ value = soup.find_all(id='gz_gszzl')
+ value = value[0].get_text().replace('%','')
+ value=value.encode('utf-8')
+ value1 = soup.find_all(id='gz_gsz')
+ value1 = value1[0].get_text().encode('utf-8')
+ try:
+ return [float(value1),float(value1),float(value)]
+ except ValueError as e:
+ return
+# 是否已在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 get_jingzhi(strfundcode, strdate,stredate):
+ try:
+ url = 'http://fund.eastmoney.com/f10/F10DataApi.aspx?type=lsjz&code=' + str(strfundcode) + '&page=1&per=1000&sdate=' + str(strdate) + '&edate=' + str(stredate)
+ print u'数据链接:'+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:
+ return '-1'
+
+ json_fund_value = response.read().decode('utf-8')
+ # print json_fund_value
+
+ tr_re = re.compile(r'(.*?)
')
+ 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[:-180:-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[:6:1]]
+ change = [x[3] for x in funddata[:5:1]]
+ change7 = [x[3] for x in funddata[:7: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.46):
+ sell_point.append({'mean5up':round(sum(change)/len(change),5)})
+ elif(sum(change)/len(change)<=-0.46):
+ 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':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':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']]
+
+ buysell = []
+ for i in code:
+ # save(strfundcode=i ,numdays=365*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=365 * 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 = 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'))
+
+ # 构造附件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):
+ 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())
+ # 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(sign):
+ now = time.strftime("%y-%m-%d %H:%M:%S", time.localtime())
+ H = now[9:11]
+ M = now[12:14]
+ S = now[15:]
+ 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()
+ #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 = ''
+ # f = open("buysell.txt",'a')
+ for j in sign:
+<<<<<<< Updated upstream
+ #sendmsg +=str(j[0])+','+str(j[1])+','+str(j[2][0])+','+str(j[2][1][0])+'\n'
+=======
+>>>>>>> Stashed changes
+ sendmsg +=str(j[0])+','+str(j[1])+','+str(j[2][0])+','+str(j[2][1][0])+','+ (' http://fund.eastmoney.com/%s.html' % j[0][0])+'\n'
+ 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)
+ 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
+ #
+ # 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')
+ all_fund_list = main_zf()
+ 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_BASE_5352.py b/trade_process/efund_mail2_BASE_5352.py
new file mode 100644
index 0000000..f653d2e
--- /dev/null
+++ b/trade_process/efund_mail2_BASE_5352.py
@@ -0,0 +1,578 @@
+#!/usr/bin/python2.7
+# -*- coding: utf-8 -*-
+# from url_info import *
+# from spider import *
+#import itchat
+#from sleep import *
+# import datetime
+# import one_predict
+import json,time
+import sched
+
+import datetime
+import re
+# import sys
+import urllib2
+import smtplib
+from email.mime.text import MIMEText
+from email.mime.multipart import MIMEMultipart
+from email.utils import formataddr
+from email.mime.application import MIMEApplication
+from fund_zf import main_zf
+from trade_process.strategy.macd_back_test import macdmain
+# from numpy import mean, ptp, var, std
+
+import requests
+from bs4 import BeautifulSoup
+
+
+def spider(url):
+ r = requests.get(url)
+ page = r.text
+ soup = BeautifulSoup(page, 'html.parser')
+ value = soup.find_all(id='gz_gszzl')
+ value = value[0].get_text().replace('%','')
+ value=value.encode('utf-8')
+ value1 = soup.find_all(id='gz_gsz')
+ value1 = value1[0].get_text().encode('utf-8')
+ try:
+ return [float(value1),float(value1),float(value)]
+ except ValueError as e:
+ return
+# 是否已在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 get_jingzhi(strfundcode, strdate,stredate):
+ try:
+ url = 'http://fund.eastmoney.com/f10/F10DataApi.aspx?type=lsjz&code=' + str(strfundcode) + '&page=1&per=1000&sdate=' + str(strdate) + '&edate=' + str(stredate)
+ print u'数据链接:'+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:
+ return '-1'
+
+ json_fund_value = response.read().decode('utf-8')
+ # print json_fund_value
+
+ tr_re = re.compile(r'(.*?)
')
+ 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[:-180:-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[:6:1]]
+ change = [x[3] for x in funddata[:5:1]]
+ change7 = [x[3] for x in funddata[:7: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.46):
+ sell_point.append({'mean5up':round(sum(change)/len(change),5)})
+ elif(sum(change)/len(change)<=-0.46):
+ 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':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':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']]
+
+ buysell = []
+ for i in code:
+ # save(strfundcode=i ,numdays=365*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=365 * 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 = 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'))
+
+ # 构造附件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):
+ 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())
+ # 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():
+ now = time.strftime("%y-%m-%d %H:%M:%S", time.localtime())
+ H = now[9:11]
+ M = now[12:14]
+ S = now[15:]
+ 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 = ''
+ # 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)
+ 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)
+ 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
+ #
+ # 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')
+ all_fund_list = main_zf()
+ 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_LOCAL_5352.py b/trade_process/efund_mail2_LOCAL_5352.py
new file mode 100644
index 0000000..454e2e8
--- /dev/null
+++ b/trade_process/efund_mail2_LOCAL_5352.py
@@ -0,0 +1,579 @@
+#!/usr/bin/python2.7
+# -*- coding: utf-8 -*-
+# from url_info import *
+# from spider import *
+#import itchat
+#from sleep import *
+# import datetime
+# import one_predict
+import json,time
+import sched
+
+import datetime
+import re
+# import sys
+import urllib2
+import smtplib
+from email.mime.text import MIMEText
+from email.mime.multipart import MIMEMultipart
+from email.utils import formataddr
+from email.mime.application import MIMEApplication
+from fund_zf import main_zf
+# from strategy.macd_back_test import macdmain
+# from numpy import mean, ptp, var, std
+
+import requests
+from bs4 import BeautifulSoup
+
+
+def spider(url):
+ r = requests.get(url)
+ page = r.text
+ soup = BeautifulSoup(page, 'html.parser')
+ value = soup.find_all(id='gz_gszzl')
+ value = value[0].get_text().replace('%','')
+ value=value.encode('utf-8')
+ value1 = soup.find_all(id='gz_gsz')
+ value1 = value1[0].get_text().encode('utf-8')
+ try:
+ return [float(value1),float(value1),float(value)]
+ except ValueError as e:
+ return
+# 是否已在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 get_jingzhi(strfundcode, strdate,stredate):
+ try:
+ url = 'http://fund.eastmoney.com/f10/F10DataApi.aspx?type=lsjz&code=' + str(strfundcode) + '&page=1&per=1000&sdate=' + str(strdate) + '&edate=' + str(stredate)
+ print u'数据链接:'+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:
+ return '-1'
+
+ json_fund_value = response.read().decode('utf-8')
+ # print json_fund_value
+
+ tr_re = re.compile(r'(.*?)
')
+ 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[:-180:-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[:6:1]]
+ change = [x[3] for x in funddata[:5:1]]
+ change7 = [x[3] for x in funddata[:7: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.46):
+ sell_point.append({'mean5up':round(sum(change)/len(change),5)})
+ elif(sum(change)/len(change)<=-0.46):
+ 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':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':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']]
+
+ buysell = []
+ for i in code:
+ # save(strfundcode=i ,numdays=365*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=365 * 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 = 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'))
+
+ # 构造附件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):
+ 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())
+ # 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(sign):
+ now = time.strftime("%y-%m-%d %H:%M:%S", time.localtime())
+ H = now[9:11]
+ M = now[12:14]
+ S = now[15:]
+ 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()
+ #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 = ''
+ # 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'
+ sendmsg +=str(j[0])+','+str(j[1])+','+str(j[2][0])+','+str(j[2][1][0])+','+ (' http://fund.eastmoney.com/%s.html' % j[0][0])+'\n'
+ 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)
+ 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
+ #
+ # 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')
+ all_fund_list = main_zf()
+ 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_REMOTE_5352.py b/trade_process/efund_mail2_REMOTE_5352.py
new file mode 100644
index 0000000..a661f98
--- /dev/null
+++ b/trade_process/efund_mail2_REMOTE_5352.py
@@ -0,0 +1,578 @@
+#!/usr/bin/python2.7
+# -*- coding: utf-8 -*-
+# from url_info import *
+# from spider import *
+#import itchat
+#from sleep import *
+# import datetime
+# import one_predict
+import json,time
+import sched
+
+import datetime
+import re
+# import sys
+import urllib2
+import smtplib
+from email.mime.text import MIMEText
+from email.mime.multipart import MIMEMultipart
+from email.utils import formataddr
+from email.mime.application import MIMEApplication
+from fund_zf import main_zf
+from trade_process.strategy.macd_back_test import macdmain
+# from numpy import mean, ptp, var, std
+
+import requests
+from bs4 import BeautifulSoup
+
+
+def spider(url):
+ r = requests.get(url)
+ page = r.text
+ soup = BeautifulSoup(page, 'html.parser')
+ value = soup.find_all(id='gz_gszzl')
+ value = value[0].get_text().replace('%','')
+ value=value.encode('utf-8')
+ value1 = soup.find_all(id='gz_gsz')
+ value1 = value1[0].get_text().encode('utf-8')
+ try:
+ return [float(value1),float(value1),float(value)]
+ except ValueError as e:
+ return
+# 是否已在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 get_jingzhi(strfundcode, strdate,stredate):
+ try:
+ url = 'http://fund.eastmoney.com/f10/F10DataApi.aspx?type=lsjz&code=' + str(strfundcode) + '&page=1&per=1000&sdate=' + str(strdate) + '&edate=' + str(stredate)
+ print u'数据链接:'+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:
+ return '-1'
+
+ json_fund_value = response.read().decode('utf-8')
+ # print json_fund_value
+
+ tr_re = re.compile(r'(.*?)
')
+ 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[:-180:-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[:6:1]]
+ change = [x[3] for x in funddata[:5:1]]
+ change7 = [x[3] for x in funddata[:7: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.46):
+ sell_point.append({'mean5up':round(sum(change)/len(change),5)})
+ elif(sum(change)/len(change)<=-0.46):
+ 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':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':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']]
+
+ buysell = []
+ for i in code:
+ # save(strfundcode=i ,numdays=365*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=365 * 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 = 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'))
+
+ # 构造附件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):
+ 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())
+ # 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():
+ now = time.strftime("%y-%m-%d %H:%M:%S", time.localtime())
+ H = now[9:11]
+ M = now[12:14]
+ S = now[15:]
+ 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 = ''
+ # 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])+','+ (' http://fund.eastmoney.com/%s.html' % j[0][0])+'\n'
+ 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)
+ 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
+ #
+ # 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')
+ all_fund_list = main_zf()
+ 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/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..34cd54e
--- /dev/null
+++ b/trade_process/fund_zf.py
@@ -0,0 +1,313 @@
+# !/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(fund):
+ # 当前日期
+ 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=40)
+ 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('./trade_process/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 = [1,36]
+ all_fund_list = []
+ dx='1'
+ ft=['all','hh','qdii','zq','zs'] #基金类型
+ ftk=ft[0]
+ for int_month in month_list:
+ try:
+ if fund =='gf' or fund =='efund':
+ if fund == 'gf':
+ # 广发排行
+ fundcode='80000248'
+ elif fund == 'efund':
+ fundcode = '80000229'
+ if int_month/12 >= 1 :
+ url = 'http://fund.eastmoney.com/api/FundGuide.aspx?dt=0&sd=&ed=&cp='+fundcode+'&sc='+str(int_month)+'n&st=desc&pi=1&pn=80&zf=diy&sh=list&rnd=0'
+ elif int_month == 0.25:
+ url = 'http://fund.eastmoney.com/api/FundGuide.aspx?dt=0&sd=&ed=&cp='+fundcode+'&sc=z&st=asc&pi=1&pn=80&zf=diy&sh=list&rnd='
+ else:
+ url = 'http://fund.eastmoney.com/api/FundGuide.aspx?dt=0&sd=&ed=&cp='+fundcode+'&sc='+str(int_month)+'y&st=desc&pi=1&pn=80&zf=diy&sh=list&rnd='
+ # 易方达1周排行
+ # elif fund == 'efund':
+ # if int_month / 12 >= 1:
+ # url = 'http://fund.eastmoney.com/api/FundGuide.aspx?dt=0&sd=&ed=&cp=80000229&sc=z&st=desc&pi=1&pn=80&zf=diy&sh=list&rnd=0.8037251392454077'
+ # elif int_month == 0.25:
+ # # 易方达6月排行
+ # url = 'http://fund.eastmoney.com/api/FundGuide.aspx?dt=0&sd=&ed=&cp=80000229&sc=6y&st=desc&pi=1&pn=80&zf=diy&sh=list&rnd=0.2738232363825983'
+ # else:
+ # url = 'http://fund.eastmoney.com/api/FundGuide.aspx?dt=0&sd=&ed=&cp=80000229&sc=6y&st=desc&pi=1&pn=80&zf=diy&sh=list&rnd=0.2738232363825983'
+ else:
+ if int_month/12 >= 1:
+ # 1年增幅
+ print ('get nearly %s year top 200 funds',int_month/12)
+ url = 'http://fund.eastmoney.com/data/rankhandler.aspx?op=ph&dt=kf&ft='+ftk+'&rs=1nzf,100&gs=0&sc='+str(int_month/12)+'nzf&st=desc&sd=' + \
+ strsdate + '&ed=' + strs20date + '&qdii=&tabSubtype=,,,,,&pi=1&pn=200&dx='+dx
+ # elif int_month == 12:
+ # # 1年增幅
+ # print 'get nearly 1 year top 200 funds'
+ # url = 'http://fund.eastmoney.com/data/rankhandler.aspx?op=ph&dt=kf&ft='+ftk+'&rs=1nzf,100&gs=0&sc=1nzf&st=desc&sd=' + \
+ # strsdate + '&ed=' + strs20date + '&qdii=&tabSubtype=,,,,,&pi=1&pn=200&dx='+dx
+ # elif int_month == 36:
+ # # 1年增幅
+ # print 'get nearly 3 year top 200 funds'
+ # url = 'http://fund.eastmoney.com/data/rankhandler.aspx?op=ph&dt=kf&ft='+ftk+'&rs=1nzf,100&gs=0&sc=3nzf&st=desc&sd=' + \
+ # strsdate + '&ed=' + strs20date + '&qdii=&tabSubtype=,,,,,&pi=1&pn=200&dx='+dx
+ # elif int_month == 60:
+ # # 1年增幅
+ # print 'get nearly 1 year top 200 funds'
+ # url = 'http://fund.eastmoney.com/data/rankhandler.aspx?op=ph&dt=kf&ft='+ftk+'&rs=1nzf,100&gs=0&sc=5nzf&st=desc&sd=' + \
+ # strsdate + '&ed=' + strs20date + '&qdii=&tabSubtype=,,,,,&pi=1&pn=200&dx='+dx
+ elif int_month == 0.25:
+ # 1年增幅
+ print 'get nearly 1 week down 200 funds'
+ url = 'http://fund.eastmoney.com/api/FundGuide.aspx?dt=0&sd=&ed=&sc=z&st=asc&pi=1&pn=300&zf=diy&sh=list&rnd='
+ # url = 'http://fund.eastmoney.com/data/rankhandler.aspx?op=ph&dt=kf&ft='+ftk+'&rs=zzf,100&gs=0&sc=zzf&st=dasc&sd=' + \
+ # strsdate + '&ed=' + strs20date + '&qdii=&tabSubtype=,,,,,&pi=1&pn=200&dx='+dx
+ elif int_month == 1:
+ print 'get nearly ' + str(int_month) + ' months down 200 funds'
+ url = 'http://fund.eastmoney.com/api/FundGuide.aspx?dt=0&sd=&ed=&sc=1y&st=desc&pi=1&pn=300&zf=diy&sh=list&rnd='
+ # url = 'http://fund.eastmoney.com/data/rankhandler.aspx?op=ph&dt=kf&ft='+ftk+'&rs=' + str(int_month) + \
+ # 'yzf,200&gs=0&sc=' + str(int_month) + 'yzf&st=dasc&sd=' + strsdate + '&ed=' + strs20date + \
+ # '&qdii=&tabSubtype=,,,,,&pi=1&pn=200&dx=' + dx
+ 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='+ftk+'&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='+dx
+ 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 getRankFund():
+ # 全部基金排行 --基金导购
+ url='http://fund.eastmoney.com/api/FundGuide.aspx?dt=0&sd=&ed=&sc=z&st=desc&pi=1&pn=200&zf=diy&sh=list&rnd=0.4893989337468809'
+ #广发排行
+ gfUrl='http://fund.eastmoney.com/api/FundGuide.aspx?dt=0&sd=&ed=&cp=80000248&sc=z&st=desc&pi=1&pn=80&zf=diy&sh=list&rnd=0.15840037296002807'
+ # 易方达1周排行
+ EfundUrl='http://fund.eastmoney.com/api/FundGuide.aspx?dt=0&sd=&ed=&cp=80000229&sc=z&st=desc&pi=1&pn=80&zf=diy&sh=list&rnd=0.8037251392454077'
+ #易方达6月排行
+ EfundUrl6='http://fund.eastmoney.com/api/FundGuide.aspx?dt=0&sd=&ed=&cp=80000229&sc=6y&st=desc&pi=1&pn=80&zf=diy&sh=list&rnd=0.2738232363825983'
+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 0000000..ecd33a5
Binary files /dev/null and b/trade_process/fund_zf.pyc differ
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..b8851d8 100644
--- a/trade_process/live_trade.py
+++ b/trade_process/live_trade.py
@@ -1,152 +1,139 @@
-#!/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
+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
+
+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():
+
+ #获取实时股价
+ 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/stockdata/HS300.jpg b/trade_process/stockdata/HS300.jpg
new file mode 100644
index 0000000..2e1fea7
Binary files /dev/null and b/trade_process/stockdata/HS300.jpg differ
diff --git a/trade_process/stockdata/SPX500.jpg b/trade_process/stockdata/SPX500.jpg
new file mode 100644
index 0000000..cdd3260
Binary files /dev/null and b/trade_process/stockdata/SPX500.jpg differ
diff --git a/trade_process/stockdata/anxinB.jpg b/trade_process/stockdata/anxinB.jpg
new file mode 100644
index 0000000..2e1bc59
Binary files /dev/null and b/trade_process/stockdata/anxinB.jpg differ
diff --git a/trade_process/stockdata/eConsumption .jpg b/trade_process/stockdata/eConsumption .jpg
new file mode 100644
index 0000000..66f089b
Binary files /dev/null and b/trade_process/stockdata/eConsumption .jpg differ
diff --git a/trade_process/stockdata/eGEI.jpg b/trade_process/stockdata/eGEI.jpg
new file mode 100644
index 0000000..d87879a
Binary files /dev/null and b/trade_process/stockdata/eGEI.jpg differ
diff --git a/trade_process/stockdata/eHSI.jpg b/trade_process/stockdata/eHSI.jpg
new file mode 100644
index 0000000..2c97e56
Binary files /dev/null and b/trade_process/stockdata/eHSI.jpg differ
diff --git a/trade_process/stockdata/eNASDAQ100.jpg b/trade_process/stockdata/eNASDAQ100.jpg
new file mode 100644
index 0000000..b4f667f
Binary files /dev/null and b/trade_process/stockdata/eNASDAQ100.jpg differ
diff --git a/trade_process/stockdata/eSSE50.jpg b/trade_process/stockdata/eSSE50.jpg
new file mode 100644
index 0000000..63ec60d
Binary files /dev/null and b/trade_process/stockdata/eSSE50.jpg differ
diff --git a/trade_process/stockdata/egold.jpg b/trade_process/stockdata/egold.jpg
new file mode 100644
index 0000000..f5ca692
Binary files /dev/null and b/trade_process/stockdata/egold.jpg differ
diff --git a/trade_process/stockdata/eoil.jpg b/trade_process/stockdata/eoil.jpg
new file mode 100644
index 0000000..3208ec3
Binary files /dev/null and b/trade_process/stockdata/eoil.jpg differ
diff --git a/trade_process/strategy/BooLbands.py b/trade_process/strategy/BooLbands.py
new file mode 100644
index 0000000..15d237b
--- /dev/null
+++ b/trade_process/strategy/BooLbands.py
@@ -0,0 +1,203 @@
+# coding=utf-8
+from __future__ import division
+
+import os
+import pandas as pd
+import warnings
+
+warnings.filterwarnings("ignore")
+
+
+# 计算复权价格
+def cal_right_price(input_stock_data, type='前复权'):
+ """
+ :param input_stock_data: 标准股票数据,需要'收盘价', '涨跌幅'
+ :param type: 确定是前复权还是后复权,分别为'后复权','前复权'
+ :return: 新增一列'后复权价'/'前复权价'的stock_data
+ """
+ # 计算收盘复权价
+ stock_data = input_stock_data.copy()
+ num = {'后复权': 0, '前复权': -1}
+ price1 = stock_data['close'].iloc[num[type]]
+ stock_data['复权价_temp'] = (stock_data['change'] + 1.0).cumprod()
+ price2 = stock_data['复权价_temp'].iloc[num[type]]
+ stock_data['复权价'] = stock_data['复权价_temp'] * (price1 / price2)
+ stock_data.pop('复权价_temp')
+
+ # 计算开盘复权价
+ stock_data['复权价_开盘'] = stock_data['复权价'] / (stock_data['close'] / stock_data['open'])
+ stock_data['复权价_最高'] = stock_data['复权价'] / (stock_data['close'] / stock_data['high'])
+ stock_data['复权价_最低'] = stock_data['复权价'] / (stock_data['close'] / stock_data['low'])
+
+ return stock_data[['复权价_开盘', '复权价', '复权价_最高', '复权价_最低']]
+
+
+# 获取指定股票对应的数据并按日期升序排序
+def get_stock_data(stock_code):
+ """
+ :param stock_code: 股票代码
+ :return: 返回股票数据集(代码,日期,开盘价,收盘价,涨跌幅)
+ """
+ # 此处为存放csv文件的本地路径,请自行改正地址
+ stock_data = pd.read_csv('e:/data/stock data/' + str(stock_code) + '.csv', parse_dates=['date'], index_col='date')
+ stock_data = stock_data[['code', 'open', 'close', 'high', 'low', 'change']]
+ stock_data.sort_index(inplace=True)
+
+ # 计算复权价
+ stock_data[['open', 'close', 'high', 'low']] = cal_right_price(stock_data, type='后复权')
+
+ stock_data = stock_data['2005-01-01':]
+
+ return stock_data
+
+
+# 计算布林带指标并得到信号和仓位
+def bands(stock_data, n=14):
+
+ df = stock_data.copy()
+
+ # 计算布林带的中轨线、上轨线和下轨线
+ df['tp'] = (df['high'] + df['low'] + df['close']) / 3
+
+ df['middle'] = pd.rolling_mean(df['tp'], n)
+ df['sd'] = pd.rolling_std(df['tp'], n)
+
+ df['up'] = df['middle'] + 2 * df['sd']
+ df['down'] = df['middle'] - 2 * df['sd']
+
+ df.dropna(inplace=True)
+
+ # 当收盘价上穿上轨线,买入,信号为1
+ df.ix[df['close'] > df['up'], 'signal'] = 1
+ # 当收盘价下穿下轨线,卖空,信号为-1
+ df.ix[df['close'] < df['down'], 'signal'] = -1
+
+ df['signal'].fillna(method='ffill', inplace=True)
+
+ # =====计算每天的仓位
+ df.ix[0, 'position'] = 0
+ # 出现买入信号而且第二天开盘没有涨停
+ df.ix[(df['signal'].shift(1) == 1) & (df['open'] < df['close'].shift(1) * 1.097), 'position'] = 1
+ # 出现卖出信号而且第二天开盘没有跌停
+ df.ix[(df['signal'].shift(1) == -1) & (df['open'] > df['close'].shift(1) * 0.903), 'position'] = 0
+
+ df['position'].fillna(method='ffill', inplace=True)
+
+ return df
+
+
+# 根据每日仓位计算总资产的日收益率
+def account(df, slippage=1.0 / 1000, commision_rate=2.0 / 1000):
+ """
+ :param df: 股票账户数据集
+ :param slippage: 买卖滑点 默认为1.0 / 1000
+ :param commision_rate: 手续费 默认为2.0 / 1000
+ :return: 返回账户资产的日收益率和日累计收益率的数据集
+ """
+ df.ix[0, 'capital_rtn'] = 0
+ # 当加仓时,计算当天资金曲线涨幅capital_rtn.capital_rtn = 昨天的position在今天涨幅 + 今天开盘新买入的position在今天的涨幅(扣除手续费)
+ df.ix[df['position'] > df['position'].shift(1), 'capital_rtn'] = (df['close'] / df['open'] - 1) * (
+ 1 - slippage - commision_rate) * (df['position'] - df['position'].shift(1)) + df['change'] * df[
+ 'position'].shift(1)
+ # 当减仓时,计算当天资金曲线涨幅capital_rtn.capital_rtn = 今天开盘卖出的positipn在今天的涨幅(扣除手续费) + 还剩的position在今天的涨幅
+ df.ix[df['position'] < df['position'].shift(1), 'capital_rtn'] = (df['open'] / df['close'].shift(1) - 1) * (
+ 1 - slippage - commision_rate) * (df['position'].shift(1) - df['position']) + df['change'] * df['position']
+ # 当仓位不变时,当天的capital_rtn是当天的change * position
+ df.ix[df['position'] == df['position'].shift(1), 'capital_rtn'] = df['change'] * df['position']
+
+ return df
+
+
+# 计算年化收益率函数
+def annual_return(date_line, capital_line):
+ """
+ :param date_line: 日期序列
+ :param capital_line: 账户价值序列
+ :return: 输出在回测期间的年化收益率
+ """
+ # 将数据序列合并成dataframe并按日期排序
+ df = pd.DataFrame({'date': date_line, 'capital': capital_line})
+
+ # 计算年化收益率
+ annual = (df['capital'].iloc[-1] / df['capital'].iloc[0]) ** (250 / len(df)) - 1
+
+ return annual
+
+
+# 计算最大回撤函数
+def max_drawdown(date_line, capital_line):
+ """
+ :param date_line: 日期序列
+ :param capital_line: 账户价值序列
+ :return: 输出最大回撤及开始日期和结束日期
+ """
+ # 将数据序列合并为一个dataframe并按日期排序
+ df = pd.DataFrame({'date': date_line, 'capital': capital_line})
+
+ df['max2here'] = pd.expanding_max(df['capital']) # 计算当日之前的账户最大价值
+ df['dd2here'] = df['capital'] / df['max2here'] - 1 # 计算当日的回撤
+ # 计算最大回撤和结束时间
+ temp = df.sort_values(by='dd2here').iloc[0][['date', 'dd2here']]
+ max_dd = temp['dd2here']
+
+ return max_dd
+
+
+# 遍历数据文件夹中所有股票文件的文件名,得到股票代码列表
+stock_code_list = []
+# 此处为股票数据文件的本地路径,请自行修改
+for root, dirs, files in os.walk('e:/data/stock data'):
+ if files:
+ for f in files:
+ if '.csv' in f:
+ stock_code_list.append(f.split('.csv')[0])
+
+
+for code in stock_code_list[2000:]:
+
+ stock_data = get_stock_data(code)
+
+ # 剔除上市不到1年半的股票
+ if len(stock_data) < 360:
+ continue
+
+ re = pd.DataFrame(columns=['code', 'start', 'param', 'stock_rtn', 'stock_md', 'strategy_rtn',
+ 'strategy_md', 'excessive_rtn'])
+ i = 0
+
+ for p in range(10, 31, 2):
+
+ df = bands(stock_data, n=p)
+ # 计算策略每天涨幅
+ df = account(df, slippage=0, commision_rate=0)
+ # 计算资金曲线
+ df['capital'] = (df['capital_rtn'] + 1).cumprod()
+
+ # =====根据资金曲线,计算相关评价指标
+ df = df['2006-01-01':]
+ date_line = list(df.index)
+ capital_line = list(df['capital'])
+ stock_line = list(df['close'])
+ # 股票的年化收益
+ stock_rtn = annual_return(date_line, stock_line)
+ # 策略的年化收益
+ strategy_rtn = annual_return(date_line, capital_line)
+ # 股票最大回撤
+ stock_md = max_drawdown(date_line, stock_line)
+ # 策略最大回撤
+ strategy_md = max_drawdown(date_line, capital_line)
+
+ re.loc[i, 'code'] = df['code'].iloc[0]
+ re.loc[i, 'start'] = df.index[0].strftime('%Y-%m-%d')
+ re.loc[i, 'param'] = p
+ re.loc[i, 'stock_rtn'] = stock_rtn
+ re.loc[i, 'stock_md'] = stock_md
+ re.loc[i, 'strategy_rtn'] = strategy_rtn
+ re.loc[i, 'strategy_md'] = strategy_md
+ re.loc[i, 'excessive_rtn'] = strategy_rtn - stock_rtn
+
+ i += 1
+
+ re.sort_values(by='excessive_rtn', ascending=False, inplace=True)
+
+ re.iloc[0:1, :].to_csv('d:/results5.csv', mode='a', header=None, index=False)
diff --git a/trade_process/strategy/__init__.py b/trade_process/strategy/__init__.py
index 65d9a01..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 *
+
diff --git a/trade_process/strategy/__init__.pyc b/trade_process/strategy/__init__.pyc
new file mode 100644
index 0000000..a0e2343
Binary files /dev/null and b/trade_process/strategy/__init__.pyc differ
diff --git a/trade_process/strategy/macd_back_test.py b/trade_process/strategy/macd_back_test.py
index 2be2045..2d707b8 100644
--- a/trade_process/strategy/macd_back_test.py
+++ b/trade_process/strategy/macd_back_test.py
@@ -1,609 +1,864 @@
-#!/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'
- print "main end"
\ No newline at end of file
+#!/usr/local/bin/python
+# -*- coding: UTF-8 -*-
+
+#回测均线策略
+
+import pandas as pd
+import matplotlib.pyplot as plt
+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
+from data_process.dataDownloadByDongfangcf import downlaodDataBycode
+reload(sys)
+sys.setdefaultencoding('utf-8')
+# import sys
+# reload( sys )
+# sys.setdefaultencoding('gbk')
+# 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,Avg):
+ AVR_SHORT = Avg[0]
+ AVR_LONG = Avg[1]
+ # 将数据按照交易日期从远到近排序
+ # 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,*Avg):
+ AVR_SHORT = Avg[0]
+ AVR_LONG = Avg[1]
+ AVR_vLONG = Avg[2]
+ 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,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
+ bBuySignal = True
+ currentSignal=[]
+ 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_vlong[t] \
+ 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
+ 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]:
+ elif 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 == 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:', 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])
+ getmony=(now_money + now_count * close_price[-1] - start_money) / start_money
+ over=(getmony -(close_price[-1]-close_price[ma_list[1]+1])/close_price[ma_list[1]+1])*100
+ print stockName[0],stockName[1], u"收益率:", getmony*100, '%\t'+ u'超收:',over, '%\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,tradeTimes,over]
+# 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,*Avg):
+ AVR_SHORT = Avg[0]
+ AVR_LONG = Avg[1]
+ AVR_vLONG = Avg[2]
+ 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,AVR_vLONG]
+ ma_dea = Avg[2] #10 默认9
+ 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
+ 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
+ currentSignal=[]
+ 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:', 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])
+ getmony = (now_money + now_count * close_price[-1] - start_money) / start_money
+ over = (getmony - (close_price[-1] - close_price[ma_list[1]+1]) / close_price[ma_list[1]+1]) * 100
+ print stockName[0],stockName[1], u"收益率:", getmony*100, '%\t'+ u'超收:',over,'%\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,tradeTimes,over]
+# 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,*Avg):
+ AVR_SHORT = Avg[0]
+ AVR_LONG = Avg[1]
+ AVR_vLONG = Avg[2]
+ 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,AVR_vLONG]
+ ma_dea = Avg[2]#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
+ ama_price = pd.rolling_mean(dma_price, ma_dea)
+
+ signals = [0]*(ma_list[1]+1)
+ tradeTimes = 0
+ bBuySignal = True
+ currentSignal=[]
+ 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:', 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[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,tradeTimes]
+# 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,*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)
+ 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
+ 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:
+ 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:', 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[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,tradeTimes]
+
+# 组合择时指标 (回测)
+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
+
+ # 综合策略
+ 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[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):
+ AVR_SHORT = Avg[0]
+ AVR_LONG = Avg[1]
+ 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:', str(stock_data.ix[i, 'Date']), ' signal:', signal
+ tradeTimes += 1
+
+ # 成本
+ # print stockName[0],stockName[1],u'盈利', record_sale + now_count * close_price[-1] - record_buy
+
+ 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 (now_money + now_count * close_price[-1] - start_money) / start_money * 100
+
+# 获取平方平滑系数
+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 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,strategyName,func,stock_data, stockName):
+ if (strategyName == 'MACD' or strategyName == 'DMA')and 'Low' in stock_data.columns:
+ datarange = [[8, 15], [21, 31], [6, 12]]
+ elif (strategyName == 'MACD' or strategyName == 'DMA')and 'Low' not in stock_data.columns:
+ datarange = [[3, 20], [21, 41], [5, 20]]
+ else:
+ datarange=[[2,5],[6,19],[7,60]]
+ datarange=datarange[:numParm]
+ genome = G1DList.G1DList(numParm)
+ genome.evaluator.set(func(fintness,strategyName,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(40)
+ ga.setGenerations(40)
+ ga.setCrossoverRate(0.8)
+ ga.setMutationRate(0.18)
+ 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:
+ 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 match(select_method,stockName,lines):
+ contmatch=[]
+ for line in lines:
+ if line != '\n':
+ # print str(line.split('|'))
+ if(stockName[0] == line.split('|')[1])and(select_method == line.split('|')[0]):
+ contmatch.append([line.split('|')[0],line.split('|')[3]])
+ return contmatch
+def macdmain(stockName,fundlist):
+ 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
+ # 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)
+ stockTxtNewPath = "./stockdata/"+ 'GAOpt100.txt'
+ # fundlist = efund_mail2.get_histrydata(stockName, 180)
+ stock_data = pd.DataFrame(fundlist[:200][::-1], columns=['Date', 'Adj Close', 'countclose', 'change'])
+ # self_adaptive_ma(stock_data)
+ #period_type = 'w'
+ #stock_data = stock_data.resample(period_type,how='last')
+ #stock_data =
+
+ Avg1=([3,8,40])
+ # select_method=['MA','MACD','DMA','TRIX','AMA']
+ select_method = ['MA','MACD']
+ 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')and(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]
+ if len(contmatch)!=0:
+ Avg = [int(contmatch[0][1].split(',')[0]),int(contmatch[0][1].split(',')[1]),int(contmatch[0][1].split(',')[2])]
+ elif (len(contmatch)==0)and(i != 'MA'):
+ Avg = ([12, 26, 9])
+ elif (len(contmatch)==0)and(i == 'MA'):
+ Avg = ([3, 8, 44])
+ 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
+def mainStock():
+ file = {'stockcodewangyiShangz.txt': 0,
+ 'stockcodewangyiShenz.txt': 1} # 'stockcodewangyiqdii.txt':'','stockcodewangyidetail.txt':''
+ buysell=[]
+ stockTxtNewPath = "./stockdata/" + 'GAOpt100.txt'
+ stockTxtNewPath = "./stockdata/" + 'GAOpt100.txt'
+ for jj in file:
+ CodeList = []
+ stockTxtNewPath1 = "./stockdata/" + jj #r'E:\03IT\GitHub\stock-2' +
+ file_to_read = open(stockTxtNewPath1, 'r')
+ lines = file_to_read.readlines() # 整行读取数据
+ if not lines:
+ pass
+ else:
+ for line in lines:
+ if line != '\n' and line != ' ':
+ if jj == 'stockcodewangyidetail.txt':
+ icode = line.split(' ')
+ else:
+ icode = line.split('\t')
+ CodeList.append([icode[1],icode[2].decode('gbk')])
+ # 抓取数据并保存到本地csv文件
+ for stockName in CodeList:
+ if not ' ' in stockName[0]:
+ # stockCsvPath = r'E:\03IT\GitHub\stock-2' + "\\stockdata\\dongfangcf\\" + stockName[0] + '.csv'
+ stockCsvPath=downlaodDataBycode(stockName[0],jj)
+ # stockCsvPath = stockName + '.csv'
+ if os.path.exists(stockCsvPath) == False:
+ continue
+ else:
+ stockCsvNewPath = stockName[0] + '.csv'
+ # processEMA(stockCsvPath, stockCsvNewPath)
+ stock_data = pd.read_csv(stockCsvPath,encoding="gb2312")
+ if len(stock_data)<3:
+ continue
+ else:
+ columns1 = ['Date', 'Adj Close', 'High', 'Low']
+ stock_data = pd.DataFrame(stock_data.loc[:,[u'日期', u'收盘价', u'最高价', u'最低价']], columns=['日期', '收盘价', '最高价', '最低价'])
+ stock_data.columns=columns1
+ stock_data['Date'] = pd.to_datetime(stock_data['Date'])
+ stock_data=pd.DataFrame(stock_data.values[::-1],columns=columns1)
+ select_method = ['MA', 'MACD']
+ cal = ''
+ for i in select_method:
+ file_to_read = open(stockTxtNewPath, 'r')
+ lines = file_to_read.readlines() # 整行读取数据
+ if not lines:
+ contmatch =[]
+ 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('gbk') + '|')
+ f.write(str(best[0]).split('[')[1].split(']')[0] + '|' + str(best[1]))
+ f.write('\n')
+ f.close()
+ Avg = ([2, 8, 40])#best[0]
+ if len(contmatch) != 0:
+ Avg = [int(contmatch[0][1].split(',')[0]), int(contmatch[0][1].split(',')[1]),
+ int(contmatch[0][1].split(',')[2])]
+ elif (len(contmatch) == 0) and (i != 'MA'):
+ Avg = ([12, 26, 9])
+ elif (len(contmatch) == 0) and (i == 'MA'):
+ Avg = ([2, 8, 40])
+ result = None
+ if (i == 'MA'):
+ print u'-- MA 策略 --'
+ result = select_Time_MA(stock_data, stockName, *Avg)
+ # self_adaptive_ma(stock_data, 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"
+ buysellstock= mainStock()
+ print buysellstock
+ stockList=['000725','000783','002167','002505','002600','300315','600000','600011','600048','601001']
+ # downloadAllHistoryAShareData(stockList)
+ for stockName in stockList:
+ 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)
+ Avg=[5,10,40]
+ 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"
diff --git a/trade_process/strategy/macd_back_test.pyc b/trade_process/strategy/macd_back_test.pyc
new file mode 100644
index 0000000..0fbd226
Binary files /dev/null and b/trade_process/strategy/macd_back_test.pyc differ
diff --git a/trade_process/strategy/macd_live_test.py b/trade_process/strategy/macd_live_test.py
index 1199873..2100f27 100644
--- a/trade_process/strategy/macd_live_test.py
+++ b/trade_process/strategy/macd_live_test.py
@@ -1,252 +1,288 @@
-#!/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 trade_process import efund_mail2
+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
+
+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/macd_live_test.pyc b/trade_process/strategy/macd_live_test.pyc
new file mode 100644
index 0000000..cf011a8
Binary files /dev/null and b/trade_process/strategy/macd_live_test.pyc differ
diff --git a/trade_process/strategy/stop_loss.py b/trade_process/strategy/stop_loss.py
index 4ec1ce2..af0c886 100644
--- a/trade_process/strategy/stop_loss.py
+++ b/trade_process/strategy/stop_loss.py
@@ -1,366 +1,366 @@
-#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__":
+#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 0000000..094657f
Binary files /dev/null and b/trade_process/strategy/stop_loss.pyc differ
diff --git a/trade_process/strategy/strategy_macd.py b/trade_process/strategy/strategy_macd.py
index 56deb28..c4d43b5 100644
--- a/trade_process/strategy/strategy_macd.py
+++ b/trade_process/strategy/strategy_macd.py
@@ -1,66 +1,66 @@
-#!/usr/local/bin/python
-#coding=utf-8
-
-import os
-
-import matplotlib.pyplot as plt
-
-from trade_process.strategy import macd_back_test
-import data_process.native_data as native_data
-
-
-def strategy_macd():
- #读取历史数据
-
- # 计算EMA(12日,26日), DIF, DEA, MACD
- downloadDir = os.path.pardir + '\\stockdata'
- downloadDirNew = os.getcwd() + '\\stockdata_macd'
- if os.path.exists(downloadDir) == False:
- os.makedirs(downloadDir)
- if os.path.exists(downloadDirNew) == False:
- os.makedirs(downloadDirNew)
-
- #遍历文件夹下的所有csv数据
- for root, dirs, files in os.walk(downloadDir):
- for name in files:
- stockCsvPath = root + '\\' + name
- if ".csv" in stockCsvPath:
- basename = os.path.basename(stockCsvPath)
- stock_code, exp = os.path.splitext(basename)
- #macd_back_test.run(stockCsvPath, stock_code)
-
- each_stock_strategy(stockCsvPath, stock_code)
- #break
-
-def each_stock_strategy(stockCsvPath, stock_code):
- plt.figure()
-
- r = native_data.getCsvDataByFullPath(stockCsvPath)
- dif_price, dea_price, macd_price = macd_back_test.getMAStrategy(stockCsvPath, stock_code, 'MACD')
- ama_price = macd_back_test.getMAStrategy(stockCsvPath, stock_code, 'AMA')
- macd_back_test.getMAStrategy(stockCsvPath, stock_code, 'MA')
- macd_back_test.getMAStrategy(stockCsvPath, stock_code, 'DMA')
- macd_back_test.getMAStrategy(stockCsvPath, stock_code, 'MACD')
- macd_back_test.getMAStrategy(stockCsvPath, stock_code, 'TRIX')
-
- #plot.plotClosePrice(plt, str(stock_code), stock_code, root)
- #plot.plotData(stockCsvPath + '\\' +name, name)
-# plt.plot(range(len(r.adj_close)), r.adj_close, 'black', label="Close")
-# plt.plot(range(len(dif_price)), dif_price, 'red', label='DIF')
-# plt.plot(range(len(dea_price)), dea_price, 'blue', label='DEA')
-# plt.plot(range(len(macd_price)), macd_price, 'cyan', label='MACD')
-# plt.plot(range(len(ama_price)), ama_price, 'green', label='AMA')
-# plt.title(stock_code)
-# plt.legend()
-# plt.grid()
-# plt.show()
-
-# 实时策略
-def live_stock_strategy(stockCsvPath, stock_code):
- r = native_data.getCsvDataByFullPath(stockCsvPath)
- dif_price, dea_price, macd_price = macd_back_test.getMAStrategy(stockCsvPath, stock_code, 'MACD')
- ama_price = macd_back_test.getMAStrategy(stockCsvPath, stock_code, 'AMA')
-
-if __name__ == "__main__":
- strategy_macd()
+#!/usr/local/bin/python
+#coding=utf-8
+
+import os
+
+import matplotlib.pyplot as plt
+
+from trade_process.strategy import macd_back_test
+import data_process.native_data as native_data
+
+
+def strategy_macd():
+ #读取历史数据
+
+ # 计算EMA(12日,26日), DIF, DEA, MACD
+ downloadDir = os.path.pardir + '\\stockdata'
+ downloadDirNew = os.getcwd() + '\\stockdata_macd'
+ if os.path.exists(downloadDir) == False:
+ os.makedirs(downloadDir)
+ if os.path.exists(downloadDirNew) == False:
+ os.makedirs(downloadDirNew)
+
+ #遍历文件夹下的所有csv数据
+ for root, dirs, files in os.walk(downloadDir):
+ for name in files:
+ stockCsvPath = root + '\\' + name
+ if ".csv" in stockCsvPath:
+ basename = os.path.basename(stockCsvPath)
+ stock_code, exp = os.path.splitext(basename)
+ #macd_back_test.run(stockCsvPath, stock_code)
+
+ each_stock_strategy(stockCsvPath, stock_code)
+ #break
+
+def each_stock_strategy(stockCsvPath, stock_code):
+ plt.figure()
+
+ r = native_data.getCsvDataByFullPath(stockCsvPath)
+ dif_price, dea_price, macd_price = macd_back_test.getMAStrategy(stockCsvPath, stock_code, 'MACD')
+ ama_price = macd_back_test.getMAStrategy(stockCsvPath, stock_code, 'AMA')
+ macd_back_test.getMAStrategy(stockCsvPath, stock_code, 'MA')
+ macd_back_test.getMAStrategy(stockCsvPath, stock_code, 'DMA')
+ macd_back_test.getMAStrategy(stockCsvPath, stock_code, 'MACD')
+ macd_back_test.getMAStrategy(stockCsvPath, stock_code, 'TRIX')
+
+ #plot.plotClosePrice(plt, str(stock_code), stock_code, root)
+ #plot.plotData(stockCsvPath + '\\' +name, name)
+# plt.plot(range(len(r.adj_close)), r.adj_close, 'black', label="Close")
+# plt.plot(range(len(dif_price)), dif_price, 'red', label='DIF')
+# plt.plot(range(len(dea_price)), dea_price, 'blue', label='DEA')
+# plt.plot(range(len(macd_price)), macd_price, 'cyan', label='MACD')
+# plt.plot(range(len(ama_price)), ama_price, 'green', label='AMA')
+# plt.title(stock_code)
+# plt.legend()
+# plt.grid()
+# plt.show()
+
+# 实时策略
+def live_stock_strategy(stockCsvPath, stock_code):
+ r = native_data.getCsvDataByFullPath(stockCsvPath)
+ dif_price, dea_price, macd_price = macd_back_test.getMAStrategy(stockCsvPath, stock_code, 'MACD')
+ ama_price = macd_back_test.getMAStrategy(stockCsvPath, stock_code, 'AMA')
+
+if __name__ == "__main__":
+ strategy_macd()
#each_stock_strategy("..\\stockdata\\600000.csv", '399001')
\ No newline at end of file
diff --git a/trade_process/strategy/strategy_macd.pyc b/trade_process/strategy/strategy_macd.pyc
new file mode 100644
index 0000000..25a9fb1
Binary files /dev/null and b/trade_process/strategy/strategy_macd.pyc differ
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..735fbe2 100644
--- a/trade_process/strategy/tread_tracking.py
+++ b/trade_process/strategy/tread_tracking.py
@@ -1,542 +1,586 @@
-#!/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')
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+#!/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
+from macd_back_test import match
+#参数
+prama_ma_short = 3 # 短均线
+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")
+ plt.savefig()
+
+ # 过滤微小波动
+ 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, fundlist,avg):
+ # 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'], avg[0])
+ ma_long = pd.rolling_mean(df['close'], avg[1])
+ ma_long20 = pd.rolling_mean(close_price, avg[2])
+ # 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.figure(figsize=(6, 3))
+ 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")
+ plt.title(code[1])
+ plt.savefig(r'E:\03IT\GitHub\stock-2\trade_process\stockdata\\'+code[1]+'.jpg')
+
+
+ # 判断极点
+ # 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
+
+ # 高低点突破策略
+ # <卖出>如果滤波后的均线比前一个低点的向下漂移项低,则空头开仓或持有空头。
+ if 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):
+ codelist = [['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 = []
+ stockTxtNewPath = "E:/03IT/GitHub/stock-2/stockdata/" + 'GAOpt100.txt'
+ file_to_read = open(stockTxtNewPath, 'r')
+ lines = file_to_read.readlines() # 整行读取数据
+ for i in codelist:
+ if not lines:
+ break
+ pass
+ else:
+ contmatch = match('MA', i, lines)
+ if len(contmatch) != 0:
+ Avg = [int(contmatch[0][1].split(',')[0]), int(contmatch[0][1].split(',')[1]),
+ int(contmatch[0][1].split(',')[2])]
+ elif (len(contmatch)==0):
+ Avg = ([3, 8, 40])
+ # save(strfundcode=i ,numdays=365*1)
+ ifundlist = efund_mail2.get_histrydata(i, 365)
+ buysell.append(tread_track_backtest(i,ifundlist,Avg))
+
+ 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]
+ code = [['002963', 'egold'], ['003321', 'eoil'], ['004744', 'eGEI'], ['110003', 'eSSE50'], ['110020', 'HS300'],
+ ['110031', 'eHSI'], ['161130', 'eNASDAQ100'], ['110028', 'anxinB'], ['110022', 'eConsumption '],
+ ['161125', 'SPX500']]
+ stock_trader_main(code)
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/trade_process/strategy/tread_tracking.pyc b/trade_process/strategy/tread_tracking.pyc
new file mode 100644
index 0000000..85e29b8
Binary files /dev/null and b/trade_process/strategy/tread_tracking.pyc differ
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..d9087fd
--- /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,187 @@
+1 001740 光大中国制造2025混合 混合型 9 22 7 17 13.75
+2 260108 景顺长城新兴成长混合 混合型 24 11 9 18 15.5
+3 162605 景顺长城鼎益混合(LOF) 混合型 27 10 10 15 15.5
+4 110022 易方达消费行业 股票型 45 15 8 3 17.75
+5 161725 招商中证白酒指数分级 股票指数 70 4 3 1 19.5
+6 000248 汇添富中证主要消费ETF联接 联接基金 58 6 14 8 21.5
+7 160222 国泰国证食品饮料行业指数分级 股票指数 65 5 11 5 21.5
+8 000083 汇添富消费行业混合 混合型 42 24 16 34 29.0
+9 550016 信诚至远C 分级杠杆 1 3 49 68 30.25
+10 519664 银河美丽混合A 混合型 16 23 18 66 30.75
+11 481012 工银深证红利联接 联接基金 15 54 25 30 31.0
+12 160632 鹏华酒分级 股票指数 100 7 21 7 33.75
+13 206007 鹏华消费优选混合 混合型 35 34 19 51 34.75
+14 070032 嘉实优化红利混合 混合型 49 28 12 52 35.25
+15 519665 银河美丽混合C 混合型 21 31 22 70 36.0
+16 001542 国泰互联网+股票 股票型 100 35 6 6 36.75
+17 180012 银华富裕主题混合 混合型 100 33 17 4 38.5
+18 000854 鹏华养老产业 股票型 34 26 32 64 39.0
+19 001606 农银工业4.0混合 混合型 55 25 30 65 43.75
+20 000462 农银主题轮动混合 混合型 67 14 23 71 43.75
+21 110003 易方达上证50指数A 股票指数 33 59 60 26 44.5
+22 001287 安信优势增长混合A 混合型 32 13 72 62 44.75
+23 519056 海富通内需热点混合 混合型 11 12 76 84 45.75
+24 000431 鹏华品牌传承混合 混合型 46 27 35 76 46.0
+25 000619 东方红产业升级混合 混合型 100 48 26 13 46.75
+26 040008 华安策略优选混合 混合型 44 100 15 29 47.0
+27 004008 中融鑫思路混合A 混合型 100 1 4 86 47.75
+28 004009 中融鑫思路混合C 混合型 100 2 5 87 48.5
+29 000742 国泰新经济灵活配置混合 混合型 100 75 13 10 49.5
+30 001387 中融新经济混合A 混合型 100 100 1 2 50.75
+31 001112 东方红中国优势混合 混合型 100 69 20 16 51.25
+32 360007 光大保德信优势配置混合 混合型 14 62 71 63 52.5
+33 530015 建信深证60联接 联接基金 28 94 46 44 53.0
+34 260103 景顺长城动力平衡 混合型 18 95 65 35 53.25
+35 540012 汇丰晋信恒生龙头指数A 股票指数 38 100 54 23 53.75
+36 260110 景顺长城精选蓝筹混合 混合型 48 79 43 45 53.75
+37 260116 景顺长城核心竞争力混合A 混合型 52 87 38 38 53.75
+38 001076 易方达改革红利混合 混合型 82 9 48 79 54.5
+39 519690 交银稳健配置混合A 混合型 100 45 24 55 56.0
+40 310388 申万菱信消费增长混合 混合型 100 32 29 67 57.0
+41 001631 天弘中证食品饮料指数A 股票指数 100 16 85 28 57.25
+42 660010 农银策略精选混合 混合型 100 30 73 36 59.75
+43 001632 天弘中证食品饮料指数C 股票指数 100 17 92 31 60.0
+44 020005 国泰金马稳健 混合型 88 63 61 32 61.0
+45 004528 长盛盛通纯债A none 2 43 100 100 61.25
+46 001583 安信新常态股票 股票型 53 100 31 61 61.25
+47 003119 博时鑫源混合A 混合型 4 42 100 100 61.5
+48 003120 博时鑫源混合C 混合型 3 44 100 100 61.75
+49 001281 长安鑫利优选混合A 混合型 100 64 34 49 61.75
+50 169101 东方红睿丰混合 混合型 100 100 36 12 62.0
+51 165312 建信央视50 股票指数 100 100 28 21 62.25
+52 002072 长安鑫利优选混合C 混合型 100 66 37 50 63.25
+53 001208 诺安低碳经济股票 股票型 100 37 74 43 63.5
+54 001170 泰达宏利复兴混合 混合型 76 65 41 73 63.75
+55 000634 富国天盛灵活配置混合 混合型 39 19 100 100 64.5
+56 160216 国泰商品 QDII 10 50 100 100 65.0
+57 001605 国富沪港深成长精选股票 股票型 40 21 100 100 65.25
+58 000029 富国宏观策略 混合型 43 18 100 100 65.25
+59 164906 交银中证海外中国互联网指数 QDII-指数 100 100 42 20 65.5
+60 160628 鹏华地产分级 股票指数 5 58 100 100 65.75
+61 519066 汇添富蓝筹稳健 混合型 100 100 27 39 66.5
+62 110011 易方达中小盘混合 混合型 100 100 57 11 67.0
+63 519606 国泰金鑫 股票型 100 100 51 19 67.5
+64 519772 交银新生活力灵活配置混合 混合型 100 8 67 96 67.75
+65 217027 招商央视财经50指数A 股票指数 100 100 52 22 68.5
+66 161129 易方达原油A类人民币 QDII 25 52 100 100 69.25
+67 020026 国泰成长优选混合 混合型 100 100 64 14 69.5
+68 003321 易方达原油C类人民币 QDII 26 55 100 100 70.25
+69 519068 汇添富成长焦点混合 混合型 100 100 33 48 70.25
+70 000835 华润元大富时中国A50指数 股票指数 37 100 98 47 70.5
+71 002124 广发新兴产业混合 混合型 17 67 100 100 71.0
+72 002121 广发沪港深新起点股票 股票型 47 100 47 92 71.5
+73 002853 华富元鑫灵活配置混合A 混合型 100 100 2 85 71.75
+74 540009 汇丰晋信消费红利 股票型 100 100 56 33 72.25
+75 001044 嘉实新消费股票 股票型 100 100 50 40 72.5
+76 163412 兴全轻资产混合(LOF) 混合型 54 39 100 100 73.25
+77 000934 国富大中华精选混合 QDII 100 100 84 9 73.25
+78 310398 申万菱信沪深300价值指数 股票指数 57 100 96 41 73.5
+79 241001 华宝海外中国成长混合 QDII 100 100 70 25 73.75
+80 001712 东方红优势精选混合 混合型 100 100 59 37 74.0
+81 002851 南方品质混合 混合型 77 91 40 89 74.25
+82 398061 中海消费混合 混合型 100 40 82 75 74.25
+83 000988 嘉实全球互联网股票人民币 QDII 100 100 75 24 74.75
+84 002624 广发优企精选混合 混合型 83 20 100 100 75.75
+85 164508 国富中证100指数增强分级 股票指数 50 100 99 56 76.25
+86 519225 海富通集利债券 债券型 6 100 100 100 76.5
+87 001179 德邦大健康灵活配置混合 混合型 100 93 55 58 76.5
+88 160218 国泰国证房地产行业指数分级 股票指数 7 100 100 100 76.75
+89 003243 上投摩根中国世纪人民币 QDII 100 61 53 93 76.75
+90 161721 招商沪深300地产指数分级 股票指数 8 100 100 100 77.0
+91 001892 长盛新兴成长混合 混合型 22 89 100 100 77.75
+92 001518 万家瑞兴 混合型 12 100 100 100 78.0
+93 501018 南方原油 QDII 36 76 100 100 78.0
+94 519185 万家精选混合 混合型 13 100 100 100 78.25
+95 000173 汇添富美丽30混合 混合型 100 46 88 81 78.75
+96 001865 前海开源事件驱动混合C 混合型 80 77 81 80 79.5
+97 001371 富国沪港深价值混合 混合型 100 100 91 27 79.5
+98 004642 南方房地产ETF联接A none 19 100 100 100 79.75
+99 002085 长盛互联网+混合 混合型 20 100 100 100 80.0
+100 000423 前海开源事件驱动混合A 混合型 84 78 80 78 80.0
+101 004643 南方房地产ETF联接C none 23 100 100 100 80.75
+102 000751 嘉实新兴产业股票 股票型 100 100 66 57 80.75
+103 002666 前海开源沪港深创新成长混合A 混合型 100 99 39 88 81.5
+104 570001 诺德价值优势混合 混合型 100 100 68 59 81.75
+105 001047 光大国企改革股票 股票型 29 100 100 100 82.25
+106 001725 汇添富高端制造股票 股票型 100 29 100 100 82.25
+107 020023 国泰事件驱动策略混合 混合型 100 100 87 42 82.25
+108 519191 万家新利灵活配置混合 混合型 30 100 100 100 82.5
+109 001581 华安沪港深通精选灵活配置混合 混合型 31 100 100 100 82.75
+110 001878 嘉实沪港深精选股票 股票型 100 100 44 90 83.5
+111 376510 上投大盘蓝筹 股票型 100 100 62 72 83.5
+112 180013 银华领先策略混合 混合型 100 36 100 100 84.0
+113 002667 前海开源沪港深创新成长混合C 混合型 100 100 45 91 84.0
+114 118001 易方达亚洲精选 QDII 100 100 83 53 84.0
+115 000127 农银行业领先混合 混合型 100 38 100 100 84.5
+116 110015 易方达行业领先混合 混合型 100 100 69 69 84.5
+117 001410 信达澳银新能源产业股票 股票型 100 100 78 60 84.5
+118 167301 方正富邦保险主题指数分级 股票指数 100 100 94 46 85.0
+119 003704 光大保德信事件驱动混合 混合型 41 100 100 100 85.25
+120 002189 农银汇理国企改革混合 混合型 100 41 100 100 85.25
+121 002697 中欧消费主题股票C 股票型 100 47 100 100 86.75
+122 320010 诺安中证100 股票指数 99 100 95 54 87.0
+123 100022 富国天瑞强势 混合型 100 49 100 100 87.25
+124 001626 国泰央企改革股票 股票型 51 100 100 100 87.75
+125 002621 中欧消费主题股票A 股票型 100 51 100 100 87.75
+126 001404 招商移动互联网产业股票基金 股票型 56 96 100 100 88.0
+127 003940 银华盛世精选灵活配置混合发起式 混合型 100 100 58 94 88.0
+128 519008 汇添富优势精选 混合型 100 53 100 100 88.25
+129 163406 兴全合润分级混合 混合型 100 56 100 100 89.0
+130 001236 博时丝路主题股票A 股票型 100 57 100 100 89.25
+131 002534 华安稳固收益债券A 债券型 100 100 63 95 89.5
+132 501301 华宝香港大盘 股票指数 59 100 100 100 89.75
+133 519671 银河沪深300价值 股票指数 60 100 100 100 90.0
+134 001657 长安鑫富领先混合 混合型 100 60 100 100 90.0
+135 001651 工银新蓝筹股票 股票型 61 100 100 100 90.25
+136 003154 华宝新活力混合 混合型 81 80 100 100 90.25
+137 162719 广发道琼斯石油指数A QDII-指数 62 100 100 100 90.5
+138 000167 广发聚优灵活配置混合A 混合型 100 100 79 83 90.5
+139 003261 安信沪深300增强发起式A 股票指数 63 100 100 100 90.75
+140 004243 广发道琼斯石油指数C QDII-指数 64 100 100 100 91.0
+141 000020 景顺长城品质投资混合 混合型 100 100 90 74 91.0
+142 003262 安信沪深300增强发起式C 股票指数 66 100 100 100 91.5
+143 163302 大摩资源优选混合(LOF) 混合型 68 100 100 100 92.0
+144 002595 博时工业4.0主题股票 股票型 100 68 100 100 92.0
+145 110010 易方达价值成长混合A 混合型 69 100 100 100 92.25
+146 004374 华泰保兴吉年丰混合发起A 混合型 100 70 100 100 92.5
+147 213010 宝盈中证100增强 股票指数 71 100 100 100 92.75
+148 004375 华泰保兴吉年丰混合发起C 混合型 100 71 100 100 92.75
+149 410009 华富量子生命力混合 混合型 72 100 100 100 93.0
+150 001458 广发中证全指主要消费联接A 联接基金 100 72 100 100 93.0
+151 519087 新华优选分红混合 混合型 73 100 100 100 93.25
+152 002976 广发中证全指主要消费联接C 联接基金 100 73 100 100 93.25
+153 004357 南方智慧混合 混合型 74 100 100 100 93.5
+154 519165 新华鑫利灵活配置 混合型 100 74 100 100 93.5
+155 002214 中海沪港深价值优选混合 混合型 100 100 77 97 93.5
+156 310358 申万菱信新经济混合 混合型 100 100 97 77 93.5
+157 002443 前海开源沪港深龙头精选混合 混合型 75 100 100 100 93.75
+158 350005 天治中国制造2025 混合型 100 100 93 82 93.75
+159 410008 华富中证100 股票指数 78 100 100 100 94.5
+160 481001 工银核心价值混合A 混合型 79 100 100 100 94.75
+161 000746 招商行业精选股票 股票型 100 81 100 100 95.25
+162 398021 中海能源策略 混合型 100 82 100 100 95.5
+163 001681 新华积极价值灵活配置混合 混合型 100 83 100 100 95.75
+164 160605 鹏华中国50 混合型 98 86 100 100 96.0
+165 002142 博时外延增长主题灵活配置混合 混合型 100 84 100 100 96.0
+166 519196 万家新兴蓝筹灵活配置混合 混合型 100 100 86 98 96.0
+167 502040 长盛上证50指数分级 股票指数 85 100 100 100 96.25
+168 001528 诺安先进制造股票 股票型 100 85 100 100 96.25
+169 162203 泰达宏利稳定混合 混合型 86 100 100 100 96.5
+170 001040 新华策略精选股票 股票型 87 100 100 100 96.75
+171 160624 鹏华消费领先混合 混合型 100 88 100 100 97.0
+172 003597 长盛盛腾混合C 混合型 100 100 89 99 97.0
+173 519706 交银深证300联接 联接基金 89 100 100 100 97.25
+174 501050 华夏上证50AH优选指数 股票指数 90 100 100 100 97.5
+175 519732 交银定期支付双息平衡混合 混合型 100 90 100 100 97.5
+176 163803 中银持续增长混合A 混合型 91 100 100 100 97.75
+177 240019 华宝上证180成长联接 联接基金 92 100 100 100 98.0
+178 001186 富国文体健康股票 股票型 100 92 100 100 98.0
+179 502020 国金上证50分级 股票指数 93 100 100 100 98.25
+180 399001 中海上证50 股票指数 94 100 100 100 98.5
+181 160716 嘉实基本面50 股票指数 95 100 100 100 98.75
+182 004477 嘉实沪港深回报混合 混合型 96 100 100 100 99.0
+183 070023 嘉实深证120联接 联接基金 97 100 100 100 99.25
+184 100026 富国天合稳健优选混合 混合型 100 97 100 100 99.25
+185 004183 富国产业升级混合 none 100 98 100 100 99.5
+186 001163 银华中国梦30股票 股票型 100 100 100 100 100.0
+187 003596 长盛盛腾混合A 混合型 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 0000000..883dab0
Binary files /dev/null and b/util/MyLogger.pyc differ
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 0000000..3fe90ff
Binary files /dev/null and b/util/__init__.pyc differ
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 0000000..43e4ead
Binary files /dev/null and b/util/codeConvert.pyc differ
diff --git a/util/commons.py b/util/commons.py
index 7f5ed91..c153ced 100644
--- a/util/commons.py
+++ b/util/commons.py
@@ -1,37 +1,37 @@
-#!/usr/local/bin/python
-#coding=utf-8
-# 定义的常量
-
-import os
-
-##################################
-# Redis
-
-#基本信息表
-PRE_STOCK_BASIC = 'stock_basic_info:' #股票基本信息的前缀
-KEY_CODE = 'code'
-KEY_NAME = 'name'
-KEY_INDUSTRY = 'industry'
-KEY_AREA = 'area'
-KEY_PE = 'pe' #市盈率
-KEY_EPS = 'eps' #每股收益
-KEY_PB = 'pb' #市净率
-KEY_TimeToMarket = 'timeToMarket'
-
-#历史K线数据
-PRE_STOCK_KLINE = 'kline_'
-#PRE_STOCK_KLINE_Sqlite = 'kline_' # sqlite 不支持 :,改成_
-KEY_DATE = 'date'
-KEY_OPEN = 'open'
-KEY_HIGH = 'high'
-KEY_CLOSE = 'close'
-KEY_LOW = 'low'
-KEY_VOLUME = 'volume'
-KEY_AMOUNT = 'amount'
-
-STOCK_BASIC_TABLE = 'stock_basic_all' # 索引:获取所有股票
-STOCK_KLINE_TABLE = 'stock_kline_fq' # 索引:获取单只股票的所有日期的K线(前复权,后复权) #stock_kline_all
-
-
-##################################
-
+#!/usr/local/bin/python
+#coding=utf-8
+# 定义的常量
+
+import os
+
+##################################
+# Redis
+
+#基本信息表
+PRE_STOCK_BASIC = 'stock_basic_info:' #股票基本信息的前缀
+KEY_CODE = 'code'
+KEY_NAME = 'name'
+KEY_INDUSTRY = 'industry'
+KEY_AREA = 'area'
+KEY_PE = 'pe' #市盈率
+KEY_EPS = 'eps' #每股收益
+KEY_PB = 'pb' #市净率
+KEY_TimeToMarket = 'timeToMarket'
+
+#历史K线数据
+PRE_STOCK_KLINE = 'kline_'
+#PRE_STOCK_KLINE_Sqlite = 'kline_' # sqlite 不支持 :,改成_
+KEY_DATE = 'date'
+KEY_OPEN = 'open'
+KEY_HIGH = 'high'
+KEY_CLOSE = 'close'
+KEY_LOW = 'low'
+KEY_VOLUME = 'volume'
+KEY_AMOUNT = 'amount'
+
+STOCK_BASIC_TABLE = 'stock_basic_all' # 索引:获取所有股票
+STOCK_KLINE_TABLE = 'stock_kline_fq' # 索引:获取单只股票的所有日期的K线(前复权,后复权) #stock_kline_all
+
+
+##################################
+
diff --git a/util/commons.pyc b/util/commons.pyc
new file mode 100644
index 0000000..78cd4cd
Binary files /dev/null and b/util/commons.pyc differ
diff --git a/util/helper.py b/util/helper.py
index 539d142..53a7a99 100644
--- a/util/helper.py
+++ b/util/helper.py
@@ -1,20 +1,20 @@
-#!/usr/local/bin/python
-#coding=utf-8
-
-__author__ = 'bbchen'
-
-import time
-from functools import wraps
-
-# 统计函数耗时
-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
+#!/usr/local/bin/python
+#coding=utf-8
+
+__author__ = 'bbchen'
+
+import time
+from functools import wraps
+
+# 统计函数耗时
+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
\ No newline at end of file
diff --git a/util/helper.pyc b/util/helper.pyc
new file mode 100644
index 0000000..4ddc7ca
Binary files /dev/null and b/util/helper.pyc differ
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 0000000..8f8cff7
Binary files /dev/null and b/util/send_mail.pyc differ
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 0000000..4d402f1
Binary files /dev/null and b/util/stockutil.pyc differ
diff --git "a/\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/\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..55e6f2c
--- /dev/null
+++ "b/\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,559 @@
+1 160222 国泰国证食品饮料行业指数分级 股票指数 100 100 5 15 4 44.8
+2 110022 易方达消费行业 股票型 100 100 19 9 2 46.0
+3 000248 汇添富中证主要消费ETF联接 联接基金 100 100 4 18 10 46.4
+4 260108 景顺长城新兴成长混合 混合型 100 100 10 11 17 47.6
+5 162605 景顺长城鼎益混合(LOF) 混合型 100 100 12 13 13 47.6
+6 161725 招商中证白酒指数分级 股票指数 77 100 56 5 1 47.8
+7 000619 东方红产业升级混合 混合型 100 100 23 19 11 50.6
+8 000083 汇添富消费行业混合 混合型 100 100 11 14 30 51.0
+9 260116 景顺长城核心竞争力混合A 混合型 100 100 20 22 24 53.2
+10 001740 光大中国制造2025混合 混合型 100 100 42 8 23 54.6
+11 070032 嘉实优化红利混合 混合型 100 100 13 10 51 54.8
+12 001112 东方红中国优势混合 混合型 100 100 43 20 14 55.4
+13 000462 农银主题轮动混合 混合型 100 100 3 25 52 56.0
+14 260110 景顺长城精选蓝筹混合 混合型 100 100 25 34 32 58.2
+15 001606 农银工业4.0混合 混合型 100 100 21 27 49 59.4
+16 002863 金信深圳成长混合发起式 混合型 1 1 100 100 100 60.4
+17 001208 诺安低碳经济股票 股票型 100 100 15 60 28 60.6
+18 519066 汇添富蓝筹稳健 混合型 100 100 44 17 42 60.6
+19 164908 交银中证环境治理(LOF) 股票指数 2 2 100 100 100 60.8
+20 110003 易方达上证50指数A 股票指数 100 100 32 51 21 60.8
+21 001387 中融新经济混合A 混合型 100 100 100 1 3 60.8
+22 501030 汇添富中证环境治理指数A 股票指数 3 4 100 100 100 61.4
+23 501031 汇添富中证环境治理指数C 股票指数 4 3 100 100 100 61.4
+24 001822 华商智能生活灵活配置混合 混合型 5 5 100 100 100 62.0
+25 550016 信诚至远C 分级杠杆 100 100 1 36 74 62.2
+26 519664 银河美丽混合A 混合型 100 100 18 33 60 62.2
+27 519068 汇添富成长焦点混合 混合型 100 100 46 21 44 62.2
+28 001542 国泰互联网+股票 股票型 100 100 100 7 5 62.4
+29 000800 华商未来主题混合 混合型 7 6 100 100 100 62.6
+30 630011 华商主题精选混合 混合型 10 8 100 100 100 63.6
+31 000654 华商新锐产业混合 混合型 12 9 100 100 100 64.2
+32 000742 国泰新经济灵活配置混合 混合型 100 100 100 16 7 64.6
+33 001076 易方达改革红利混合 混合型 100 100 14 40 70 64.8
+34 630005 华商动态阿尔法 混合型 13 12 100 100 100 65.0
+35 001170 泰达宏利复兴混合 混合型 100 100 26 39 61 65.2
+36 519665 银河美丽混合C 混合型 100 100 22 38 67 65.4
+37 481012 工银深证红利联接 联接基金 100 100 58 35 36 65.8
+38 160632 鹏华酒分级 股票指数 70 100 100 55 8 66.6
+39 001679 前海开源中国稀缺资产混合A 混合型 20 14 100 100 100 66.8
+40 519772 交银新生活力灵活配置混合 混合型 100 100 2 43 89 66.8
+41 001071 华安媒体互联网混合 混合型 9 27 100 100 100 67.2
+42 180012 银华富裕主题混合 混合型 100 100 100 30 6 67.2
+43 002079 前海开源中国稀缺资产混合C 混合型 21 16 100 100 100 67.4
+44 660010 农银策略精选混合 混合型 100 100 41 67 29 67.4
+45 165523 信诚中证信息安全指数分级 股票指数 8 30 100 100 100 67.6
+46 000690 前海开源大海洋混合 混合型 18 20 100 100 100 67.6
+47 040008 华安策略优选混合 混合型 100 100 100 12 26 67.6
+48 001287 安信优势增长混合A 混合型 100 100 8 58 73 67.8
+49 001281 长安鑫利优选混合A 混合型 100 100 51 26 62 67.8
+50 165312 建信央视50 股票指数 100 100 100 24 19 68.6
+51 169101 东方红睿丰混合 混合型 100 100 100 31 12 68.6
+52 519908 华夏兴华混合A 混合型 15 29 100 100 100 68.8
+53 002983 长信国防军工量化混合 混合型 19 25 100 100 100 68.8
+54 540012 汇丰晋信恒生龙头指数A 股票指数 100 100 82 47 15 68.8
+55 160643 鹏华中证空天一体(LOF) none 24 21 100 100 100 69.0
+56 002072 长安鑫利优选混合C 混合型 100 100 54 28 64 69.2
+57 001179 德邦大健康灵活配置混合 混合型 100 100 52 54 46 70.4
+58 160630 鹏华国防 股票指数 34 22 100 100 100 71.2
+59 519690 交银稳健配置混合A 混合型 100 100 73 23 63 71.8
+60 310388 申万菱信消费增长混合 混合型 100 100 64 29 68 72.2
+61 164304 新华中证环保产业指数分级 股票指数 26 37 100 100 100 72.6
+62 001712 东方红优势精选混合 混合型 100 100 84 45 35 72.8
+63 000173 汇添富美丽30混合 混合型 100 100 17 75 76 73.6
+64 161024 富国中证军工指数分级 股票指数 27 42 100 100 100 73.8
+65 001266 国投瑞银招财混合 保本型 53 17 100 100 100 74.0
+66 004347 南方中证500信息技术联接C 联接基金 40 32 100 100 100 74.4
+67 002984 广发环保指数C 股票指数 29 44 100 100 100 74.6
+68 005035 银华信息科技量化股票发起式A none 35 39 100 100 100 74.8
+69 001044 嘉实新消费股票 股票型 100 100 100 37 37 74.8
+70 165524 信诚中证智能家居指数分级 股票指数 32 43 100 100 100 75.0
+71 001064 广发环保指数A 股票指数 30 46 100 100 100 75.2
+72 002900 南方中证500信息技术联接A 联接基金 42 34 100 100 100 75.2
+73 005036 银华信息科技量化股票发起式C none 36 41 100 100 100 75.4
+74 110011 易方达中小盘混合 混合型 100 100 100 61 16 75.4
+75 217027 招商央视财经50指数A 股票指数 100 100 100 57 22 75.8
+76 163114 申万中证环保产业指数分级 股票指数 31 49 100 100 100 76.0
+77 241001 华宝海外中国成长混合 QDII 100 100 100 49 31 76.0
+78 002236 大成360互联网+大数据100A 股票指数 6 75 100 100 100 76.2
+79 161031 富国中证工业4.0指数分级 股票指数 28 53 100 100 100 76.2
+80 260103 景顺长城动力平衡 混合型 100 100 77 66 38 76.2
+81 004224 南方军工改革灵活配置混合 混合型 17 67 100 100 100 76.8
+82 001838 国投瑞银国家安全混合 混合型 71 13 100 100 100 76.8
+83 519746 交银丰享收益债券A 债券型 100 100 100 2 82 76.8
+84 001591 天弘中证环保产业C 股票指数 37 48 100 100 100 77.0
+85 002853 华富元鑫灵活配置混合A 混合型 100 100 100 3 83 77.2
+86 206007 鹏华消费优选混合 混合型 100 100 100 48 39 77.4
+87 160634 鹏华环保分级 股票指数 33 55 100 100 100 77.6
+88 001590 天弘中证环保产业A 股票指数 38 50 100 100 100 77.6
+89 004008 中融鑫思路混合A 混合型 100 100 100 4 84 77.6
+90 540009 汇丰晋信消费红利 股票型 100 100 100 64 25 77.8
+91 000423 前海开源事件驱动混合A 混合型 100 100 40 72 78 78.0
+92 004009 中融鑫思路混合C 混合型 100 100 100 6 85 78.2
+93 001865 前海开源事件驱动混合C 混合型 100 100 39 73 80 78.4
+94 360007 光大保德信优势配置混合 混合型 100 100 71 68 54 78.6
+95 001475 易方达国防军工混合 混合型 72 23 100 100 100 79.0
+96 257070 国联安优选行业混合 混合型 76 19 100 100 100 79.0
+97 005117 金信价值精选灵活配置混合A none 63 33 100 100 100 79.2
+98 210004 金鹰稳健成长混合 混合型 23 74 100 100 100 79.4
+99 002199 前海开源中证军工指数C 股票指数 46 52 100 100 100 79.6
+100 005118 金信价值精选灵活配置混合C none 62 36 100 100 100 79.6
+101 164906 交银中证海外中国互联网指数 QDII-指数 100 100 100 59 41 80.0
+102 519606 国泰金鑫 股票型 100 100 100 80 20 80.0
+103 161628 融通军工分级 股票指数 39 62 100 100 100 80.2
+104 502003 易方达军工分级 股票指数 43 60 100 100 100 80.6
+105 310398 申万菱信沪深300价值指数 股票指数 100 100 100 70 33 80.6
+106 164819 工银中证环保产业指数分级 股票指数 55 51 100 100 100 81.2
+107 001899 东海社会安全 股票指数 59 47 100 100 100 81.2
+108 001725 汇添富高端制造股票 股票型 100 100 6 100 100 81.2
+109 000596 前海开源中证军工指数A 股票指数 50 57 100 100 100 81.4
+110 003119 博时鑫源混合A 混合型 100 100 7 100 100 81.4
+111 163115 申万菱信中证军工指数分级 股票指数 49 59 100 100 100 81.6
+112 000061 华夏盛世混合 混合型 90 18 100 100 100 81.6
+113 003120 博时鑫源混合C 混合型 100 100 9 100 100 81.8
+114 001583 安信新常态股票 股票型 100 100 100 44 65 81.8
+115 110015 易方达行业领先混合 混合型 100 100 100 56 53 81.8
+116 160127 南方新兴消费分级 股票型 100 100 100 100 9 81.8
+117 004314 前海开源沪港深新硬件A 混合型 100 10 100 100 100 82.0
+118 000854 鹏华养老产业 股票型 100 100 90 62 58 82.0
+119 004315 前海开源沪港深新硬件C 混合型 100 11 100 100 100 82.2
+120 000835 华润元大富时中国A50指数 股票指数 100 100 93 78 40 82.2
+121 530015 建信深证60联接 联接基金 100 100 100 63 48 82.2
+122 519671 银河沪深300价值 股票指数 100 100 100 77 34 82.2
+123 020026 国泰成长优选混合 混合型 100 100 100 97 18 83.0
+124 002624 广发优企精选混合 混合型 100 100 16 100 100 83.2
+125 002851 南方品质混合 混合型 100 100 70 53 93 83.2
+126 003243 上投摩根中国世纪人民币 QDII 100 100 72 52 92 83.2
+127 161631 融通人工智能指数(LOF) 股票指数 48 69 100 100 100 83.4
+128 001703 银华沪港深增长股票 股票型 100 100 100 32 86 83.6
+129 020023 国泰事件驱动策略混合 混合型 100 100 100 94 27 84.2
+130 398061 中海消费混合 混合型 100 100 76 74 72 84.4
+131 501002 长信中证能源互联指数(LOF) 股票指数 78 45 100 100 100 84.6
+132 161033 富国中证智能汽车(LOF) 股票指数 100 24 100 100 100 84.8
+133 004528 长盛盛通纯债A none 100 100 24 100 100 84.8
+134 162107 金鹰量化精选股票(LOF) 股票型 14 111 100 100 100 85.0
+135 620004 金元顺安价值增长混合 混合型 22 103 100 100 100 85.0
+136 163117 申万菱信申万传媒分级 股票指数 25 100 100 100 100 85.0
+137 164508 国富中证100指数增强分级 股票指数 100 100 89 86 50 85.0
+138 000696 汇添富环保行业股票 股票型 68 58 100 100 100 85.2
+139 000698 宝盈科技30混合 混合型 111 15 100 100 100 85.2
+140 000751 嘉实新兴产业股票 股票型 100 100 100 71 55 85.2
+141 164402 前海开源中航军工 股票指数 56 71 100 100 100 85.4
+142 163412 兴全轻资产混合(LOF) 混合型 100 100 27 100 100 85.4
+143 002482 宝盈互联网沪港深混合 混合型 100 28 100 100 100 85.6
+144 519642 银河智造混合 混合型 100 100 28 100 100 85.6
+145 002121 广发沪港深新起点股票 股票型 100 100 100 41 87 85.6
+146 501019 国泰国证航天军工指数 股票指数 51 78 100 100 100 85.8
+147 398041 中海量化策略混合 混合型 65 64 100 100 100 85.8
+148 002251 华夏军工安全混合 混合型 89 40 100 100 100 85.8
+149 160628 鹏华地产分级 股票指数 100 100 29 100 100 85.8
+150 519008 汇添富优势精选 混合型 100 100 30 100 100 86.0
+151 002666 前海开源沪港深创新成长混合A 混合型 100 100 100 42 88 86.0
+152 320010 诺安中证100 股票指数 100 100 100 83 47 86.0
+153 004374 华泰保兴吉年丰混合发起A 混合型 100 100 31 100 100 86.2
+154 570001 诺德价值优势混合 混合型 100 100 100 76 56 86.4
+155 001605 国富沪港深成长精选股票 股票型 100 100 33 100 100 86.6
+156 167301 方正富邦保险主题指数分级 股票指数 100 100 100 90 43 86.6
+157 001528 诺安先进制造股票 股票型 100 100 34 100 100 86.8
+158 004375 华泰保兴吉年丰混合发起C 混合型 100 100 35 100 100 87.0
+159 161030 富国中证体育产业指数分级 股票指数 11 125 100 100 100 87.2
+160 002124 广发新兴产业混合 混合型 100 100 36 100 100 87.2
+161 350005 天治中国制造2025 混合型 100 100 75 84 77 87.2
+162 002667 前海开源沪港深创新成长混合C 混合型 100 100 100 46 90 87.2
+163 163411 兴全精选混合 保本型 100 100 37 100 100 87.4
+164 320017 诺安全球不动产 QDII 100 38 100 100 100 87.6
+165 481001 工银核心价值混合A 混合型 100 100 38 100 100 87.6
+166 001878 嘉实沪港深精选股票 股票型 100 100 100 50 91 88.2
+167 002189 农银汇理国企改革混合 混合型 100 100 55 89 98 88.4
+168 001371 富国沪港深价值混合 混合型 100 100 100 98 45 88.6
+169 519056 海富通内需热点混合 混合型 100 100 45 100 100 89.0
+170 161224 国投瑞银新丝路混合(LOF) 混合型 47 100 100 100 100 89.4
+171 001163 银华中国梦30股票 股票型 100 100 47 100 100 89.4
+172 001892 长盛新兴成长混合 混合型 100 100 48 100 100 89.6
+173 376510 上投大盘蓝筹 股票型 100 100 100 79 69 89.6
+174 001657 长安鑫富领先混合 混合型 100 100 49 100 100 89.8
+175 166006 中欧行业成长混合(LOF)A 混合型 100 100 100 92 57 89.8
+176 000127 农银行业领先混合 混合型 100 100 50 100 100 90.0
+177 519961 长信利广混合A 混合型 125 26 100 100 100 90.2
+178 310358 申万菱信新经济混合 混合型 100 100 100 85 66 90.2
+179 002230 华夏大中华混合(QDII) QDII 97 56 100 100 100 90.6
+180 001209 前海开源一带一路混合A 混合型 122 31 100 100 100 90.6
+181 002085 长盛互联网+混合 混合型 100 100 53 100 100 90.6
+182 002974 广发信息技术联接C 联接基金 44 110 100 100 100 90.8
+183 540008 汇丰晋信低碳先锋 股票型 100 54 100 100 100 90.8
+184 000011 华夏大盘精选 混合型 100 100 100 96 59 91.0
+185 000942 广发信息技术联接A 联接基金 45 112 100 100 100 91.4
+186 000634 富国天盛灵活配置混合 混合型 100 100 57 100 100 91.4
+187 160422 华安中证定向增发 股票指数 58 100 100 100 100 91.6
+188 002080 前海开源一带一路混合C 混合型 123 35 100 100 100 91.6
+189 004505 博时新兴消费主题混合 混合型 100 100 59 100 100 91.8
+190 001236 博时丝路主题股票A 股票型 100 100 60 100 100 92.0
+191 000179 广发美国房地产指数 QDII-指数 100 61 100 100 100 92.2
+192 000029 富国宏观策略 混合型 100 100 61 100 100 92.2
+193 519732 交银定期支付双息平衡混合 混合型 100 100 62 100 100 92.4
+194 001681 新华积极价值灵活配置混合 混合型 100 100 63 100 100 92.6
+195 001668 汇添富全球互联混合 QDII 100 100 100 69 94 92.6
+196 162203 泰达宏利稳定混合 混合型 100 100 100 88 75 92.6
+197 501005 汇添富中证精准医疗指数A 股票指数 16 148 100 100 100 92.8
+198 001790 国泰智能汽车股票 none 100 65 100 100 100 93.0
+199 100022 富国天瑞强势 混合型 100 100 65 100 100 93.0
+200 004357 南方智慧混合 混合型 100 100 66 100 100 93.2
+201 003017 广发中证军工ETF联接 联接基金 84 83 100 100 100 93.4
+202 519035 富国天博创新主题混合 混合型 100 100 67 100 100 93.4
+203 160141 南方道琼斯美国精选C none 100 68 100 100 100 93.6
+204 004897 长安鑫恒回报混合A none 100 100 68 100 100 93.6
+205 161726 招商国证生物医药指数分级 股票指数 41 128 100 100 100 93.8
+206 501010 汇添富中证生物科技指数C 股票指数 52 117 100 100 100 93.8
+207 501009 汇添富中证生物科技指数A 股票指数 54 115 100 100 100 93.8
+208 519170 浦银安盛增长动力混合 混合型 73 96 100 100 100 93.8
+209 164905 交银国证新能源指数分级 股票指数 106 63 100 100 100 93.8
+210 004183 富国产业升级混合 none 100 100 69 100 100 93.8
+211 160140 南方道琼斯美国精选A none 100 70 100 100 100 94.0
+212 000020 景顺长城品质投资混合 混合型 100 100 100 99 71 94.0
+213 000167 广发聚优灵活配置混合A 混合型 100 100 100 91 81 94.4
+214 004748 天弘策略精选混合C none 66 107 100 100 100 94.6
+215 004898 长安鑫恒回报混合C none 100 100 74 100 100 94.8
+216 004694 天弘策略精选混合A none 67 109 100 100 100 95.2
+217 002345 华夏高端制造混合 混合型 100 76 100 100 100 95.2
+218 003597 长盛盛腾混合C 混合型 100 100 100 81 95 95.2
+219 000535 长盛航天海工装备灵活配置 混合型 100 77 100 100 100 95.4
+220 002595 博时工业4.0主题股票 股票型 100 100 78 100 100 95.6
+221 001659 富安达新动力混合 混合型 100 100 100 82 96 95.6
+222 001723 华商新动力灵活配置混合 混合型 79 100 100 100 100 95.8
+223 161028 富国中证新能源汽车指数分级 股票指数 100 79 100 100 100 95.8
+224 450004 国富深化价值混合 混合型 100 100 79 100 100 95.8
+225 003154 华宝新活力混合 混合型 100 100 80 100 100 96.0
+226 160605 鹏华中国50 混合型 81 100 100 100 100 96.2
+227 003670 中融物联网主题灵活配置混合 混合型 100 81 100 100 100 96.2
+228 001714 工银文体产业股票 股票型 100 100 81 100 100 96.2
+229 004698 博时军工主题股票 none 100 82 100 100 100 96.4
+230 519702 交银趋势混合 混合型 100 100 83 100 100 96.6
+231 002980 华夏创新前沿股票 股票型 100 84 100 100 100 96.8
+232 002989 融通通乾研究精选混合 混合型 100 100 100 87 97 96.8
+233 001915 宝盈医疗健康沪港深股票 股票型 98 87 100 100 100 97.0
+234 000541 华商创新成长灵活配置 混合型 100 85 100 100 100 97.0
+235 001651 工银新蓝筹股票 股票型 100 100 85 100 100 97.0
+236 001457 华商新常态混合 混合型 100 86 100 100 100 97.2
+237 001518 万家瑞兴 混合型 100 100 86 100 100 97.2
+238 161122 易方达生物分级 股票指数 64 123 100 100 100 97.4
+239 001040 新华策略精选股票 股票型 100 100 87 100 100 97.4
+240 004477 嘉实沪港深回报混合 混合型 100 100 88 100 100 97.6
+241 005496 创金合信科技成长股票C none 100 90 100 100 100 98.0
+242 005495 创金合信科技成长股票A none 100 91 100 100 100 98.2
+243 160216 国泰商品 QDII 100 100 91 100 100 98.2
+244 164907 交银中证互联网金融指数分级 股票指数 92 100 100 100 100 98.4
+245 160225 国泰国证新能源汽车指数 股票指数 100 92 100 100 100 98.4
+246 519087 新华优选分红混合 混合型 100 100 92 100 100 98.4
+247 002214 中海沪港深价值优选混合 混合型 100 100 100 93 99 98.4
+248 501008 汇添富中证互联网医疗指数C 股票指数 93 100 100 100 100 98.6
+249 501007 汇添富中证互联网医疗指数A 股票指数 94 100 100 100 100 98.8
+250 160607 鹏华价值优势混合(LOF) 混合型 100 100 94 100 100 98.8
+251 161123 易方达重组分级 股票指数 95 100 100 100 100 99.0
+252 206002 鹏华精选成长混合 混合型 100 100 95 100 100 99.0
+253 003596 长盛盛腾混合A 混合型 100 100 100 95 100 99.0
+254 161232 国投瑞银瑞盛混合(LOF) 混合型 108 88 100 100 100 99.2
+255 100020 富国天益价值混合 混合型 100 100 96 100 100 99.2
+256 001986 前海开源人工智能主题混合 混合型 100 97 100 100 100 99.4
+257 001581 华安沪港深通精选灵活配置混合 混合型 100 100 97 100 100 99.4
+258 002142 博时外延增长主题灵活配置混合 混合型 100 100 98 100 100 99.6
+259 001600 天弘中证高端装备制造C 股票指数 127 72 100 100 100 99.8
+260 003750 创金合信鑫收益混合C 混合型 100 100 99 100 100 99.8
+261 003145 中融竞争优势 股票型 100 100 100 100 100 100.0
+262 001186 富国文体健康股票 股票型 100 100 100 100 100 100.0
+263 001599 天弘中证高端装备制造A 股票指数 128 73 100 100 100 100.2
+264 630001 华商领先企业 混合型 105 100 100 100 100 101.0
+265 000603 易方达创新驱动灵活配置混合 混合型 100 105 100 100 100 101.0
+266 004397 长盛信息安全量化策略混合 混合型 100 106 100 100 100 101.2
+267 161609 融通动力先锋混合 混合型 91 116 100 100 100 101.4
+268 000965 汇丰晋信新动力混合 混合型 100 108 100 100 100 101.6
+269 004752 广发中证传媒ETF联接A none 109 100 100 100 100 101.8
+270 502036 大成中证互联网金融指数分级 股票指数 110 100 100 100 100 102.0
+271 519110 浦银安盛价值成长混合A 混合型 86 127 100 100 100 102.6
+272 000220 富国医疗保健行业混合 混合型 100 113 100 100 100 102.6
+273 580005 东吴进取策略 混合型 100 114 100 100 100 102.8
+274 004753 广发中证传媒ETF联接C none 115 100 100 100 100 103.0
+275 165315 建信网金融分级 股票指数 118 100 100 100 100 103.6
+276 001730 兴银大健康 混合型 100 118 100 100 100 103.6
+277 260109 景顺长城内需贰号混合 混合型 74 145 100 100 100 103.8
+278 160629 鹏华传媒分级 股票指数 119 100 100 100 100 103.8
+279 070030 嘉实中创400联接 联接基金 87 134 100 100 100 104.2
+280 004394 华泰柏瑞量化创优混合 none 121 100 100 100 100 104.2
+281 673010 西部利得新动向混合 混合型 100 121 100 100 100 104.2
+282 001959 华商乐享互联灵活配置混合 混合型 100 122 100 100 100 104.4
+283 163415 兴全商业模式优选混合 混合型 124 100 100 100 100 104.8
+284 001037 国投瑞银锐意改革混合 混合型 100 124 100 100 100 104.8
+285 610005 信达澳银红利回报混合 混合型 82 144 100 100 100 105.2
+286 161037 富国中证高端制造指数增强型 股票指数 107 120 100 100 100 105.4
+287 210008 金鹰策略配置混合 混合型 57 172 100 100 100 105.8
+288 000778 鹏华先进制造股票 股票型 100 129 100 100 100 105.8
+289 005038 银华新能源新材料C none 100 130 100 100 100 106.0
+290 590008 中邮战略新兴产业混合 混合型 131 100 100 100 100 106.2
+291 005037 银华新能源新材料A none 100 132 100 100 100 106.4
+292 001322 东吴新趋势 混合型 226 7 100 100 100 106.6
+293 001279 中海积极增利混合 混合型 100 133 100 100 100 106.6
+294 001195 工银农业产业股票 股票型 136 100 100 100 100 107.2
+295 000788 前海开源中国成长混合 混合型 100 136 100 100 100 107.2
+296 003634 嘉实农业产业股票 股票型 137 100 100 100 100 107.4
+297 000586 景顺中小板创业板精选股票 股票型 100 138 100 100 100 107.6
+298 161910 万家中创指数分级 股票指数 100 139 100 100 100 107.8
+299 003769 中银品质生活混合 混合型 140 100 100 100 100 108.0
+300 004343 南方创业板ETF联接C 联接基金 141 100 100 100 100 108.2
+301 206011 鹏华美国房地产 QDII 100 141 100 100 100 108.2
+302 003975 中信建投睿泰灵活配置混合C 混合型 142 100 100 100 100 108.4
+303 002656 南方创业板ETF联接A 联接基金 143 100 100 100 100 108.6
+304 000534 长盛高端装备制造灵活配置 混合型 145 98 100 100 100 108.6
+305 002229 华夏经济转型股票 股票型 100 143 100 100 100 108.6
+306 003974 中信建投睿泰灵活配置混合A 混合型 144 100 100 100 100 108.8
+307 161223 国投瑞银中证创业指数分级 股票指数 100 146 100 100 100 109.2
+308 502056 广发医疗指数分级 股票指数 148 100 100 100 100 109.6
+309 160633 鹏华证券分级 股票指数 149 100 100 100 100 109.8
+310 540010 汇丰晋信科技先锋 股票型 100 149 100 100 100 109.8
+311 160637 鹏华创业板分级 股票指数 151 100 100 100 100 110.2
+312 000727 融通健康产业灵活配置混合 混合型 112 140 100 100 100 110.4
+313 161613 融通创业板指数增强 股票指数 152 100 100 100 100 110.4
+314 164818 工银中证传媒指数分级 股票指数 153 100 100 100 100 110.6
+315 004671 中融核心成长 none 100 153 100 100 100 110.6
+316 000062 银华量化智慧动力混合 混合型 154 100 100 100 100 110.8
+317 270028 广发制造业精选混合 混合型 100 156 100 100 100 111.2
+318 000279 华商红利优选灵活配置 混合型 75 182 100 100 100 111.4
+319 160419 华安中证全指证券公司指数分级 股票指数 157 100 100 100 100 111.4
+320 164401 前海开源健康分级 股票指数 101 157 100 100 100 111.6
+321 502010 易方达证券公司分级 股票指数 161 100 100 100 100 112.2
+322 519918 华夏兴和混合 混合型 100 161 100 100 100 112.2
+323 161720 招商中证全指证券公司指数分级 股票指数 162 100 100 100 100 112.4
+324 000969 前海开源大安全混合 混合型 100 162 100 100 100 112.4
+325 001809 中信建投智信物联网A 混合型 100 163 100 100 100 112.6
+326 110026 易方达创业板ETF联接A 联接基金 164 100 100 100 100 112.8
+327 161027 富国中证全指证券公司指数分级 股票指数 165 100 100 100 100 113.0
+328 163209 诺安中证创业成长指数分级 股票指数 100 166 100 100 100 113.2
+329 001166 建信环保产业股票 股票型 100 167 100 100 100 113.4
+330 002064 华富产业升级灵活配置混合 混合型 88 181 100 100 100 113.8
+331 164820 工银中证高铁产业指数分级 股票指数 134 135 100 100 100 113.8
+332 000574 宝盈新价值混合 混合型 169 100 100 100 100 113.8
+333 180031 银华中小盘混合 混合型 170 100 100 100 100 114.0
+334 162102 金鹰中小盘精选 混合型 100 170 100 100 100 114.0
+335 000598 长盛生态环境主题混合 混合型 100 171 100 100 100 114.2
+336 160224 国泰深证TMT50指数分级 股票指数 96 177 100 100 100 114.6
+337 162412 华宝中证医疗指数分级 股票指数 173 100 100 100 100 114.6
+338 000913 农银医疗保健股票 股票型 174 100 100 100 100 114.8
+339 163116 申万菱信申万电子分级 股票指数 185 89 100 100 100 114.8
+340 160626 鹏华信息分级 股票指数 85 190 100 100 100 115.0
+341 166019 中欧价值智选混合A 混合型 176 100 100 100 100 115.2
+342 502053 长盛中证证券公司分级 股票指数 177 100 100 100 100 115.4
+343 161629 融通证券分级 股票指数 178 100 100 100 100 115.6
+344 257020 国联安精选混合 混合型 100 178 100 100 100 115.6
+345 163113 申万菱信申万证券分级 股票指数 179 100 100 100 100 115.8
+346 001361 景顺中证TMT150ETF联接 联接基金 80 200 100 100 100 116.0
+347 000971 诺安新经济股票 股票型 180 100 100 100 100 116.0
+348 001294 新华战略新兴产业灵活配置混合 混合型 100 180 100 100 100 116.0
+349 001629 天弘中证计算机指数A 股票指数 60 221 100 100 100 116.2
+350 001630 天弘中证计算机指数C 股票指数 61 220 100 100 100 116.2
+351 260104 景顺长城内需增长混合 混合型 102 179 100 100 100 116.2
+352 001956 国联安科技动力 股票型 126 155 100 100 100 116.2
+353 004070 南方中证全指证券ETF联接C 联接基金 181 100 100 100 100 116.2
+354 165522 信诚中证TMT产业指数分级 股票指数 69 213 100 100 100 116.4
+355 004069 南方中证全指证券ETF联接A 联接基金 183 100 100 100 100 116.6
+356 501016 国泰中证申万证券行业指数 股票指数 184 100 100 100 100 116.8
+357 519029 华夏平稳增长 混合型 100 185 100 100 100 117.0
+358 005033 银华智能汽车量化股票发起式A none 100 186 100 100 100 117.2
+359 005207 南方高端装备灵活配置混合C none 186 101 100 100 100 117.4
+360 005266 博时厚泽回报混合C none 187 100 100 100 100 117.4
+361 000431 鹏华品牌传承混合 混合型 243 100 100 65 79 117.4
+362 005034 银华智能汽车量化股票发起式C none 100 187 100 100 100 117.4
+363 001877 宝盈国家安全沪港深股票 股票型 83 205 100 100 100 117.6
+364 002168 嘉实智能汽车股票 股票型 100 188 100 100 100 117.6
+365 005265 博时厚泽回报混合A none 189 100 100 100 100 117.8
+366 003765 广发创业板ETF联接A none 190 100 100 100 100 118.0
+367 003766 广发创业板ETF联接C none 191 100 100 100 100 118.2
+368 400015 东方增长中小盘混合 混合型 100 193 100 100 100 118.6
+369 000457 上投摩根核心成长 股票型 100 195 100 100 100 119.0
+370 001618 天弘中证电子指数C 股票指数 146 150 100 100 100 119.2
+371 160919 大成产业升级股票 股票型 100 196 100 100 100 119.2
+372 005310 广发电子信息传媒股票 none 100 197 100 100 100 119.4
+373 519097 新华中小市值优选混合 混合型 104 194 100 100 100 119.6
+374 420005 天弘周期策略混合 混合型 198 100 100 100 100 119.6
+375 001617 天弘中证电子指数A 股票指数 147 152 100 100 100 119.8
+376 202027 南方高端装备灵活配置混合A 混合型 195 104 100 100 100 119.8
+377 502030 中海中证高铁产业指数分级 股票指数 158 142 100 100 100 120.0
+378 161022 富国创业板指数分级 股票指数 200 100 100 100 100 120.0
+379 519095 新华行业周期轮换混合 混合型 175 126 100 100 100 120.2
+380 003647 创金合信中证1000指数增强C 股票指数 129 173 100 100 100 120.4
+381 004593 广发全指工业ETF联接 none 133 169 100 100 100 120.4
+382 001593 天弘创业板C 股票指数 202 100 100 100 100 120.4
+383 001321 兴业聚优灵活配置混合 混合型 100 202 100 100 100 120.4
+384 379010 上投摩根中小盘混合 混合型 100 203 100 100 100 120.6
+385 161810 银华内需精选混合(LOF) 混合型 100 204 100 100 100 120.8
+386 003646 创金合信中证1000指数增强A 股票指数 130 175 100 100 100 121.0
+387 001592 天弘创业板A 股票指数 205 100 100 100 100 121.0
+388 001983 中邮低碳配置混合 混合型 100 206 100 100 100 121.2
+389 166009 中欧新动力混合(LOF)A 混合型 100 207 100 100 100 121.4
+390 001210 天弘互联网混合 混合型 208 100 100 100 100 121.6
+391 001576 国泰智能装备股票 none 100 208 100 100 100 121.6
+392 160135 南方中证高铁产业指数分级 股票指数 150 160 100 100 100 122.0
+393 160223 国泰创业板指数(LOF) 股票指数 210 100 100 100 100 122.0
+394 470028 汇添富社会责任混合 混合型 100 210 100 100 100 122.0
+395 502026 鹏华新丝路分级 股票指数 211 100 100 100 100 122.2
+396 001795 上投摩根文体休闲灵活配置混合 混合型 100 211 100 100 100 122.2
+397 180013 银华领先策略混合 混合型 213 100 100 100 100 122.6
+398 002968 新华高端制造混合 none 100 214 100 100 100 122.8
+399 217019 招商深证TMT50ETF联接A 联接基金 132 183 100 100 100 123.0
+400 005235 银华食品饮料量化股票发起式A none 215 100 100 100 100 123.0
+401 000601 华宝创新优选混合 混合型 100 216 100 100 100 123.2
+402 160512 博时卓越品牌混合(LOF) 混合型 160 158 100 100 100 123.6
+403 001227 中邮信息产业灵活配置混合 混合型 218 100 100 100 100 123.6
+404 162607 景顺长城资源垄断混合 混合型 100 219 100 100 100 123.8
+405 005236 银华食品饮料量化股票发起式C none 220 100 100 100 100 124.0
+406 162411 华宝标普油气上游股票 QDII-指数 222 100 100 100 100 124.4
+407 001268 富国国家安全主题混合 混合型 223 100 100 100 100 124.6
+408 162216 泰达中证500分级 股票指数 225 100 100 100 100 125.0
+409 000031 华夏复兴混合 混合型 100 225 100 100 100 125.0
+410 163119 申万中证申万新兴健康产业指数 股票指数 103 223 100 100 100 125.2
+411 519704 交银先进制造混合 混合型 100 228 100 100 100 125.6
+412 161025 富国中证移动互联网指数分级 股票指数 193 137 100 100 100 126.0
+413 005239 银华文体娱乐量化股票发起式A none 230 100 100 100 100 126.0
+414 000063 长盛电子信息主题灵活配置混合 混合型 237 93 100 100 100 126.0
+415 110013 易方达科翔混合 混合型 100 231 100 100 100 126.2
+416 000219 博时裕益灵活配置 混合型 232 100 100 100 100 126.4
+417 002955 融通新趋势灵活配置混合 混合型 233 100 100 100 100 126.6
+418 519993 长信增利动态策略混合 混合型 234 99 100 100 100 126.6
+419 700001 平安大华行业先锋混合 混合型 235 100 100 100 100 127.0
+420 000925 汇添富外延增长主题 股票型 100 235 100 100 100 127.0
+421 160639 鹏华高铁分级 股票指数 172 164 100 100 100 127.2
+422 001349 富国改革动力混合 混合型 257 80 100 100 100 127.4
+423 519034 海富通中证内地低碳指数 股票指数 100 237 100 100 100 127.4
+424 004273 中融量化小盘股票C none 238 100 100 100 100 127.6
+425 001410 信达澳银新能源产业股票 股票型 100 238 100 100 100 127.6
+426 290005 泰信优势增长 混合型 166 174 100 100 100 128.0
+427 003096 中欧医疗健康混合C 混合型 240 100 100 100 100 128.0
+428 001193 中金消费升级 股票型 100 240 100 100 100 128.0
+429 121003 国投瑞银核心企业混合 混合型 239 102 100 100 100 128.2
+430 005240 银华文体娱乐量化股票发起式C none 241 100 100 100 100 128.2
+431 000522 华润元大信息传媒科技混合 混合型 100 241 100 100 100 128.2
+432 519026 海富通中小盘混合 混合型 100 244 100 100 100 128.8
+433 003095 中欧医疗健康混合A 混合型 245 100 100 100 100 129.0
+434 002250 红土创新改革红利混合 混合型 100 245 100 100 100 129.0
+435 003865 创金合信量化多因子股票C 股票型 113 233 100 100 100 129.2
+436 004272 中融量化小盘股票A none 246 100 100 100 100 129.2
+437 001458 广发中证全指主要消费联接A 联接基金 247 100 100 100 100 129.4
+438 001018 易方达新经济混合 混合型 100 247 100 100 100 129.4
+439 002976 广发中证全指主要消费联接C 联接基金 248 100 100 100 100 129.6
+440 001644 汇丰晋信智造先锋股票C 股票型 100 248 100 100 100 129.6
+441 001028 华安物联网主题股票 股票型 100 249 100 100 100 129.8
+442 001879 长城创新动力灵活配置混合 none 100 250 100 100 100 130.0
+443 004855 广发中证全指汽车指数C none 135 217 100 100 100 130.4
+444 001692 南方国策动力 股票型 100 252 100 100 100 130.4
+445 004854 广发中证全指汽车指数A none 138 215 100 100 100 130.6
+446 001643 汇丰晋信智造先锋股票A 股票型 100 253 100 100 100 130.6
+447 161825 银华中证800分级 股票指数 254 100 100 100 100 130.8
+448 420003 天弘永定价值成长混合 混合型 188 168 100 100 100 131.2
+449 001449 华商双驱优选混合 混合型 256 100 100 100 100 131.2
+450 001126 上投摩根卓越制造股票 股票型 100 256 100 100 100 131.2
+451 580001 东吴嘉禾优势精选 混合型 291 66 100 100 100 131.4
+452 003554 泰达宏利大数据混合C 混合型 258 100 100 100 100 131.6
+453 160640 鹏华新能源分级 股票指数 265 94 100 100 100 131.8
+454 002256 金信新能源汽车混合发起式 混合型 171 189 100 100 100 132.0
+455 002263 泰达宏利大数据混合A 混合型 260 100 100 100 100 132.0
+456 000684 长盛养老健康产业灵活配置 混合型 100 260 100 100 100 132.0
+457 002210 创金合信量化多因子股票A 股票型 120 242 100 100 100 132.4
+458 001735 广发百发大数据成长混合E 混合型 100 262 100 100 100 132.4
+459 410001 华富竞争力优选 混合型 263 100 100 100 100 132.6
+460 164821 工银中证新能源指数分级 股票指数 268 95 100 100 100 132.6
+461 519033 海富通国策导向混合 混合型 100 263 100 100 100 132.6
+462 502000 西部利得中证500等权重分级 股票指数 266 100 100 100 100 133.2
+463 163409 兴全绿色投资混合(LOF) 混合型 100 266 100 100 100 133.2
+464 000471 富国城镇发展股票 股票型 236 131 100 100 100 133.4
+465 160420 华安创业板50指数分级 股票指数 267 100 100 100 100 133.4
+466 001734 广发百发大数据成长混合A 混合型 100 268 100 100 100 133.6
+467 003956 南方教育股票 股票型 139 230 100 100 100 133.8
+468 000926 中信建投睿信灵活配置混合A 混合型 269 100 100 100 100 133.8
+469 580008 东吴新产业精选混合 混合型 100 269 100 100 100 133.8
+470 001733 泰达宏利量化股票 股票型 270 100 100 100 100 134.0
+471 161612 融通深证成份指数A 股票指数 271 100 100 100 100 134.2
+472 002564 新沃通盈灵活配置混合 混合型 253 119 100 100 100 134.4
+473 003101 诺德天禧债券 债券型 116 257 100 100 100 134.6
+474 004497 前海开源多元策略混合C 混合型 273 100 100 100 100 134.6
+475 162510 国联安双力中小板综指 股票指数 182 192 100 100 100 134.8
+476 004496 前海开源多元策略混合A 混合型 274 100 100 100 100 134.8
+477 004345 南方深证成份ETF联接C 联接基金 275 100 100 100 100 135.0
+478 004670 长盛分享经济主题灵活配置混合 none 100 275 100 100 100 135.0
+479 202017 南方深证成份ETF联接A 联接基金 276 100 100 100 100 135.2
+480 270008 广发核心精选混合 混合型 100 278 100 100 100 135.6
+481 005237 银华医疗健康量化优选A none 279 100 100 100 100 135.8
+482 004522 安信工业4.0灵活配置混合C none 156 224 100 100 100 136.0
+483 004905 华泰柏瑞生物医药混合 none 100 280 100 100 100 136.0
+484 160636 鹏华互联网分级 股票指数 227 154 100 100 100 136.2
+485 005238 银华医疗健康量化优选C none 281 100 100 100 100 136.2
+486 160106 南方高增长混合(LOF) 混合型 100 281 100 100 100 136.2
+487 160137 南方中证互联网指数分级 股票指数 282 100 100 100 100 136.4
+488 002076 浙商聚潮灵活配置 混合型 285 100 100 100 100 137.0
+489 003715 宝盈消费主题混合 混合型 100 285 100 100 100 137.0
+490 004065 中融量化多因子混合A 混合型 114 272 100 100 100 137.2
+491 004435 博时逆向投资混合C 混合型 286 100 100 100 100 137.2
+492 167001 平安大华鼎泰混合(LOF) 混合型 100 286 100 100 100 137.2
+493 000985 嘉实逆向策略股票 股票型 288 100 100 100 100 137.6
+494 001797 华融新利灵活配置混合 混合型 100 288 100 100 100 137.6
+495 004434 博时逆向投资混合A 混合型 289 100 100 100 100 137.8
+496 001042 华夏领先股票 股票型 100 289 100 100 100 137.8
+497 004785 中融量化多因子混合C none 117 273 100 100 100 138.0
+498 002907 南方中证500量化增强C 股票指数 290 100 100 100 100 138.0
+499 002692 富国创新科技混合 混合型 100 291 100 100 100 138.2
+500 260115 景顺长城中小盘混合 混合型 194 198 100 100 100 138.4
+501 001815 华泰柏瑞激励动力混合A 混合型 292 100 100 100 100 138.4
+502 590005 中邮核心主题混合 混合型 293 100 100 100 100 138.6
+503 003292 嘉实优势成长混合 混合型 100 293 100 100 100 138.6
+504 005283 中金价值轮动混合C none 155 239 100 100 100 138.8
+505 164823 工银瑞信深证成份指数(LOF) none 294 100 100 100 100 138.8
+506 004195 招商中证1000指数增强C 股票指数 99 296 100 100 100 139.0
+507 206010 鹏华深证民营ETF联接 联接基金 295 100 100 100 100 139.0
+508 519150 新华优选消费混合 混合型 100 295 100 100 100 139.0
+509 470006 汇添富医药保健混合 混合型 167 229 100 100 100 139.2
+510 003598 华商润丰灵活配置混合 混合型 197 199 100 100 100 139.2
+511 001561 天弘中证移动互联网C 股票指数 249 147 100 100 100 139.2
+512 000711 嘉实医疗保健股票 股票型 297 100 100 100 100 139.4
+513 000549 华安大国新经济股票 股票型 100 297 100 100 100 139.4
+514 168001 国寿安保中证养老产业指数分级 股票指数 298 100 100 100 100 139.6
+515 000796 宝盈睿丰创新混合C 混合型 100 298 100 100 100 139.6
+516 502016 长信中证一带一路主题指数分级 股票指数 299 100 100 100 100 139.8
+517 001313 上投摩根智慧互联股票 股票型 100 299 100 100 100 139.8
+518 004194 招商中证1000指数增强A 股票指数 100 300 100 100 100 140.0
+519 165525 信诚中证基建工程指数LOF 股票指数 300 100 100 100 100 140.0
+520 001560 天弘中证移动互联网A 股票指数 250 151 100 100 100 140.2
+521 004521 安信工业4.0灵活配置混合A none 168 234 100 100 100 140.4
+522 000523 国投瑞银医疗保健混合 混合型 228 176 100 100 100 140.8
+523 005282 中金价值轮动混合A none 159 246 100 100 100 141.0
+524 519956 长信睿进混合C 混合型 207 212 100 100 100 143.8
+525 161616 融通医疗保健行业混合 混合型 259 165 100 100 100 144.8
+526 162201 泰达宏利成长混合 混合型 217 222 100 100 100 147.8
+527 003318 景顺中证500行业中性低波动 股票指数 163 277 100 100 100 148.0
+528 660011 农银中证500 股票指数 199 243 100 100 100 148.4
+529 001645 国泰大健康股票 股票型 287 159 100 100 100 149.2
+530 519957 长信睿进混合A 混合型 229 218 100 100 100 149.4
+531 001702 东方创新科技混合 混合型 264 184 100 100 100 149.6
+532 000008 嘉实中证500ETF联接 联接基金 192 258 100 100 100 150.0
+533 001039 嘉实先进制造股票 股票型 262 191 100 100 100 150.6
+534 004348 南方中证500ETF联接C 联接基金 203 259 100 100 100 152.4
+535 001052 华夏中证500ETF联接 联接基金 209 255 100 100 100 152.8
+536 001513 易方达信息产业混合 混合型 255 209 100 100 100 152.8
+537 160119 南方中证500ETF联接A 联接基金 204 261 100 100 100 153.0
+538 160616 鹏华中证500 股票指数 196 274 100 100 100 154.0
+539 162711 广发中证500ETF联接A 联接基金 216 254 100 100 100 154.0
+540 002903 广发中证500ETF联接C 联接基金 219 251 100 100 100 154.0
+541 501037 汇添富中证500C none 201 276 100 100 100 155.4
+542 001214 华泰柏瑞中证500ETF联接 联接基金 212 270 100 100 100 156.4
+543 001709 华富物联世界灵活配置混合 混合型 283 201 100 100 100 156.8
+544 001241 国寿安保中证500ETF联接 联接基金 214 271 100 100 100 157.0
+545 501036 汇添富中证500A none 206 282 100 100 100 157.6
+546 000962 天弘中证500指数 股票指数 224 264 100 100 100 157.6
+547 001069 华泰柏瑞消费成长混合 混合型 261 236 100 100 100 159.4
+548 004536 嘉实中小企业量化活力混合 none 280 227 100 100 100 161.4
+549 000059 国联安中证医药100 股票指数 244 265 100 100 100 161.8
+550 270026 广发中小板300联接 联接基金 277 232 100 100 100 161.8
+551 570007 诺德优选30混合 混合型 284 226 100 100 100 162.0
+552 164809 工银中证500分级 股票指数 221 294 100 100 100 163.0
+553 001455 景顺长城中证500ETF联接 联接基金 231 292 100 100 100 164.6
+554 202025 南方上证380联接 联接基金 242 287 100 100 100 165.8
+555 001551 天弘中证医药100C 股票指数 251 283 100 100 100 166.8
+556 001550 天弘中证医药100A 股票指数 252 284 100 100 100 167.2
+557 070021 嘉实主题新动力混合 混合型 278 267 100 100 100 169.0
+558 001351 诺安中证500ETF联接 联接基金 272 290 100 100 100 172.4
+559 519929 长信电子信息行业量化混合 混合型 296 279 100 100 100 175.0
diff --git "a/\345\237\272\351\207\221\347\273\274\345\220\210\346\216\222\345\220\215\347\273\223\346\236\2342.txt" "b/\345\237\272\351\207\221\347\273\274\345\220\210\346\216\222\345\220\215\347\273\223\346\236\2342.txt"
new file mode 100644
index 0000000..7f52421
--- /dev/null
+++ "b/\345\237\272\351\207\221\347\273\274\345\220\210\346\216\222\345\220\215\347\273\223\346\236\2342.txt"
@@ -0,0 +1,6 @@
+1 164906 交银中证海外中国互联网指数 QDII-指数 1 2 1.5
+2 241001 华宝海外中国成长混合 QDII 2 3 2.5
+3 000934 国富大中华精选混合 QDII 6 1 3.5
+4 003243 上投摩根中国世纪人民币 QDII 3 6 4.5
+5 118001 易方达亚洲精选 QDII 4 5 4.5
+6 000988 嘉实全球互联网股票人民币 QDII 5 4 4.5