본문 바로가기

포트폴리오/python

bsj

	
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)