繁簡切換您正在訪問的是FX168財經網,本網站所提供的內容及信息均遵守中華人民共和國香港特別行政區當地法律法規。

FX168财经网>人物频道>帖子

【期货】简述期货交易基本概念

作者/专门套利 2019-06-28 13:56 0 来源: FX168财经网人物频道
import pandas as pd
import numpy as np
df = get_price('C9999.XDCE',end_date='2019-03-08', frequency='1d', count=2)
df
.dataframe tbody tr th:only-of-type { vertical-align: middle; } .dataframe tbody tr th { vertical-align: top; } .dataframe thead th { text-align: right; }
open close high low volume money
2019-03-07 1815.0 1831.0 1847.0 1812.0 595826.0 1.089673e+10
2019-03-08 1828.0 1828.0 1836.0 1823.0 351814.0 6.435640e+09

初始保证金¶

期货以保证金的方式进行交易,计算方式如下,不同的期货品种对应不同的交易单位和保证金比率,需要查找后对应计算

在回测中可以用context.portfolio.subportfolios.margin 查看

购买一手玉米期货的价格¶

$$每手价格 = (价格+滑点)* 合约乘数 * 保证金比率$$
slippage = 0
ratio = 0.05
margin = [(df.iloc[i,0] + slippage)* 10 * ratio for i in range(df.shape[0])]
margin
[907.5, 914.0]

能购买的期货数量¶

available_cash = 100000
amount = [round(available_cash / margin[i]) for i in range(len(margin))]  
amount
[110.0, 109.0]

维持保证金¶

如果客户为商品互换交易的买方(多头),则当标的价格下降时

  $$ 维持保证金=初始保证金 +MAX\{0,(开仓名义价值-持仓名义价值)\} $$

若客户为商品互换交易的卖方(空头),则当标的价格上升时

  $$ 维持保证金=初始保证金 + MAX\{0,(持仓名义价值 –开仓名义价值)\} $$

# 如 2019-03-07 开多仓价格为 1831,2019-03-08 开盘价为1828
initial_position = df.loc['2019-03-07','close'] * 10 * 1
hold_position = df.loc['2019-03-08','open'] * 10 * 1
sustain_margin = margin[0] + max(0,initial_position - hold_position)
margin[0],sustain_margin
(907.5, 937.5)

可用资金¶

回测context.portfolio.subportfolios子账户信息中available_cash字段,代表可以继续补足保证金或建仓的资金

总资产¶

回测context.portfolio.subportfolios子账户信息中total_value字段,包括现金, 保证金(期货)、仓位(股票)的总价值, 可用来计算收益

$$ 总资产 = 可用资金 + 已经投入的保证金 $$
total_value = [margin[i] + (available_cash -margin[i]) for i in range(len(margin))]
total_value
[100000.0, 100000.0]

持仓价值¶

回测context.portfolio.subportfolios子账户信息中positions_value字段,表示持有合约以当前市价计值的价值

$$ 持仓价值 = 合约市价 * 合约乘数 * 建仓数量 $$
positions_value = [df.iloc[i,0] * 10 * 1 for i in range(df.shape[0])] #下单1手
positions_value
[18150.0, 18280.0]

风险度¶

$$ 风险度 = 持仓保证金 / 客户权益 $$

若客户没有持仓,则风险度为0;若客户满仓,则风险度为100%;

若风险度大于100%,则客户已经穿仓了,要被期货公司强行平仓。

正常情况下客户的风险度在0-100%之间,风险度越大,说明客户面临的风险也就越大(当然期货公司面临的风险也就越大)

risk_ratio = [margin[i] / total_value[i] for i in range(len(margin))]
risk_ratio
[0.009075, 0.00914]

强制平仓制度¶

当会员、客户出现下列情形之一时,交易所有权对其持仓进行强行平仓:

  (一)会员结算准备金余额小于零,并未能在规定时限内补足的;

  (二)非期货公司会员和客户持仓量超出其限仓规定的;

  (三)因违规受到交易所强行平仓处罚的;

  (四)根据交易所的紧急措施应予强行平仓的;

  (五)其他应予强行平仓的。

get_extras('futures_sett_price', cf,end_date='2019-03-08', df=True, count=10)
#期货结算价
.dataframe tbody tr th:only-of-type { vertical-align: middle; } .dataframe tbody tr th { vertical-align: top; } .dataframe thead th { text-align: right; }
C1905.XDCE
2019-02-25 1785.0
2019-02-26 1793.0
2019-02-27 1795.0
2019-02-28 1807.0
2019-03-01 1821.0
2019-03-04 1824.0
2019-03-05 1819.0
2019-03-06 1815.0
2019-03-07 1828.0
2019-03-08 1829.0
get_extras('futures_positions', cf,end_date='2019-03-08', df=True, count=10)
#期货持仓量
.dataframe tbody tr th:only-of-type { vertical-align: middle; } .dataframe tbody tr th { vertical-align: top; } .dataframe thead th { text-align: right; }
C1905.XDCE
2019-02-25 1073244.0
2019-02-26 1104728.0
2019-02-27 1138372.0
2019-02-28 1159682.0
2019-03-01 1130846.0
2019-03-04 1111440.0
2019-03-05 1134746.0
2019-03-06 1114562.0
2019-03-07 1050978.0
2019-03-08 1028432.0
 
分享到:
举报财经168客户端下载

全部回复

0/140

投稿 您想发表你的观点和看法?

更多人气分析师

  • 张亦巧

    人气2184文章4145粉丝45

    暂无个人简介信息

  • 梁孟梵

    人气2176文章3177粉丝39

    qq:2294906466 了解群指导添加微信mfmacd

  • 指导老师

    人气1864文章4423粉丝52

    暂无个人简介信息

  • 李冉晴

    人气2320文章3821粉丝34

    李冉晴,专业现贷实盘分析师。

  • 王启蒙现货黄金

    人气296文章3140粉丝8

    本人做分析师以来,并专注于贵金属投资市场,尤其是在现货黄金...

  • 张迎妤

    人气1896文章3305粉丝34

    个人专注于行情技术分析,消息面解读剖析,给予您第一时间方向...

  • 金泰铬J

    人气2328文章3925粉丝51

    投资问答解咨询金泰铬V/信tgtg67即可获取每日的实时资讯、行情...

  • 金算盘

    人气2696文章7761粉丝125

    高级分析师,混过名校,厮杀于股市和期货、证券市场多年,专注...

  • 金帝财神

    人气4760文章8329粉丝119

    本文由资深分析师金帝财神微信:934295330,指导黄金,白银,...

FX168财经

FX168财经学院

FX168财经

FX168北美