第一篇:基于库存的小波神经网络煤炭期货价格预测分析
基于库存的小波神经网络煤炭期货价格预测分析
【摘 要】本文以Matlab为工具,利用小波神经网络,对基于库存的动力煤期货价格进行模型分析和预测,结果表明其具有高度相关性,并具有研究价值。这对探究中国煤炭期货未来的价格变动趋势,为煤炭期货市场提供基础资料和决策支持。
【关键词】煤炭期货;MATLAB;神经网络;模型预测
0 引言
随着经济全球化的推进,我国的基础能源越来越依赖国际煤炭资源,掌握煤炭未来市场价格的话语权对我国经济发展、资源供给都具有重要意义。在现货市场不景气的情况下,期货这种能够规避市场风险的工具便具有了更大的发展空间。小波分析具有较好的描述能力,而且预测的精度较高、预测结果的可靠性较大,作为一种信息和信号处理工具在许多方面得到应用。煤炭期货的上市
动力煤期货上市后,其价格将成为动力煤市场的风向标,自身也将成为电力企业锁定成本的保值工具。因此,动力煤期货上市,对于动力煤市场乃至主要的国民经济发展带来重大积极作用。
一是有利于完善市场体系、稳健企业经营、优化资源配置。上市动力煤期货通过形成公正、透明、权威的中远期价格体系,能够为煤炭、电力等上下游企业签订长、短期协议提供有效参考,是动力煤市场化改革的重要配套措施和煤炭市场体系进一步完善的重要内容。
二是有利于缓解“煤电联动”压力。“煤电联动”是指在某一约定时间周期内,如果煤炭价格上涨超过某一既定比例,那么国家便对电价做出相应调整。推出动力煤期货后,电力等下游企业通过期货市场进行套期保值交易,实现现货、期货“两条腿走路”,有效规避煤炭价格市场波动风险。
三是有利于“煤电一体化”的发展方向。一方面,上市动力煤期货通过提供有效规避市场风险的金融工具,有助于为进一步推动煤电一体化夯实基础;另一方面,动力煤期货能够为煤炭定价提供有益借鉴,煤电合营企业可以在期货价格的基础上,依据自身情况,制定结算价格,为煤电一体化消除消极因素。模型与算法
2.1 小波神经网络
小波神经网络方法与传统的参数模型方法最大的不同在于它是数驱动的自适应技术,不需要对问题的模型做出任何假设。在解决问题的内部规律未知或难以描述的情况下,神经网络可以通过对样本数据的学习训练,以获取数据之间隐藏的函数关系,是一种多变量输入的非线性、非参数的统计方法。
利用神经网络预测时间序列时,利用时间序列模型不需要知道影响预测变量的因果关系,而且有足够多的数据可以用来构成一个合理长度的时间序列的特点,通过把输出层单元的误差逐层向输入层“分摊”给各层单元,从而获得参考误差,并调整各边连接权,直到小于允许误差。输入信号从输入节点依次传过各隐藏节点,然后传到输出层,每一层的节点的输出只影响下一层节点的输出。在学习过程中,为使网络输出层的误差平方和达到最小,通过连续不断地在相对于误差函数斜率下降的方向上计算网络权值和偏差的变化而逐渐逼近目标。每一次权值和偏差的变化都与网络误差的影响成正比,并以反向传播的方式传递到每一层。
2.2 数据准备
本文模型中使用的是郑商所CZCE动力煤自2013年9月上市一年内的收盘价格,以交易日为单位(节假日停盘,故省略)。
库存数据方面,模型使用的是我国主要港口煤炭库存总量,数据来源于鲁中煤炭交易中心。选取区间与动力煤期货价格的选取区间相同,都为2013年9月动力煤在郑商所上市之后的一年时间。动力煤期货价格与库存有存在一定的相关性,动力煤期货价格有较大波动的时段都伴随着库存的反向波动。
(5)记录已学习过的样本数p。如果p
(6)确定隐含层层数。隐含层节点数太多会导致学习时间过长;而隐含层节点太少,容错性差,识别未经学习的样本能力低,所以必须综合多方面的因素进行设计。利用逐步增长或逐步修剪来确定。根据试算比较,最终确定隐含层节点数为10。
(7)按权值修正公式修正各层的权职和阈值;
(9)利用测试样本检验训练好的网络模型,并对未来进行预测。对训练、测试以及预测输出的结果进行反归一化处理,即将输出值还原为原量纲值。预测结果评价方法
通过以2013年9月26日到2014年9月5日的煤炭期货价格与港口库存数据进行分析和单步预测,得到如下图
并对预测的整体效果进行比较,采用平均值误差平方和MSE(Mean Suare Error)、平均绝对误差MAE(Mean Absolute Error)、平均绝对百分误差MAPE(Mean Absolute Percentage Error)等三项预测误差评价指标对其进行评价。误差结果如下(部分)
从图4及表1可以看出,基于神经网络模型预测的误差评价指标都非常小,预测表明,在无重大利好消息出台或者政策变化的情况下,在短期内,国内煤炭期货价格仍处于在低位保持震荡的趋势。结果与讨论
通过对煤炭期货价格交易的分析预测得出,在动力煤期货上市之后,煤炭下游行业对煤炭消费的需求,更加直观的在期货价格上得以提现,而通过市场形成的期货价格,虽然影响因素众多,不能完全准确的预测价格波动,但本文模拟出的结果是比较满意的。也说明煤炭期货价格变动具有研究价值。
【参考文献】
[1]江梦,盛宇华.基于波动理论的煤炭期货市场运行规律研究[J].中国煤炭,2013,39(7):20-23.[2]刘硕,何永秀,陶卫君,杨丽芳,张宇.遗传BP神经网络的煤价预测与煤价风险规避策略[J].华北电力大学学报,2009,36(6):75-80.[3]张智勇,吴晓东,杨鹏,李东武.动力煤期货指数定价模式的思路探讨[J].中国煤炭,2014,40(10).[责任编辑:杨玉洁]
第二篇:用小波神经网络来对时间序列进行预测
/* Note:Your choice is C IDE */ #include “stdio.h” void main(){
}/*用小波神经网络来对时间序列进行预测 */ /*%File name : nprogram.m %Description : This file reads the data from %its source into their respective matrices prior to % performing wavelet decomposition.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Clear command screen and variables */ clc;clear;
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % user desired resolution level(Tested: resolution = 2 is best)*/ level = menu('Enter desired resolution level: ', '1',...'2(Select this for testing)', '3', '4');switch level case 1, resolution = 1;case 2, resolution = 2;case 3, resolution = 3;case 4, resolution = 4;end
msg = ['Resolution level to be used is ', num2str(resolution)];disp(msg);
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % user desired amount of data to use */ data = menu('Choose amount of data to use: ', '1 day', '2 days', '3 days', '4 days',...'5 days', '6 days', '1 week(Select this for testing)');switch data case 1, dataPoints = 48;/*%1 day = 48 points */ case 2, dataPoints = 96;/* %2 days = 96 points */ case 3, dataPoints = 144;/*%3 days = 144 points */
case 4, dataPoints = 192;/*%4 days = 192 points */ case 5, dataPoints = 240;/* %5 days = 240 points */ case 6, dataPoints = 288;/* %6 days = 288 points */ case 7, dataPoints = 336;/*%1 weeks = 336 points */
end
msg = ['No.of data points to be used is ', num2str(dataPoints)];disp(msg);
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Menu for data set selection */ select = menu('Use QLD data of: ', 'Jan02',...'Feb02', 'Mar02(Select this for testing)', 'Apr02', 'May02');switch select case 1, demandFile = 'DATA200601_QLD1';
case 2, demandFile = 'DATA200602_QLD1';
case 3, demandFile = 'DATA200603_QLD1';
case 4, demandFile = 'DATA200604_QLD1';
case 5, demandFile = 'DATA200605_QLD1';end
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Reading the historical DEMAND data into tDemandArray */ selectedDemandFile=[demandFile,'.csv'];[regionArray, sDateArray, tDemandArray, rrpArray, pTypeArray]...= textread(selectedDemandFile, '%s %q %f %f %s', 'headerlines', 1, 'delimiter', ',');
/*%Display no.of points in the selected time series demand data */ [demandDataPoints, y] = size(tDemandArray);msg = ['The no.of points in the selected Demand data is ', num2str(demandDataPoints)];disp(msg);
/*%Decompose historical demand data signal */ [dD, l] = swtmat(tDemandArray, resolution, 'db2');approx = dD(resolution, :);
/*%Plot the original demand data signal */ figure(1);subplot(resolution + 2, 1, 1);plot(tDemandArray(1: dataPoints))legend('Demand original');title('QLD Demand Data Signal');
/*%Plot the approximation demand data signal */ for i = 1 : resolution subplot(resolution + 2, 1, i + 1);plot(approx(1: dataPoints))legend('Demand Approximation');end
/*%After displaying approximation signal, display detail x */ for i = 1: resolution if(i > 1)detail(i, :)= dD(i-1, :)-dD(i, :);else
detail(i, :)= tDemandArray'i + 3);plot(detail(i, 1: dataPoints))legendName = ['Demand Detail ', num2str(i)];legend(legendName);
else
subplot(resolution + 2, 1, resolutiondP(1, :);end
if i == 1 [B,A]=butter(1,0.65,'low');result =filter(B,A, detailP(i, 1: dataPoints));
subplot(resolution + 3, 1, resolutioni + 3);plot(detailP(i, 2: dataPoints))legendName = ['Price Detail ', num2str(i)];legend(legendName);
else
subplot(resolution + 3, 1, resolution1)];end disp(neuralNetwork);disp(' ');
/*%Set no.of input nodes and hidden neurons for the %respective demand and price coefficient signal */ numOfInputs = 2;inputValue = ['Number of neural network INPUT units is set at ', num2str(numOfInputs)];disp(inputValue);disp(' ');numOfOutput = 1;outValue = ['Output is set to ', num2str(numOfOutput)];disp(outValue);disp(' ');numOfHiddens = input('Enter the no.of HIDDEN units for the NN hidden : ');hiddenValue = ['Number of neural network HIDDEN units is set at ', num2str(numOfHiddens)];disp(hiddenValue);disp(' ');/*%Setting no.of training examples */ trainingLength = dataPoints;
/* %Set target outputs of the training examples */ if(x == 1)targetDemand = normDemand(targetStartAt: 1 + trainingLength);else
targetDemand = normDemandDetail(x1, y + 1);inputs(2, y + 1)= normPriceDetail(x1, y + 1);propData(2, y + 1)= normPriceDetail(x1)predicted(1: pointsAhead))./ actualDemand;msg = ['Mean Absolute Error = ', num2str(mean(AbsError(1: pointsAhead))), '!'];disp(' ');disp(msg);
/*%Plot actual time series against predicted result */ figure(3)actualWithPredicted(:, 1)= actualDemand;actualWithPredicted(:, 2)= predicted(1: pointsAhead);plot(actualWithPredicted);graph = ['Mean Absolute Error = ', num2str(mean(AbsError))];title(graph);legend('Actual', 'Forecasted');
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%File name : nretrain.m %Description : This file loads the existing NNs and trains them again.*/ clc;/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Prompt for the starting point for training */ disp('Program will now RETRAIN the Neural Networks ')disp('with the SAME intial data series again...');disp(' ');disp('To capture the pattern of the signal, the model is ')disp('set to accept dataPoints x 2 sets of training examples;');disp('1 set of demand + 1 sets of price.');disp(' ');disp('The normalised demand data , is to be taken as the ')disp('output value for the first iteration of training examples.');disp(' ');msg = ['Data points to be used for reTraining the NNs is from 1 to ',...num2str(dataPoints)];disp(msg);disp(' ');disp('Press ENTER key to continue...');pause;
/*%Clear command screen */ clc;
/*%Prompt for no.of training cycles %For current program, 1 cycle = user set no.of iterations(ie: dataPoints)*/ cycle = input('Input number of cycles to retrain the NNs: ');
numOfTimes = resolution + 1;/*%Loading existing NNs for training */ for x = 1: numOfTimes
/*%Re-initialising variables */ clear targetDemand;clear inputs;clear output;clc;
/*%Loading NN for the respective demand and temperature coefficient signals */
filename = ['nn', num2str(x)];clear nn load(filename);
/*%Getting the size of NN*/ numOfInputs = nn.nin;numOfHiddens = nn.nhidden;numOfOutput = 1;/*%Setting length of reTraining examples and target outputs */ reTrainLength = dataPoints;targetLength = reTrainLength;
targetStartAt = 2;
/*%Set target outputs of the training examples */
if(x == 1)targetDemand = normDemand(targetStartAt: 1 + targetLength);else
targetDemand = normDemandDetail(x1, y + 1);inputs(2, y + 1)= normPriceDetail(x-1, y + 1);
end
output(y + 1, :)= targetDemand(y + 1);
y = y + 1;end
inputs =(inputs');
/*%Setting no.of training cycles */
[ni, np] = size(targetDemand);/*% <== [ni, np] tells the NN how long is 1 cycle;*/ size(targetDemand)/* %With reference to line 106 */
/*%NN options */ options = zeros(1, 18);options(1)= 1;%Provides display of error values options(14)= cycle * ni * np;
/*%Training the neural network %netopt(net, options, x, t, alg);*/
nn = netopt(nn, options, inputs, output, 'scg');
/*%Save the neural network */ filename = ['nn', num2str(x)];save(filename, 'nn');
disp(' ');msg = ['Neural network => ', filename, ' <= successfully RETRAINED and saved!'];
disp(msg);
if(x < 3)disp(' ');disp('Press ENTER key to continue training the next NN...');else
disp(' ');disp('Model is now ready to forecast again!');disp(' ');disp('Press ENTER key to continue...');end
pause;end
第三篇:2014煤炭价格分析与预测
2014年煤炭价格分析与预测
山西省社会科学院 刘晓明
● 国内经济增速换挡,步入“新常态”
● 煤炭市场总量宽松、结构过剩,煤炭经济继续低位运行 ● 煤炭价格下跌空间缩小,但仍将低位运行
2012年以来,我国GDP增速开始回落,告别过去30多年年均10%左右的高速增长,进入中高速增长阶段。当前,在宏观经济“新常态”下,增速换挡期、转型阵痛期和改革攻坚期“三期叠加”,经济发展面临增速放缓、消化产能过剩任务繁重、内生动力不足等困难。
2014年前三季度,国内经济继续稳中求进,深化改革和结构调整成为经济发展的基调。受多重因素影响,国内煤炭经济运行的压力仍然较大,煤炭市场供求宽松的趋势仍然持续,煤炭价格总体仍呈下跌态势。
长期以来,我国煤炭价格形成机制经历了完全计划、双轨制、市场化等改革阶段,但当前以市场化为总体方向的定价机制在运行中仍存在煤炭成本构成不完全、流通成本过大、调控机制不完善、市场秩序不规范等问题。从长远来看,要建立统一、开放、竞争、有序的煤炭市场,形成以市场配置资源为主的煤炭价格形成机制,坚持市场配置资源与国家宏观调控相结合,就要继续推动煤炭外部成本内部化,规范清理涉煤规费,进一步完善煤炭市场体系,加快推动相关领域改革。
一、前三季度煤炭价格走势分析
2014年前三季度,国内煤炭市场延续了总量宽松、结构性过剩的态势,煤炭经济及煤炭价格总体维持低位运行态势。
(一)国内煤炭价格总体走势
据中国煤炭工业协会数据,截至2014年7月末,国内煤炭价格总体已降至2007年底水平。2014年前三季度,国内煤炭市场供求持续宽松,景气度继续下行,仍处于寒冷区间。总体看,前三季度煤炭价格走出一条向右下方倾斜的下跌
2014年年初,中国太原煤炭交易价格指数(CTPI)报99.05点,较上年同期下降15点,降幅为13.15%。8月末,该指数报81.26点,较年初下降17.79点,降幅达17.96%;较上年同期下降13.75点,降幅达14.47%。
二、煤炭价格供求分析及中短期预测
煤炭价格是整个能源经济运行的晴雨表,煤炭价格波动及其运行趋势受到从国际到国内、从宏观到微观等多方面因素的影响。总体来看,供求关系是煤炭价格的主要影响因素。
(一)煤炭需求分析
据中国煤炭工业协会数据,2014年上半年全国煤炭产量18.16亿吨,同比下降1.8%;全国煤炭销量17.27亿吨,同比下降2.1%。煤炭供给相对充足,需求乏力是导致煤炭价格持续低迷的主要原因。
1.国内经济增长放缓
2014年以来,世界经济形势错综复杂,发达国家经济复苏艰难曲折,新兴市场国家经济增速放缓,中国经济下行压力加大。中国经济已告别连续多年的高速增长,进入增速换挡的“新常态”。我国GDP增速自2012年起开始回落,2012年、2013年、2014年上半年增速分别为7.7%、7.7%和7.4%,告别过去30多年年均10%左右的高速增长。从山西情况来看,2012年、2013年、2014年上半年GDP增速分别为10.1%、8.9%和6.1%,增速下降明显。经济增长放缓直接或间接影响煤炭需求,是煤炭价格持续下行的重要原因。
2.传统耗煤行业景气度不高
我国煤炭消费尤其是动力煤主要集中在电力、钢铁、建材、化工等行业。近年来,电力行业用煤是动力煤消费中最主要部分,冶金行业用煤量逐年上升,化工和建材行业动力煤需求量保持平稳。据中国煤炭工业协会数据,2014年1-7月,全国煤炭消费23.1亿吨,同比仅增长0.2%。其中,电力行业耗煤11.7亿吨,占消费总量的50.65%,同比增长0.4%;钢铁行业耗煤3.7亿吨,占消费总量的16.02%,同比下降0.7%;建材行业耗煤3.15亿吨,占消费总量的13.64%,同比增长0.2%;化工行业耗煤1.3亿吨,占消费总量的5.63%,同比增长7.7%。
从电力行业看,2014年上半年,全社会电力供需总体平衡。据中国电力企
业联合会数据,上半年,全国全社会用电量26276亿千瓦时,同比增长5.3%,增速比上年同期提高0.2百分点。其中,三次产业用电量占比分别为1.7%、73.5%和11.9%,城乡居民生活用电量3378亿千瓦时,占全社会用电量的比重为12.9%。从发电情况看,上半年全国规模以上电厂发电量26163亿千瓦时,同比增长5.8%,增速比上年同期提高1.5个百分点。其中,火电发电量20995亿千瓦时,同比增长4.7%,增速比上年同期提高2.1个百分点,占发电总量的80.25%。新疆、北京、湖北、山西等省份火电发电量增速较高,超过10%。可见,电力需求尤其是火电的用煤需求对煤炭价格起到较大的支撑作用。
从钢铁行业看,国内钢材市场景气度不高,钢材价格低位运行,钢铁行业亏损严重。据中国钢铁工业协会数据,2014年8月末,中钢协CSPI钢材综合价格指数报90.63点,连续第5个月下跌,同时也是连续第11个月低于100点,且创2014年以来新低。中钢协预计,后期钢价将继续呈低位波动走势。8月份国内重点钢铁企业粗钢日均产量为170.41万吨,环比下降5.26%。8月末重点钢企钢材库存1424.16万吨,环比增长1.1%。据中钢协统计,2014年一季度,重点统计钢铁企业由盈转亏,亏损总额23.29亿元,累计亏损面达45.45%;上半年钢铁业仅实现利润22亿元,亏损面仍高达40%。可见,钢铁行业总体不景气,用煤需求不振,无法对煤炭价格形成支撑。
从建材行业看,主要建材产品产量继续增长,价格总体呈下探态势,库存增加,行业效益较上年有所改善。国家发改委数据显示,2014年1-7月全国水泥产量136893万吨,同比增长3.7%,增速同比减缓5.9个百分点;平板玻璃产量48334万重量箱,增长6.2%,减缓4.2个百分点。7月重点建材企业水泥平均出厂价为344.8元/吨,环比下跌3.2元/吨,跌幅为0.9%;平板玻璃出厂价57.6元/重量箱,环比下跌3.5元/重量箱,跌幅为5.7%。7月末,重点建材企业水泥库存1791万吨,同比增长2%;平板玻璃库存4459万重量箱,下降5%。2014年上半年,建材行业实现利润2011亿元,同比增长18.7%。其中,水泥制造行业利润342亿元,增长52.7%;平板玻璃行业利润17亿元,增长24.1%。
从煤炭库存方面看,中国煤炭工业协会数据显示,截至2014年6月末,全社会煤炭库存已经连续31个月保持在3亿吨以上。6月末,煤炭企业库存9900万吨,创历史最高水平;重点发电企业存煤7906万吨,可用23天;主要港口存
煤5264万吨,比年初增长39%。
(二)煤炭供给分析
近年来,国内煤炭产能持续扩大,煤炭进口继续攀升,煤炭供给持续增长,导致全国煤炭市场总量宽松,煤炭价格跌势不止。
1.煤炭产能不断扩大
从产量方面看,国家统计局数据显示,2013年全国煤炭产量达到36.8亿吨,同比增长0.8%。2013年全国煤炭消费量为36.1亿吨,增幅由持续多年的年均增长9%降至2.6%。据中国煤炭工业协会数据,2014年前7个月全国煤炭产量21.63亿吨,同比下降1.45%。
从产能方面看,“十一五”以来我国煤炭产业固定资产投资持续增加。国家统计局数据显示,“十一五”期间我国煤炭开采和洗选业累计完成固定资产投资1.25万亿元,“十二五”前三年(2011-2013)又完成1.55万亿元,“十一五”以来煤炭开采和洗选业固定资产投资年均增长20.11%。近年来,我国煤炭产能不断扩大,煤炭投资积累的产能陆续释放。中国煤炭行业协会预测,2014年国内煤炭产能将突破40亿吨。从山西的情况来看,2013年在很大一部分矿井改造建设的情况下,全省煤炭产量仍达到9.62亿吨,其中外运量6.2亿吨,创历史新高。2014年全省有575座在建的重组整合改造矿井,年内将建成竣工160座,2015年将全部建成投产,总产能将达到13亿吨。总体看,煤炭产能建设存在超前问题,产能过剩对煤炭价格的下行压力仍将持续。
2.煤炭进口持续增大
国际煤炭价格仍存在比较优势,煤炭净进口量进一步加大,对国内煤炭市场形成较大冲击。2011年我国成为全球最大煤炭进口国,全年共进口煤炭(含褐煤)1.824亿吨,同比增长10.8%。2012、2013年我国煤炭进口分别达到2.9亿吨和3.3亿吨,连创历史新高。据海关总署统计,2014年1-8月,我国累计进口煤炭(含褐煤)2.02亿吨,同比减少5.3%。预计2014年全年煤炭进口仍将超过3亿吨。从山西的情况来看,2014年上半年,山西省煤炭出口25.2万吨,同比下降52.3%;进口222.3万吨,下降13.3%;净进口197.1万吨。总体来看,我国煤炭进口量持续增加,国际煤价已成为影响国内煤价的重要因素。随着国际煤炭价格持续低位运行,进口煤对国内煤炭造成的冲击仍有继续扩大的趋势。
3.煤炭运力不断扩大
近年来,我国铁路投资不断加大,尤其是中西部铁路建设明显提速,内蒙古煤炭外运通道建设逐步完善,极大地缓解了煤炭运输瓶颈问题。国家发改委数据显示,2014年前7个月全国铁路累计发运煤炭13.3亿吨,同比增长0.8%。主要煤运通道中,大秦线完成煤炭运量2.6亿吨,同比增长2.8%;侯月线完成1.1亿吨,同比增长1.4%。煤炭运力的不断提高有效保障了煤炭总体供应能力,一定程度上降低了运力瓶颈导致的煤炭价格上涨的推力。
4.新能源的替代作用逐步显现
当前,在我国能源消费结构中,煤炭占比仍高达2/3,占有重要地位。但从长期来看,煤炭消费的比重在逐渐降低,石油、天然气等能源消费的比重逐步提高。随着新能源开发和利用增长迅猛,逾期未来将对煤炭形成一定的替代效应。
从煤层气开发利用方面看,有关数据显示,我国煤层气资源储量36.81万亿立方米,稳定产量可达633-935亿立方米,其中山西煤层气储量约10万亿立方米。据国家能源局数据,2013年国内煤层气(煤矿瓦斯)抽采量156亿立方米,利用66亿立方米,同比分别增长10.6%和13.8%。根据《煤层气开发利用“十二五”规划》,“十一五”期间我国煤层气开发从零起步,施工煤层气井5400余口,形成产能31亿立方米;累计利用煤层气95亿立方米,相当于节约标准煤1150万吨。该规划提出,到2015年,我国煤层气产量将达300亿立方米,“十二五”期间将新增煤层气探明地质储量1万亿立方米,建成沁水盆地、鄂尔多斯盆地东缘两大煤层气产业化基地。
从页岩气开发方面看,近年来,美国页岩气勘探开发技术突破,产量快速增长,对煤炭产生替代效应,对国际天然气市场及世界能源格局产生重大影响。世界能源研究所(WRI)研究表明,中国页岩气储量超过30万亿立方米,居世界第一,几乎是美国的两倍。《国民经济和社会发展“十二五”规划》明确要求,“推进页岩气等非常规油气资源开发利用”。国家能源局于2012年3月发布了《页岩气发展规划(2011-2015年)》。根据该规划,到2015年,我国将基本完成全国页岩气资源潜力调查与评价,掌握页岩气资源潜力与分布,建成一批页岩气勘探开发区,初步实现规模化生产;2020年力争实现页岩气年产量600-1000亿立方米。
应当看到,短期内国内页岩气的开发尚难以形成规模,并且,受开采技术和水资源的限制,预言国内页岩气资源大规模开发为时尚早,其对煤炭等传统能源的替代尚不明朗。但参考美国业已完成的页岩气革命,未来页岩气资源的开发利用若能够形成规模,对国内能源供应格局将产生巨大影响,煤炭需求将进一步减弱,煤炭价格将有可能被更大幅度的打压。
三、煤炭价格走势预测
综合前文煤炭供求分析,从长期来看,煤炭价格回升至历史较高水平的可能性很小,持续承压、长期低位运行的可能性更大。
从短期来看,支撑煤炭价格的积极因素有:第一,国内主要煤炭产区山西、新疆、内蒙古、河南等省份,已经完成或正在进行煤炭资源整合工作,煤炭资源整合后将大幅提升国家对煤炭产业的控制力,煤炭产量和煤炭价格预计将得到一定程度控制;第二,中煤、神华等煤炭集团已宣布实施煤炭限产保价,山西、内蒙等产煤大省有望陆续跟进,对煤炭价格起到一定程度支撑作用;第三,2014年四季度冬季取暖用煤高峰期到来,煤炭需求将有所提振;第四,各地铁路基建、地铁等基础设施建设投资项目集中上马,将直接带动铁路基建、工程机械、水泥等基建主线品种的市场需求,间接增加煤炭需求;第五,各主要煤炭产区相继提出发展坑口电站,推进煤炭资源就地转化,变输煤为输煤和输电相结合,能源供给方式将实现多样化;第六,煤炭大省山西继续推进煤电联营、煤电长协合同,推动建立和谐煤电关系,实施煤炭“二十条”、“十七条”等新政,减轻煤炭企业负担,推动煤炭革命,对稳定煤炭价格有所帮助。
但是,应当看到,中国经济增长降速进入“新常态”,对煤炭总需求产生深远影响。国内煤炭产能持续扩大,传统耗煤行业总体不景气,加之进口煤炭的冲击,未来一段时期内,煤炭市场宽松、供大于求的态势将延续,煤炭价格预计仍将低位运行,但下跌空间缩小。预计中短期乃至未来2、3年内,国内煤炭价格止跌企稳甚至有所回暖的可能性较大,大幅波动的可能性不大。
第四篇:小波分析小结
小波分析的形成
小波分析是一门数学分支,是继Fourier变换之后新的时频域分析工具。小波理论的形成经历了三个发展阶段:
Fourier变换阶段:
Fourier变换是将信号在整个时间轴上进行积分,它将信号的时域特征和频域特征联系起来,分别进行分析。设信号f(t),其Fourier变换为:
F()f(t)eitdt
F()确定了f(t)在整个时间域上的频谱特性。但Fourier变换不能对信号从时域和频域结合起来分析,它是一种全局变换,在时间域上没有任何分辨率。
例:f(t)1,(2t2),其Fourier变换对应图如下:
短时Fourier变换阶段:
短时Fourier变换即加窗Fourier变换,其思想是把信号分成许多小的时间间隔,用Fourier分析每个时间间隔,以确定该间隔存在的频率,达到时频局部化目的。其表达式为:
Gf(,)f(t),g(t)ejtf(t)g(t)ejtdt
R式中,g(t)为时限函数,即窗口函数,ejt起频限作用,Gf(,)大致反映了f(t)在时、频率为的信号成分含量。
由上式,短时Fourier变换能实现一定程度上的时频局部化,但窗口函数确定时,窗口大小和形状固定,所得时频分辨率单一。
小波分析阶段:
为了克服上述缺点,小波变换应运而生。小波变换在研究信号的低频成分时其窗函数在时间窗长度上增加,即在频率宽上减小;在研究信号的高频成分时其窗函数在时间窗长度上减小,而在频率宽上增加。对信号可以进行概貌和细节上的分析。
小波的定义:
(),若满足设(t)L2(R)(为能量有限的空间信号),其Fourier变换为容许条件:
|()|2||d
(0)(t)dt0,说明(t)具有波动则称(t)为母小波,由容许条件可得:性,在有限区间外恒为0或快速趋近于0.t12以Marr小波(t)(1t)e2为例,如下图:
22
将母小波进行伸缩平移所得小波系列称为子小波,定义式如下:
b,a(t)1tb(),a0
aa其中a为伸缩因子,b为平移因子。
a 以Marr小波为例,分别取伸缩平移因子a,b为0.5、1、2、4;-1、0、1,对应图形如下:
Daubichies小波
常见的小波有Daubechies、Symlets、Morlet、Mexican Hat、Meyer小波等,其对应的图形及性质如下:
Daubechies小波是正交小波,没有解析表达式(除Haar小波外)。其简写形式为dbN,N表示阶数,支集区间为(0,2N-1)。
Symlets小波与db小波的差别是sym小波有更好的对称性。
Morlet小波不具备正交性,不存在紧支集,不能做离散小波变换,没有解析尺度函数,其小波函数为:
(x)ex/2cos(5x)
Mexican Hat小波不具有正交性,不存在尺度函数,是高斯函数的二阶导数,小波函数为:
2(x)21/4x2/2e 3Meyer小波为在频域定义的具有解析形式的正交小波,不存在紧支集,但其频谱有限,具有对称性。
小波函数的特点:
正交性:小波函数与自身内积为1,而与其伸缩平移后的小波系列内积为0。正交小波的优点是小波变换可将信号分解到无重叠的子频带上,并且可以进行高效的离散小波变换。
对称性:不具有对称性的小波函数所重构的信号会有相位失真。
紧支性:具有紧支性的小波其小波函数仅在有限区间内是非零的,其局部化能力强,小波变换复杂度低。
正则性:用于刻画小波函数的光滑程度,正则性越高,函数越光滑。
消失矩:用于衡量小波逼近光滑函数时的能力。消失矩越大,压缩比越大。
尺度函数:若函数(t)L2(R),其整数平移系列k(t)(tk)满足:
k(t),k(t)kk
则称(t)为尺度函数。
对尺度函数(t)进行平移和伸缩,可得一个尺度和位移均可变的函数集合:
j,k(t)2j/2(2jtk)k(2jt)
称每一个固定尺度j上的平移系列k(2jt)所张成的空间Vj为尺度j的尺度空间:
Vjspank(2jt),kZ
正交多分辨分析:Hilbert空间L2(R)中,若一列闭子空间{Vj}jz满足如下性质:嵌套性:VjVj1,(jz);逼近性:Vj{0},VjL2(R);
jzjz伸缩性:f(t)Vjf(2t)Vj1;
平移不变性:f(t)Vjf(tk)Vj,jZ;
正交性(Riesz基):存在(t)V0,使得{(tk),kz}是V0的标准正交基。滤波器:在二尺度方程中,对系数系列{hk}kz和gk(1)kh1k,kz作Fourier 变换得H()和G(),其中H()11ikikheG()ge,称H()和kk2kz2kzG()分别为低通滤波器和高通滤波器。称{hk}kz和{gk}kz分别为低通滤波器系数和高通滤波器系数。小波变换
连续小波变换:设为一母小波,f(t)L2(R),称
(Wf)(a,b)f,a,b|a|12f(t)(tb)dt a为f的连续小波变换。
离散小波变换
离散小波:通过离散化连续小波变换中的平移因子b和尺度因子a得到,通
mm常取aa0,bnb0a0,m,nZ.m2离散小波变换:(Wf)(a,b)f,a,b|a0|f(t)(a0mtnb0)dt
若取a02,b01,可以得到二进小波:m,n(t)2m/2(2mtn),m,nZ
信号的离散小波变换并不是直接由尺度函数(t)和对应的小波(t)与信号内积来实现,而是利用滤波器组h[n]和g[n]来实现,用矩阵形式表述如下:
cj[0]00cj1[0]c[1]h[0]h[1]h[k]0c[1]j00h[0]h[1]h[k]0j1 c[n1]c[n1]h[k]0000h[0]h[1]jj12dj[0]00cj1[0]d[1]g[0]g[1]g[k]0c[1]j00g[0]g[1]g[k]0 j1d[n1]c[n1]g[k]0000g[0]g[1]jj12其中,设滤波器长度为k。并且两滤波器系数间有如下关系:
gk(1)kh1k,kz
|hkzk|22; 2; h2k11;kzhkzkzkh2khkzk2nkh2n0,nz
以db5小波为例,其低通滤波器系数如下(这里取二尺度方程为(t)2hk(2tk))所得的系数:
kzh[0]=0.160102397974;h[1]=0.603829269797;h[2]=0.724308528438;h[3]=0.***1;h[4]=-0.242294887066;h[5]=-0.032244869585;h[6]=0.077571493840;h[7]=-0.006241490213;h[8]=-0.012580751999;h[9]=0.003335725285;变换所得系数cj和dj分别为离散小波变换的不同尺度下的低频和高频系数。
小波逆变换即信号的重建运算,重构是从尺度最低的近似系数cj和细节系数dj开始,通过低频和高频重构滤波器恢复出上一尺度的近似信号cj1,继续这个过程,直到恢复原始信号。其计算公式为:
cj1,mcj,kh(m2k)dj,kg(m2k),kZ
kk离散小波变换与重构实例如下:
所采用的信号为添加白噪声的正弦信号,信号共1000个采样,采用db4小波做3层分解,其原始信号、低频系数、高频系数和重构信号如下图:
第五篇:小波分析算法资料整理总结
一、小波分析基本原理:
信号分析是为了获得时间和频率之间的相互关系。傅立叶变换提供了有关频率域的信息,但有关时间的局部化信息却基本丢失。与傅立叶变换不同,小波变换是通过缩放母小波(Mother wavelet)的宽度来获得信号的频率特征,通过平移母小波来获得信号的时间信息。对母小波的缩放和平移操作是为了计算小波系数,这些小波系数反映了小波和局部信号之间的相关程度。相关原理详见附件资料和系统设计书。
注:小波分析相关数学原理较多,也较复杂,很多中文的著作都在讨论抽象让非数学相关专业人难理解的数学。本人找到了相对好理解些的两个外文的资料: Tutorial on Continuous Wavelet Analysis of Experimental Data.doc Ten.Lectures.of.Wavelets.pdf
二、搜索到的小波分析源码简介(仅谈大体印象,还待继续研读):
1、83421119WaveletVCppRes.rar 源码类型:VC++程序
功能是:对简单的一维信号在加上了高斯白噪声之后进行Daubechies小波、Morlet小波和Haar小波变换,从而得到小波分解系数;再通过改变分解得到的各层高频系数进行信号的小波重构达到消噪的目的。
说明:在这一程序实现的过程中能直观地理解信号小波分解重构的过程和在信号消噪中的重要作用,以及在对各层高频系数进行权重处理时系数的选取对信号消噪效果的影响。但这是为专业应用写的算法,通用性差。
2、WA.FOR(南京气象学院常用气象程序中的小波分析程序)
源码类型:fortran程序
功能是:对简单的一维时间序列进行小波分析。
说明:用的是墨西哥帽小波。程序短小,但代码写得较乱,思路不清,还弄不明白具体应用。
3、中科院大气物理学所.zip(原作者是美国Climate Diagnostics Center的C.Torrence 等)
源码类型:fortran和matlab程序各一份
功能是:气象应用。用小波分析方法对太平洋温度的南方涛动指数进行分析。
说明:用的是Morlet和墨西哥帽小波。程序编写规范,思路清晰,但这是为专业应用写的算法,通用性差。
4、Morlet小波变换源程序.rar 源码类型:matlab程序
功能是:对简单的一维时间序列进行小波分析。
说明:用的是墨西哥帽小波。程序短小,但代码写得较乱,思路不清,还弄不明白具体应用。
5、Morlet小波计算函数封装源程序.rar 源码类型:matlab程序
功能是:对一维时间序列信号进行连续小波变换程序。
说明:用的是Morlet小波。程序短小,代码调用了matlab内置函数wave,并使用了卷积进行求解,源码中的多个参数的选择和设置原理和依据还弄不明白。6、计算关于时间序列数据的的小波变换fortran程序.rar 源码类型:fortran程序
功能是:对简单的一维时间序列进行小波变换。
说明:用的是DOG小波、Morlet小波、Paul小波。程序较长,代码写得较乱,还弄不明白具体应用。
三、小波分析底层基本算法实现的困难:
1、小波分析中用的小波基函数的种类很多,选择不同基小波函数的,变换内核的计算实现方法不同。
2、小波分析的应用领域非常多,不同的应用领域的小波算法框架不同。
3、小波分析的输入输出参数较多,但在应用时灵活度不强,对不同小波基函数和不同的应用有着不同的参数选择和设定方法,同时表现出不同的性质。
因而,很多时候小波在不同的实际应用时的算法和编码实现有差别非常大。从目前本人收集到的5个小波分析源程序的分析来看,这6个源程序的具体实现思路、参数选择和设置各不相同。总之,很难设定一个比较标准通用的小波分析底层算法。