# quartz **Repository Path**: itisno/quartz ## Basic Information - **Project Name**: quartz - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-12-03 - **Last Updated**: 2021-12-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # -quartz 量化回测框架 例程: ``` from quantify.core import StrategyBase import pandas as pd from pylab import * 核心类库引用 引入pandas 如果需要可视化结果 需要引入pylab库 继承策略类 class mystrategy(StrategyBase): #重写策略主函数 默认每个交易日调用一次 def handle_data(self): #实现策略代码 data=pd.DataFrame() last_data=self.get_last_data() #调用get_last_data()方法可以获得当前回测日期的历史数据 数据长度由参数定义 ls=last_data[last_data['secID']=='600006.XSHG'] #get_last_Data()返回的是历史数据的pandas数据格式 m1=np.array(pd.rolling_mean(ls['closePrice'],5)) #计算5日均线 m2=np.array(pd.rolling_mean(ls['closePrice'],15)) #计算10日均线 if isnan(m1[-1]) or isnan(m2[-1]) : #排除空值 pass else: if m1[-1]>m2[-1] and m1[-2]m2[-2]: #死叉 res=self.order('600006.XSHG',-100000) #卖出 600006 100000股 print self.account.referencePortfolioValue #print self.botter if __name__ == '__main__': my=mystrategy(start='2011-01-01',end='2015-01-01',hist=30,banchmark='HS300',universe='A',capital_base=10000000,commission=[0.001,0.002],slippage=0)#初始化策略类 my.run()#执行回测 #start 开始日期 #end 结束日期 #hist 历史数据长度 #banchmark 业绩基准 #universe 股票池 #capital_base 初始金额 #commission 交易手续费 #slippage 滑点 ```