昨天看了股票大作手尸执,里面說(shuō)到當(dāng)股價(jià)突破整數(shù)關(guān)口的時(shí)候家凯,會(huì)上沖一次,今天突發(fā)奇想寫了個(gè)腳本模擬下操作如失,我用通信達(dá)導(dǎo)出12號(hào)-14號(hào)上證指數(shù)的分鐘級(jí)數(shù)據(jù)绊诲,然后處理一下,開(kāi)始模擬褪贵,以下是代碼腳本
import pandas as pd
import math
df = pd.read_excel('數(shù)據(jù).xlsx')
df2 = df.drop(df.tail(1).index)
df2 = df2.iloc[:,0:5]
df2 = df2.sort_values(by = df.columns[0],ascending=True)
list_test = df2.values.tolist()
zhuangtai = 0 #三種狀態(tài)掂之,第一種,未入場(chǎng)脆丁,第二種世舰,入場(chǎng)未出場(chǎng),狀態(tài)變?yōu)橛涗浿褂箵p區(qū)間
person = 0
yinli_qujian = 40 #盈利區(qū)間
sunshi_qujian = 30 #損失區(qū)間
success = 0
fail = 0
for meta in list_test:
#破整點(diǎn)機(jī)會(huì),入場(chǎng)
if zhuangtai == 0 and math.floor(meta[2]/100)*100-math.floor(meta[1]/100)*100 == 100 :
if meta[2] - math.floor(meta[2]/100)*100 >=yinli_qujian : #是否能盈利
person+=yinli_qujian
success+=1
print(str(meta[0])+'收入'+str(meta[2]))
elif math.floor(meta[2]/100)*100 - meta[3]>=sunshi_qujian: #沒(méi)有盈利槽卫,只有兩種情況跟压,第2種未結(jié)束,第1種歼培,已經(jīng)止損震蒋,看最小值
person -= sunshi_qujian
fail += 1
print(str(meta[0]) + '損失'+str(meta[2]))
else:#未結(jié)束
zhuangtai = math.floor(meta[2]/100)*100
print(meta[0]+"入場(chǎng)未出場(chǎng)")
elif zhuangtai !=0 :
if meta[2] - zhuangtai >=yinli_qujian : #是否能盈利
person+=yinli_qujian
success += 1
print(str(meta[0])+" _標(biāo)記" +str(meta[2])+" ;debug:"+str(zhuangtai)+ ' ;收入+初始化'+str(meta[2]))
zhuangtai=0
elif zhuangtai - meta[3]>=sunshi_qujian: #是否止損
person -= sunshi_qujian
fail += 1
print(str(meta[0]) + '損失+初始化'+str(meta[2]))
zhuangtai = 0
else:#未結(jié)束
zhuangtai = math.floor(meta[2]/100)*100
print("最終收益為"+str(person*10))
print("成功"+str(success))
print("失敗"+str(fail))
print('勝率'+str(success/(success+fail)))
運(yùn)行結(jié)果:
不過(guò)我人工試了試天齊鋰業(yè)這個(gè)股票,結(jié)果虧了6阕2槠省!噪窘!這個(gè)模型雖然勝率還行笋庄,但是并不靠譜,因?yàn)闆](méi)有扣除手續(xù)費(fèi)倔监,人工盯盤的成本太高了直砂,而且會(huì)滑點(diǎn),手滑等等丐枉,看來(lái)投資真的很難呢!