选股是每个炒股者都会经历的过程。可以通过资金选股系统了解资金流向,加强判断趋势;对个股评级,验证自己选择股票的优劣;善于利用工具可以更轻松地选股,同时也要多了解行业动态各方面的信息。
如何利用量化交易来选股,这里提供第一个量化交易的程序供学习参考:
select_sample:
#
initialize这个函数一定要定义,开始的时候执行一次,初始化条件
def initialize(context):
# 设置一个股票池,getStocks用来做选股函数
g.MAXOFPOOL =
20
# 代码块-2
#
handle_data这个函数也是必须定义的,每个交易时间间隔都要执行一次
def handle_data(context, data):
#注意公共变量要在调用函数之前定义
g.stocks =
getStocks(context)
#
设置所有可能要买的股票集
set_universe(g.stocks)
#
对刚才找到的所有沪深300成分股依次进行分析
for stock in
g.stocks:
# 显示所选的小盘股及对应名称,市值
queryCondition = query(
valuation.code, valuation.market_cap
).filter(
valuation.code ==
stock)
df = get_fundamentals(queryCondition,
context.current_dt.strftime("%Y-%m-%d"))
#输出获得的股票代码,股票名称和市值(单位:亿元)
log.info(df.code.values,get_security_info(stock).display_name,df.market_cap.values);
# 代码块-3
# 选股逻辑在此定义
def getStocks(context):
# 获取所有的股票
stocks =
get_all_securities(['stock'], context.current_dt)
stocksList =
list(stocks.index)
#
查询条件,按市值升序排列
queryCondition =
query(
valuation.code, valuation.market_cap
).filter(
valuation.code.in_(stocksList)
).order_by(
# 按市值降序排列
valuation.market_cap.asc()
).limit(
# 最多返回个数
g.MAXOFPOOL
)
df =
get_fundamentals(queryCondition,
context.current_dt.strftime("%Y-%m-%d"))
return
list(df.code)
以上程序中用到的函数和API,将在后续进行逐一的分析和学习。
使用2016年7月11号和2016年7月12号的数据进行回测,分别得到这两天市值最低的股票7月11号全股市最小市值股票列表如下:
['002805.XSHE'] 丰元股份 [ 9.8]
['300520.XSHE'] 科大国创 [ 14.65]
['300521.XSHE'] 爱司凯 [ 18.98]
['000995.XSHE'] *ST皇台 [ 21.57]
['600603.XSHG'] *ST兴业 [ 22.33]
['600306.XSHG'] *ST商城 [ 22.8]
['600793.XSHG'] ST宜纸 [ 23.43]
['002109.XSHE'] *ST兴化 [ 24.44]
['600539.XSHG'] 狮头股份 [ 24.56]
['600817.XSHG'] *ST宏盛 [ 24.75]
['300029.XSHE'] 天龙光电 [ 24.96]
['300372.XSHE'] *欣泰 [ 24.96]
['300046.XSHE'] 台基股份 [ 24.99]
['300268.XSHE'] 万福生科 [ 25.06]
['000691.XSHE'] ST亚太 [ 25.12]
['600228.XSHG'] 昌九生化 [ 25.99]
['300522.XSHE'] 世名科技 [ 26.07]
['600099.XSHG'] 林海股份 [ 26.49]
['000611.XSHE'] *ST天首 [ 26.55]
['300308.XSHE'] 中际装备 [ 26.7]
7月12号全股市最小市值股票列表如下:
['002803.XSHE']
吉宏股份 [ 10.64]
['002805.XSHE'] 丰元股份 [ 10.78]
['300520.XSHE'] 科大国创 [ 16.11]
['603069.XSHG'] 海汽集团 [ 17.38]
['300521.XSHE'] 爱司凯 [ 20.88]
['000995.XSHE'] *ST皇台 [ 21.4]
['300372.XSHE'] *欣泰 [ 22.47]
['600603.XSHG'] *ST兴业 [ 22.71]
['600306.XSHG'] *ST商城 [ 22.8]
['600793.XSHG'] ST宜纸 [ 22.8]
['002109.XSHE'] *ST兴化 [ 24.3]
['600539.XSHG'] 狮头股份 [ 24.56]
['600817.XSHG'] *ST宏盛 [ 24.75]
['300268.XSHE'] 万福生科 [ 24.79]
['300029.XSHE'] 天龙光电 [ 24.84]
['300046.XSHE'] 台基股份 [ 24.99]
['000691.XSHE'] ST亚太 [ 25.18]
['600228.XSHG'] 昌九生化 [ 25.99]
['600099.XSHG'] 林海股份 [ 26.36]
['300308.XSHE'] 中际装备 [ 26.7]
那么通过量化交易,可以自己测试自己的策略是否合理,可以模拟检查在之前的股市历史数据中能否获得盈利,比起市面上炒股软件的主流指标和选股方法,更加自由和精确,这也是量化交易的魅力之处吧,毕竟拿着别人提供的方法和指标去炒股,怎么能发现金矿呢?