def __init__(self): self.needFields = None self.needTableFields = None self.factorName = None self.neutral = False self.isRiskFactor = False self.scoreObj = FactorScores() self.testsObj = FactorTests() if FactorBase.factorIO is None: FactorBase.factorIO = FactorIO(fctDataPath=update.fctDataPath) if FactorBase.dataReader is None: FactorBase.dataReader = DataReaderMat() if FactorBase.factorRisk is None: FactorBase.factorRisk = FactorRisks( fctDataPath=update.fctDataPath, riskFctPath=update.riskDataPath) self.headDate = self.dataReader.calendar._calibrate_date( currDate=20070630, currSide='right') # self.headDate = self.dataReader.calendar._calibrate_date(currDate=20180101, currSide='right') self.tailDate = self.dataReader.calendar._tradeDates[-1] self.calculator = Calculator()
def corr15(x, y): return Calculator().Corr(x, y, 15)
def diff20(x): return Calculator().Diff(x, 20)
def diff9(x): return Calculator().Diff(x, 9)
def diff7(x): return Calculator().Diff(x, 7)
def diff5(x): return Calculator().Diff(x, 5)
def diff3(x): return Calculator().Diff(x, 3)
def delay9(x): return Calculator().Delay(x, 9)
def regalpha20(x, y): return Calculator().RegAlpha(x, y, 20)
def regalpha15(x, y): return Calculator().RegAlpha(x, y, 15)
def corr60(x, y): return Calculator().Corr(x, y, 60)
def delay5(x): return Calculator().Delay(x, 5)
def corr30(x, y): return Calculator().Corr(x, y, 30)
def corr25(x, y): return Calculator().Corr(x, y, 25)
def corr20(x, y): return Calculator().Corr(x, y, 20)
def delay7(x): return Calculator().Delay(x, 7)
def delay8(x): return Calculator().Delay(x, 8)
def regalpha30(x, y): return Calculator().RegAlpha(x, y, 30)
def delay10(x): return Calculator().Delay(x, 10)
def regalpha60(x, y): return Calculator().RegAlpha(x, y, 60)
def diff4(x): return Calculator().Diff(x, 4)
def regbeta15(x, y): return Calculator().RegBeta(x, y, 15)
def diff6(x): return Calculator().Diff(x, 6)
def delay6(x): return Calculator().Delay(x, 6)
def diff8(x): return Calculator().Diff(x, 8)
def regbeta20(x, y): return Calculator().RegBeta(x, y, 20)
def diff10(x): return Calculator().Diff(x, 10)
def regbeta30(x, y): return Calculator().RegBeta(x, y, 30)
def max5(x): return Calculator().Max(x, 5)
def regbeta60(x, y): return Calculator().RegBeta(x, y, 60)