龙听期货论坛's Archiver

C
+
+


 微信: QQ:

龙听 发表于 2018-5-17 19:25

模拟钢厂利润(Python源码)

模拟钢厂利润概述[hr][p=26, 2, left]前文我们已经介绍过跨品种套利,跨品种套利所选择的品种从经济角度来说,它们可能处于同一产业链的上下游,比如玉米与淀粉,也有可能具有可替代或者互补的关系,比如豆油与菜油。一般来说同一产业链的品种相关性较高,无论是从基本面还是统计规律出发均比较容易找到逻辑支撑,常见的产业链主要包括黑色产业链、豆类油脂产业链、化工产业链等等。对同一产业链中相关性很强的品种的期货合约分别进行买入和买出,通过品种间的强弱变化引发价差的收缩与扩大,从而实现价差收益。“虚拟钢厂”的构建正是利用螺纹钢和其主要原材料:铁矿石和焦炭,三种上下游品种之间的价格的不平衡变化而产生的价差收益,是一种跨品种套利的策略。[/p]一、可行性分析[hr][p=26, 2, left]我们首先来看看这三个品种的历史走势:[/p][p=26, 2, left][code]
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
from CAL.PyCAL import font
import DataAPI
import scipy.stats as st


rbm0 = DataAPI.MktMFutdGet(mainCon=u"1", contractObject=u"rb",startDate=u"20131101",endDate=u"20160601",field=[u'ClosePrice', 'TradeDate'],pandas="1")
im0 = DataAPI.MktMFutdGet(mainCon=u"1", contractObject=u"i",startDate=u"20131101",endDate=u"20160601",field=[u'ClosePrice', 'TradeDate'],pandas="1")
jm0 = DataAPI.MktMFutdGet(mainCon=u"1", contractObject=u"j",startDate=u"20131101",endDate=u"20160601",field=[u'ClosePrice', 'TradeDate'],pandas="1")
y = np.array(rbm0['closePrice'])
x1 = np.array(im0['closePrice'])
x2 = np.array(jm0['closePrice'])

