1. 策略原理:
选取某一个时间段内,前三天涨幅超过某一数值的股票。
用法:
输入三个参数,起始日期,结束日期,r, 最后一个参数表示三天涨幅r%。
2. 代码解读:
3. Python相关函数
3.1 Python标准函数:
| 功能 | 函数原型 | 参数 | 返回值 |
| 参数名 | 含义 |
| sys | 提供了一系列有关Python运行环境的变量和函数。 |
| | | sys.argv[0] | 当前程序名 | |
| sys.argv | 获取当前正在执行的命令行参数的参数列表(list)。 | sys.argv | sys.argv[1] | 第一个参数 | |
| sys.argv[2] | 第二个参数 | |
| arrow | 标准的时间日期库。 |
| series | Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。Series的字符串表现形式为:索引在左边,值在右边。dataframe中的数据是以一个或者多个二位块存放的(而不是列表、字典或者别的一维数据结构)。 |
| time | 返回当前时间的时间戳 | time.time() | | | 返回当前时间的时间戳 |
| DataFrame | DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值的)。 |
| len | 返回对象(字符、列表、元组等)长度或项目个数。 | len(s) | s | 对象 | 返回对象长度。 |
| append | 用于在列表末尾添加新的对象。 | list.append(obj) | obj | 添加到列表末尾的对象。 | 该方法无返回值,但是会修改原来的列表。 |
3.2 掘金接口函数:
| 功能 | 函数原型 | 参数 | 返回值 |
| 参数名 | 类型 | 说明 |
| get_instruments | 提取交易代码。策略类和行情服务类都提供该接口。 | get_instruments(exchange, sec_type, is_active) | exchange | string | 交易所代码 | Instrument对象列表 |
| sec_type | int | 代码类型:1.股票,2.基金,3.指数,4.期货,5.ETF |
| is_active | int | 当天是否交易:1.是,0.否 |
| get_dailybars | 提取指定时间段的历史日周期Bar数据,支持单个代码提取或多个代码组合提取。DailyBar比Bar多了部分静态数据,如结算价,涨跌停等。策略类和行情服务类都提供该接口。 | get_dailybars(symbol_list, begin_time, end_time) | symbol_list | string | 证券代码, 带交易所代码以确保唯一,如SHSE.600000,同时支持多只代码 | DailyBar列表 |
| begin_time | string | 开始日期, 如2015-10-19 |
| end_time | string | 结束日期, 如2015-10-30 |
| bar | 各种周期的Bar数据 | class Bar(object):
def __init__(self):
self.exchange = '' ## 交易所代码
self.sec_id = '' ## 证券ID
self.bar_type = 0 ## bar类型,以秒为单位,比如1分钟bar, bar_type=60
self.strtime = '' ## Bar开始时间
self.utc_time = 0.0 ## Bar开始时间
self.strendtime = '' ## Bar结束时间
self.utc_endtime = 0.0 ## Bar结束时间
self.open = 0.0 ## 开盘价
self.high = 0.0 ## 最高价
self.low = 0.0 ## 最低价
self.close = 0.0 ## 收盘价
self.volume = 0.0 ## 成交量
self.amount = 0.0 ## 成交额
self.pre_close ## 前收盘价
self.position; ## 持仓量
self.adj_factor ## 复权因子
self.flag ## 除权出息标记 | | | |
|
4. 金融术语:
动量选股策略:选取前期强势的股票,判断其将继续强势后买入持有。