程序化交易基础概念浅析(一)

大到量化、程序化、高频交易、套利交易、主观投资这些基本的概念,小到网格交易、条件单、T+0、ETF套利、期现套利、算法拆单交易、打板策略等具体的投资方式。如果没有接触过这些,很容易混淆。

一、程序化

程序化交易:

在这次监管及沪深交易所给出的程序化相关业务通知中对程序化交易的定义为:

沪深交易所认为交易符合以下条件之一的,应当履行报告义务:

不管我们使用那种投资交易方式,我们始终在解决两个核心问题:选股、择时(什么时候如何交易)。

通过上面的基本概念可以看出程序化交易是相对人工交易而言,最大的特点就是:由计算机来自动生成订单并完成交易。

其中上述沪深交易所表述的一条“使用会员为客户提供的带有一定自动化功能的客户端软件进行交易的,且不符合上述条件的投资者,无需进行报告。”。

同时,QMT和Ptrade等“专业投资工具”均提供了用户可以以python、Java,C++等代码方式来编写一段“代码”来完成自己的交易,这样的方式相比软件提供的“标准的人工操作界面”的功能,可以更加灵活的实现一些个人的交易思路,这里的代码我们常称为“策略”,比如要实现一个简单的策略:1)如果上一时间点价格高出五天平均价1%,则全仓买入;2)如果上一时间点价格低于五天平均价,则空仓卖出,则在Ptrade的代码示例如下:

def initialize(context):
g.security = '600570.SS'
set_universe(g.security)

def handle_data(context, data):
security = g.security
sid = g.security

# 取得过去五天的历史价格
df = get_history(5, '1d', 'close', security, fq=None, include=False)

# 取得过去五天的平均价格
average_price = round(df['close'][-5:].mean(), 3)

# 取得上一时间点价格
current_price = data[sid]['close']

# 取得当前的现金
cash = context.portfolio.cash

# 如果上一时间点价格高出五天平均价1%, 则全仓买入
if current_price > 1.01*average_price:
# 用所有 cash 买入股票
order_value(g.security, cash)
log.info('buy %s' % g.security)
# 如果上一时间点价格低于五天平均价, 则空仓卖出
elif current_price < average_price and get_position(security).amount > 0:
# 卖出所有股票,使这只股票的最终持有量为0
order_target(g.security, 0)
log.info('sell %s' % g.security)

<< · Back Index ·>>

发表回复

相关推荐

吉林省“全国科普日”为青少年搭建科创金桥

9月15日上午9时起,就在“全国科普日”倒计时数秒中,绿园区“2023年全国科普日暨科普周”启动仪式在吉林省长春市通达小学按下快 ...

· 刚刚

常見的4種以卡養卡方式,第四種代價最高!

案例解說:信用卡負債30萬,欠款周期3年第一種:POS機構倒還這是多張卡結合使用,通過套現額度輪流還款,常規手續費在60元/萬...

· 43秒前

下蹲不全關鍵練3個部位,99%人隻知道第1個部位,康復師視頻演示,早看早當兵

想當兵,卻因為下蹲不全過不瞭兵檢,明明身體很壯腳踝扭傷恢復得挺好,但就是蹲不下來深蹲推舉,腳後跟卻總是離地下蹲不全,...

· 1分钟前

Science Advances: 超快自凝膠粉促進胃腸道穿孔愈合

具有濕組織粘附性的粘附性水凝膠已被廣泛用於傷口輔料、止血劑、可穿戴電子、藥物投遞系統和組織工程領域,由於其具有附著力...

· 1分钟前

“月光族”两大类型,你属于哪一类?

根据2017年关于白领一份最新调查结果显示:目前白领人群 中,有75%属于“月光族”,非常可怕的一个调查结果,事实上, 月光族 ...

· 2分钟前