fig = plt.figure(figsize=(15, 5))
sns.set_style('whitegrid')
ax = fig.add_subplot(111)
ax.set_xlim(0, len(rbm0))
ax.plot(y, color = '#000000', label='rb', lw=3)
ax.plot(x1, 'r', label='i', lw=3)
ax.plot(x2, 'g', label='j', lw=3)
ax.set_xticks(range(0, len(rbm0), 60))
ax.legend(loc=1)
xlabel = ax.set_xticklabels([rbm0.ix[i, 'tradeDate'] for i in ax.get_xticks()])
title = ax.set_title(u'螺纹,铁矿石,焦炭价格历史走势图', loc=u'center', fontproperties=font, fontsize=16)
[/code]
[/p][p=26, 2, left][code]
print '螺纹与铁矿石相关系数:', np.corrcoef(y, x1)[0][1]
print '螺纹与焦炭相关系数:', np.corrcoef(y, x2)[0][1]
print '铁矿石与焦炭相关系数:', np.corrcoef(x1, x2)[0][1]
print '------------------------------------------------'
print '螺纹与铁矿石卡方检验p值:', st.chisquare(y, x1)[1]
print '螺纹与焦炭卡方检验p值:',st.chisquare(y, x2)[1]
print '铁矿石与焦炭卡方检验p值:',st.chisquare(x1, x2)[1]
1
2
3
4
5
6
7
8
螺纹与铁矿石相关系数: 0.977895286856
螺纹与焦炭相关系数: 0.964336641768
铁矿石与焦炭相关系数: 0.948966994897
------------------------------------------------
螺纹与铁矿石卡方检验p值: 0.0
螺纹与焦炭卡方检验p值: 0.0
铁矿石与焦炭卡方检验p值: 0.0
[/code]
[/p][p=26, 2, left][font=-apple-system, SF UI Text, Arial, PingFang SC, Hiragino Sans GB, Microsoft YaHei, WenQuanYi Micro Hei, sans-serif, SimHei, SimSun][color=#4f4f4f][size=16px]对它们的价格序列进行卡方检验,p值几乎为0,可以认为这三者之间高度正相关,实际上螺纹和铁矿石的相关系数为0.978,螺纹和焦炭的相关系数为0.964,铁矿石和焦炭的相关系数为0.949。这就为三者之间进行跨品种套利奠定了基础。[/size][/color][/font][/p]二、模型构建[hr][p=26, 2, left]钢材生产流程大致分为三个阶段,分别为炼铁、炼钢和轧钢,生产成本主要包括原料成本、能源成本、人工成本、折旧和财务成本等。从原材料上来看, 生产1吨螺纹钢大致需要1.6吨铁矿石和0.5吨焦炭。因此,我们可以通过期货市场来大致模拟钢厂的生产过程,通过结合相关品种在期货市场的利润以及现货市场供需基本面数据,把握品种间的套利机会。通过成本估算,当前阶段:[/p][list][*]螺纹钢成本≈1.6×铁矿石+0.5×焦炭+加工成本[*]利润≈螺纹钢期货价格-螺纹钢成本[/list][p=26, 2, left]炼铁、炼钢和轧钢三个阶段的总加工费大概在1100元左右。下图是2013.10-2016.7虚拟钢厂利润走势,在-200~300的范围内波动,利润中枢在100左右。[/p][p=26, 2, left][code]
fig = plt.figure(figsize=(15, 5))
sns.set_style('whitegrid')
ax = fig.add_subplot(111)
ax.set_xlim(0, len(rbm0))
profit = (y - 1.6*x1 - 0.5*x2 - 1100).tolist()
ax.plot(profit, lw=3)
ax.plot([300]*len(profit), '--r')
ax.plot([-200]*len(profit), '--g')
ax.set_xticks(range(0, len(profit), 60))
xlabel = ax.set_xticklabels([rbm0.ix[i, 'tradeDate'] for i in ax.get_xticks()])
title = ax.set_title(u'虚拟钢厂利润历史走势图', loc=u'center', fontproperties=font, fontsize=16)
[/code]
[/p][p=26, 2, left][attach]4230[/attach]
[/p]三、套利比例的确定[hr][p=26, 2, left]首先,从产业结构计算产出比,比如螺纹:铁矿:焦炭=1吨:1.6吨:0.5吨;其次,按照合约规定的实际数量的1:1来确定,当前螺纹:铁矿:焦炭=1:10:10(螺纹期货合约为10吨/手,铁矿和焦炭期货合约均为100吨/手。最后,确定套利比例也需要考虑各品种的波动率的不同。综合上述因素,这样大致可以确定螺纹、铁矿、焦炭三者的手数配比为20:3:1。初始资金设为15w。[/p][hr]四、具体操作[hr][p=26, 2, left]合约选取:
* 螺纹,铁矿,焦炭主力合约[/p][p=26, 2, left]策略逻辑:
* 当盘面利润高于300时,做空螺纹,做多铁矿石与焦炭;当盘面利润低于100时,若螺纹有空仓,则平掉所有仓位。
* 当盘面利润低于-200时,做多螺纹,做空铁矿石与焦炭;当盘面利润高于100时,若螺纹有多仓,则平掉所有仓位。
* 当主力切换时,平掉所有仓位[/p][p=26, 2, left]初始资金:
* 30w[/p][p=26, 2, left]回测时间:
* 自铁矿石品种上市以来 [/p][p=26, 2, left][attach]4231[/attach][attach]4232[/attach]
[/p]策略评价[hr][list=1][*]虚拟钢厂套利策略是基于基本面逻辑的套利策略,如果基本面发生重大变化,应及时止损止盈。[*]可以看到策略的本质其实是一个固定了上下轨道的突破策略,其上下轨的确定是根据模拟钢厂生产的利润传导机制进行确定的[*]当价差没有回归时,需要进行移仓换月的操作[*]当前低迷的市场情况下,钢企合理利用期货市场进行套期保值、管控风险具有现实意义[/list]

页: [1]
渠道·推广(20年运营值得信赖!)▼:温馨提示:期货论坛稳定、流畅的访问体验有赖于赞助商的广告支持,赞助商业务内容非本站官方业务,期货、证券及外汇投资均有亏损的风险,访问赞助商广告即代表您已了解其中的风险。欢迎意向赞助商联系客服或管理员咨询相关事宜。
                     
❤️2025年通过期货论坛开户享受如下优惠政策:政策一:手续费最低交易所+1分起,政策二:日内炒单及大资金享更高比率返还,政策三:保证金可申请交易所标准+0,政策四:开户即享有论坛Prime会员资格(价值199元/年),开户咨询管理员或右侧客服! 😋欧美期货杂志购买、下载与中文翻译:/thread-10603-1-1.html |TB/MC开户优惠政策:/thread-5986-1-1.html2025年最新交易所手续费表:/thread-7537-1-1.htmlSC2.png2025年最新中文翻译:/thread-160355-1-1.html;
欧美期货程序化期刊中文翻译目录: 【1982/83.01-12期】 【1984.01-12期】 【1985.01-12期】 【1986.01-12期】 【1987.01-12期】 【1988.01-12期】 【1989.01-12期】 【1990.01-12期】 【1991.01-12期】 【1992.01-12期】 【1993.01-12期】 【1994.01-12期】 【1995.01-12期】 【1996.01-12期】 【1997.01-12期】 【1998.01-12期】 【1999.01-12期】 【2000.01-12期】 【2001.01-12期】 【2002.01-12期】 【2003.01-12期】 【2004.01-12期】 【2005.01-12期】 【2006.01-12期】 【2007.01-12期】 【2008.01-12期】 【2009.01-12期】 【2010.01-12期】 【2011.01-12期】 【2012.01-12期】 【2013.01-12期】 【2014.01-12期】正在更新中...... 【2015.01-12期】待补 【2016.01-12期】待补 【2017.01-12期】正在更新中...... 【2018.01-12期】 【2019.01-12期】 【2020.01-12期】 【2021.01-12期】 【2022.01-12期】 【2023.01-12期】 【2024.01-12期】 【2025.01-12期】正在更新中......
欧美杂志精华: 欧美杂志2025年最新中文翻译 量化交易 技术分析 心理研究 套利/统计 波浪理论 江恩理论 道氏理论 策略开发 动量交易 量化建模 神经网络 资金管理 行为金融 图表/形态 蜡烛/K线 Van K. Tharp Wyckoff 名人采访 投机新手 量化问答(Q&A) 外汇货币 交易池(Pool) TS/MC量化 点数(P&F)图 [基金/ETF] [加密货币] [Algo(Q&A)] [人工智能(AI)] 真实世界 期货世界 《Futures Truth》 《Futures&Options》