In [ ]:
#coding=utf-8
from rqalpha.api import *
import traceback
from datetime import *
from sqlalchemy import create_engine
import pandas as pd
from rqalpha.utils.logger import user_log
from numpy import log
def dependency():
return ['market_value']
def market(market=90):
if market == 83:
return 'XSHG'
elif market == 90:
return 'XSHE'
else:
return ""
def compute(startdt,enddt,context):
'''
对数市值
'''
#context.config 对应配置的extra部分
from rqalpha.mod.rqalpha_mod_alphaStar_factors.factor_data import DependingData
dData = DependingData(context)
return dData.getDependingData("market_value",startdt,enddt).applymap(log)
In [ ]:
# test
config= {"extra":{"jydb":{"host":"172.18.44.5","port":3306,"user":"liangh","passwd":"huaxun!@#db","db":"jydb"}}
,"factor_data_path":"../../factor_data","factor_data_init_date": "2017-01-01"}
from rqalpha.utils import RqAttrDict
conf = RqAttrDict(config)
from rqalpha.mod.rqalpha_mod_alphaStar_factors.factor_context import FactorContext
context = FactorContext(conf)
context.registerDepending(dependency())
res = compute(datetime(2017,1,1),datetime(2017,2,1),context)
res
In [1]:
# evaluateFileDemo
from rqalpha.mod.rqalpha_mod_alphaStar_factors import evaluate_file
config = {
"base": {
"start_date": "2010-01-01",
"end_date": "2018-04-01",
},
}
factor_file_path = "./market_value_log.ipynb"
evaluate_file(factor_file_path=factor_file_path,config=config,config_file = "../config_factor.yml")