現貨量化+合約交易+合約跟單系統(tǒng)開發(fā)(開發(fā)策略)/案例項目/方案邏輯/源碼說明
量化交易需要以大量的數據作為基礎,通過對大量數據的分析,來做出理性的判斷,預測未來價格的走勢,量化交易從狹義上來說就是指程序化的交易,自動下單。從廣義上來說,就是指系統(tǒng)性的交易,量化交易可以簡單理解為機器人交易,用計算機算法來交易。
人工智能(Artificial Intelligence,簡稱AI)是指計算機系統(tǒng)在完成類似人類智力所需的任務時所表現出來的能力。它是一種復雜的技術,通過將大量的數據輸入到算法中進行學習,不斷調整和改進自己的算法,從而不斷優(yōu)化其性能。
def all_sel_current_code(codes,names,writefileName='sel_codes.csv',writefile=True):
path='./選擇/'
dir=Path(path)
if not dir.exists():
os.mkdir(dir)
begin_count=-200
end_count=-1
days=20
name_array=np.array([])
code_array=np.array([])
date_array=np.array([])
for i in range(len(codes)):
code=codes<i>
name=names<i>
#判斷條件選擇
ret,date=sel_current_code(code,name)
if ret:
name_array=np.append(name_array,name)
code_array=np.append(code_array,code)
date_array=np.append(date_array,date)
earnings,suc,fail,index_array,pct_array,hold_days=test(code,name=name,days=days,begin_count=begin_count,end_count=end_count)
if suc==-1:
continue
name=str.replace(name,'*','')
if earnings>0:
file_dir=path+'Curent_AAA_%s_%s%d%d++%.1f++%.1f.png'%(code,name,suc,fail,suc*100/(fail+suc+1),earnings)
else:
file_dir=path+'Curent_BBB_%s_%s%d%d——%.1f——%.1f.png'%(code,name,suc,fail,suc*100/(fail+suc+1),earnings)
plot_pct(code,index_array,pct_array,begin_count=begin_count,end_count=end_count,writefilename=file_dir)
print("codes%s%s earnings%.2f"%(code,name,earnings))
data=[code_array,name_array,date_array]
data=np.transpose(data)#矩陣轉置
ser2=pd.DataFrame(data,columns=['ts_code','name','date'])
if writefile:
ser2.to_csv(writefileName,encoding="utf_8_sig")
#繪制指定代碼價格圖
def plot_pct(ts_code,index_array,pct_array,begin_count,end_count=-1,writefilename='temp.png'):
df=load_data(ts_code)
closes=df['close'].values
ma5=df['ma5'].values
ma10=df['ma10'].values
ma20=df['ma20'].values
if len(closes)<abs(begin_count):
print("TTTTTTT",len(closes),begin_count,ts_code)
begin_count=int(len(closes)*-1)
if len(closes)<end_count*-1:
end_count=-1
if begin_count+30>end_count:
return
x_array=np.linspace(begin_count,end_count,end_count-begin_count,dtype=np.int)
l=len(ma5)
x=len(x_array)
print('len',l,x)
ma5Mean_array=np.linspace(ma5.mean(),ma5.mean(),end_count-begin_count)
#plt.plot(x_array,closes,c='black')
start_date=df['trade_date'].values[begin_count]
end_date=df['trade_date'].values[end_count]
print(start_date,end_date)
name=get_code_name(ts_code)
money_df=get_dates_money(code=ts_code,name=name)
#print(money_df)
name=name.replace('*',"")
#money_df.to_csv(ts_code+name+"moneydf.csv",encoding='utf_8_sig')
money_dates=money_df['trade_date'].values