from pandas import Series, DataFrame
import numpy as np
test={
"2019-01-10":{'시가':2650,'고가':2985,'저가':2610,'종가':2975},
"2019-01-09":{'시가':2665,'고가':2665,'저가':2575,'종가':2655},
"2019-01-08":{'시가':2560,'고가':2675,'저가':2560,'종가':2645},
"2019-01-07":{'시가':2500,'고가':2680,'저가':2500,'종가':2620},
"2019-01-04":{'시가':2490,'고가':2490,'저가':2380,'종가':2445},
}
class getElement:
def __init__(self,date,targetVol,myAssets,noiseArr=None):
self.noiseArr=[]
self.date=date
self.targetVol=targetVol
self.myAssets=myAssets
self.getNoise()
def getNoise(self):
for i,v in test.items():
self.open_p=v['시가']
self.high_p=v['고가']
self.low_p=v['저가']
self.close_p=v['종가']
self.dayRange=self.high_p-self.low_p
dayBody=abs(self.close_p-self.open_p)
dayNoise=(1-(dayBody/self.dayRange))
self.noiseArr.append(dayNoise)
self.avgNoise=np.mean(self.noiseArr)
if i==self.date:
self.getVol()
print("5일 평균 노이즈 : %s%% (노이즈는 1-10에 고정됨.)" % (self.avgNoise))
def getVol(self):
self.dayVol=(self.dayRange/self.open_p)*100
print("%s 의 당일 변동성 : %s%%" % (self.date,self.dayVol))
self.cutPrc()
self.inputRate()
def cutPrc(self):
cutRate=self.dayVol*0.15
print("손절라인은 %s%%" % (cutRate))
def inputRate(self):
inputRate=self.targetVol/self.dayVol
inputAssets=inputRate*self.myAssets
print("당일 투입 금액은 %s" % (int(inputAssets)))
# def 투입금액
pointArr=[0.7,1,1,1,0.7,0.7,1,0.7]
myAssets=995000
def getPoint(arr):
avgPoint=np.mean(arr)
print("계산에 사용 된 점수가 %s개임. 평균점수 %s" % (len(arr),avgPoint))
return avgPoint
if __name__=="__main__":
start=getElement("2019-01-10",0.8,990000)