第一篇:测回法学习心得
经纬仪測回法实训心得
这一次完成的很小心,因为我们在前两次犯得低级错误太多了,很多地方都是微微改动自己的念头就会毫无顾忌地写下去了。但是我们在前两次的教训中,我们学会的耐心和虚心······
一开始的时候,我们就觉得这次实训不一般,从经纬仪的结构上看就很明显体现出来,望远镜物镜可以多方位移动,目测的定点需要尖锐、细小,有点特别的是读数的时候发现跟显微镜类似要用到反光镜,这些还是很简单的,下面的才是我们的中心处。
仪器的调平——初步对中有点意思,我们需要从一个十字中心点对准我们在地下画好的额交叉点,但是我们最初的伸出脚掌的对准,才慢慢移动居中;然后还有初步整平——调动三脚架,基本居中圆水准器;再到精确校对整平,两个水平校准器要达到一致,可是不知道是我们技术问题,还是仪器調整的挠度很高,我们始终还是没有居中校平,要不就是水准器偏了离谱,要不就是圆水准器又走偏了。
最后老师来为我们从新调平得出结论,仪器坏了······
不过呢,我们还抱着学习的心态去对待自己的状况,我们需要的是使用的经验和熟悉測回法的过程,所以我们接下来我们每个人都轮流来回测两个点,虽然还是有很多小小的错误,比如回测的时候,对准点不是很精确,读数的时候没有看准,或着是计算的时候没留意等等。
不过比前两次实训好多了,我们懂得分工后要学习不同组员的方式跟技巧了,还有就是我们在无味的实训中,应有的耐心跟团结心慢慢凝聚在一起了······篇二:测量日志加心得体会
实习日记本
学院 土木建筑学院
学生姓名丁琪家 学号重庆交通大学
指导老师邓明镜 实习时间 6.18~6.29 2012年6月18日 星期一 天气 晴
今天是我测量实习的第一天,在领过仪器并检查校验确认无误之后,组长开始给各组员分配任务,接着全组人商讨确定出了此次测量进度计划。各项安排全都完成后,我们领着仪器返回宿舍。为期两周的测量实习开始了。2012年6月19日 星期二 天气 晴
今日全组人员在为桥涵、概率论、毛概考试进行复习,未进行测量。2012年6月20日 星期三 天气 晴
今日全组人员在为桥涵、概率论、毛概考试进行复习,未进行测量。2012年6月21日 星期四 天气 晴
今日全组人员在为剩下的两科毛概和桥涵考试进行复习,未进行测量。2012年6月22日 星期五 天气 晴
今天算是正式测量实习的第一天。一大早,我们组成员七点就到达作业地点。开始选取测量的控制点,由于仪器测量的不方便和地形的要求,初选一共为18个选点,相对其他测量小组,测点显得有点多。与此同时,我也明白到了此次实习的任务的艰巨性。对于选点,在这之后我也有了一定了解,相邻点之间的通视要好,便于测量和量距;选点的视野要广,便于碎部测量。
虽然今天是端午节房间的第一天,但是全组人员没有一人因为放
假而缺勤迟到,大家都在为测量付出自己的努力。2012年6月23日 星期六 天气 晴
今天是端午节放假的第二天,也是正式的端午节。因此,本组组长在征得大家的意见和建议之后,决定让大家下午放假半天。在上午,我们发现昨日测出的几个控制点的高程有误。部分人员进行了返工,力求测量准确。同时,我们也用经纬仪用测回法测内角二测回,并努力保证测点上、下半测回角值不得大于40?,且角度闭合差不得大于?60?*n。2012年6月24日 星期日 天气 晴
经过昨天的角度测量,我们严重发现,角度闭合差极大,已经可以用度来作为单位,为了之后的碎部测量的可行性和地图绘制的准确性,我们不得不再次进行返工。不过,值得庆幸的是,高差闭合差已经达到数据要求。同时,测绘专业的同学决定将全站仪借用给我们。于是,经历一个上午的大家的辛苦测量,以及高科技全站仪的帮助下,使我们返工落下的进度又赶了回来。在此,我也终于体会到理论与实际的差距。原来要搞好测量,只懂得理论是圆圆不够的。
2012年6月25日 星期一 天气 阵雨
今天很是悲剧的下了一场雨,使得我们的测量进度又往后拖了一步。同时,地图的绘制也出现了不小的问题,大体控制点已经找好,但是碎步测量的测点在地图上表示出来的误差还是有点大。不过正好利用这场雨,让大家好好休息,养精蓄锐,为明天的测量做准备。2012年6月26日 星期二 天气 雨
今天虽然依旧在下雨,但工作进度已经不容许我们组继续拖下去了。因此,我们冒雨进行了碎部测量并用皮尺在一些碎部点测距。围着整个一教楼到处跑,还有好多蚊子。不得不感慨,测量学真是一门艰苦的职业啊!2012年6月27日 星期三 天气 晴
今天终于见到了久违的阳光。我们依旧进行的是碎部测量。地图绘制的同学,能够轻易地读出我们碎部点的平面位置。这也让我们测量的同学的辛苦劳作没有白费。对于一教楼的不熟悉以及施工带来的不便。我们只得一边测量一边对建筑物轮廓进行修改。地图绘制的图纸也不得不换一张重画。不过,我们也一天天努力着,进步着。2012年6月28日 星期四 天气 晴
今天,差不多已经进行到测量的收尾工作了,我们仍然测着碎部点。特别是那些拐点,着实让我们测量的同学辛苦了一番。地图的全貌已经快出来了,并且数据的校验与处理,基本上也都没什么问题。大伙儿都感到努力的成果没有白费。2012年6月29日 星期五 天气 晴
今天上午,我们大家呆在寝室整理测算的数据。直到下午三点,到归还仪器的时间了。终于经过了约两周的时间,要给这些陪着我们日晒风吹的仪器说再见了。这也宣告着我们的测量实习的日子,已经结束了。
遗憾的是我们损坏了一个皮尺,陪了40元。t t… 工程测量心得体会
此次专业的为期两个星期的工程测量就结束了。我们也着实体验了搞测量的前辈们的艰辛,明白了工程测量的路原来还有很长要走。
这次的测量仪器使用的是光学经纬仪和水准仪,引来了同学们的不少抱怨的声音。虽然比起电子仪器显得有点落伍,但这同时也是考验我们测量水平的一个重要方面。经过对仪器的使用,我也对经纬仪,水准仪更加熟悉了。
六月的重庆,完全可以用烈日炎炎来形容。我们顶着烈日做着测量。虽然条件,环境都较为恶劣。但大家都没有叫苦叫累,也没人中途退缩。我也从中明白团队合作组员间的相互理解和信任的默契,才能使测量事半功倍,才是按时完成测量任务的重要保证。这同时也是对我们吃苦耐劳,不畏困难的品质的一种锻炼。我还明白了,在数据处理,计算的时候,一定要认真谨慎,不得马虎。特别是今后,一旦踏上工作岗位,稍有一个偏差,后果不堪设想。对待凡事,都要认真细致地处理。
我很开心学校给我这样的一次实习机会,它至少能让我以后走上工作岗位不会对测量学一无所知。同时也使我的意志品质得到了锻炼。
最后,感谢邓明镜老师的测量实习的指导以及同组成员的互相帮助。这将使我大学生活乃至今后人生中一段宝贵的财富。篇三:测绘学习心得
学习测绘规范
1、进行数字化测图时,当测区较大或有条件时,可在测区内按自然带状地物(如街道线、河沿线)为边界线构成分区界限,分成若干相对独立的分区。
2、当地物跨越不同分区时,该地物应在某一分区内采集完成。
3、具有多种属性的线状要素(重合),只可采集一次,地类界与线状地物重合时,按线状地物采集。
4、采集线状地物时,应适当增加地物点的密度,保证曲线的准确拟合。
5、同时进行碎步测量和控制测量时,碎步点坐标应以平差后控制点坐标计算得到的。
6、文字注记:字头朝北,注记道路河流时,随线状弯曲方向排列。
7、等高线注记:字头应该指向山顶或高地,但字头不宜指向图纸的下方。
8、数字化测图提交检查验收资料有:
1、技术设计书,技术总结。
2、数据文件包括图廓内外整饰信息文件,元数据文件等。
3、输出的检查图。
4、技术规定或技术设计规定的其他资料。
5、检查报告。
9、上交资料:
1、技术设计书。
2、测图控制点展点图,水准路线图,埋石点点之记,控制点平差计算成果表。
3、地形图数据文件、元数据文件等各种数据文件。
4、输出的地形图。
5、产品检查报告、产品验收报告、技术总结报告。
10、上交资料满足的要求:即时性、一致性、完整性、可读性、真实性。
11、测绘技术设计方案内容:
1、软硬件环境及其要求。
2、作业的技术路线和流程。
3、各工序的作业方法,技术指标和要求。
4、生产过程中的质量控制环节和产品质量检查的主要要求。
5、数据安全备份或其他特殊的技术要求。
6、上交和归档成果及其资料的内容和要求。
7、有关附录,包括设计附图、附表和其他有关内容。
12、设计评审:评审依据、评审目的、评审内容、评审方式和评审人员等。
13、点、线、面状要素属性表中:字段名、字段类型、字段长、字段顺序、属性与属性值均应正确无误。
14、地形图分幅:绘图处理—标准图幅—图名、人员名、图表名—点击左上角—点击右下角—确定—修改
15、水准仪规格:如ds1,1表示每千米水准测量往返测高差中数的中误差为1mm。
16、经纬仪规格:如dj2,2表示野外一测回方向观测中误差为2秒。
17、一个项目的技术工作前需要了解的:①测区地点、面积,为什么要测量?;②什么测绘种类是地形测绘、工程测量、地籍测量还是房产测量?③多大的工作量?要什么成果物?④项目验收要求及成果清单(什么测绘种类?等级?数量?精度要求等等)。
第二篇:基于MATLAB的策略回测
%% 简介:系统基于布林通道原理,是一个趋势追踪系统。% 入场条件:
%
ROC大于0且价格突破布林带上轨就开多仓; %
ROC小于0且价格跌破布林带下轨就开空仓; % 关键参数:
%
买卖滑点参数Slip %
布林带的周期数BollLength; %
布林带标准差的倍数Offset;%
ROC的周期数ROCLength;
%
跟踪止损算法的周期数ExitLength;
%%--提取数据--user=input('请输入数据库用户名:','s');password=input('请输入数据库密码:','s');commodity=input('请输入商品(如RB888):','s');Freq=input('请输入周期(如M5):','s');conna=database('Futures_matlab',user,password);cursor=exec(conna,strcat('select * from ',32,commodity,'_',Freq));%32是指空格的ASCLL码 cursor=fetch(cursor);data=cursor.Data;Date=datenum(data(:,1));
%日期时间 Open=cell2mat(data(:,2));
%开盘价 High=cell2mat(data(:,3));
%最高价 Low=cell2mat(data(:,4));
%最低价 Close=cell2mat(data(:,5));
%收盘价 Volume=cell2mat(data(:,6));
%成交量 OpenInterest=cell2mat(data(:,7));
%持仓量
%%--定义参数(常量)--
%策略参数
Slip=2;
%滑点
BollLength=50;
%布林线长度
Offset=1.25;
%布林线标准差倍数 ROCLength=30;
%ROC的周期数
%品种参数
MinMove=1;
%商品的最小变动量 PriceScale=1;
%商品的计数单位 TradingUnits=10;
%交易单位 Lots=1;
%交易手数 MarginRatio=0.07;
%保证金率
TradingCost=0.0003;
%交易费用设为成交金额的万分之三 RiskLess=0.035;
%无风险收益率(计算夏普比率时需要)
%%--定义变量--
%策略变量
UpperLine=zeros(length(data),1);
%上轨 LowerLine=zeros(length(data),1);
%下轨 MidLine=zeros(length(data),1);
%中间线
Std=zeros(length(data),1);
%标准差序列 RocValue=zeros(length(data),1);
%ROC值
%交易记录变量
MyEntryPrice=zeros(length(data),1);
%买卖价格
MarketPosition=0;
%仓位状态,-1表示持有空头,0表示无持仓,1表示持有多头
pos=zeros(length(data),1);
%记录仓位情况,-1表示持有空头,0表示无持仓,1表示持有多头
Type=zeros(length(data),1);
%买卖类型,1标示多头,-1标示空头 OpenPosPrice=zeros(length(data),1);
%记录建仓价格 ClosePosPrice=zeros(length(data),1);
%记录平仓价格
OpenPosNum=0;
%建仓价格序号 ClosePosNum=0;
%平仓价格序号 OpenDate=zeros(length(data),1);
%建仓时间 CloseDate=zeros(length(data),1);
%平仓时间 NetMargin=zeros(length(data),1);
%净利
CumNetMargin=zeros(length(data),1);
%累计净利 RateOfReturn=zeros(length(data),1);
%收益率
CumRateOfReturn=zeros(length(data),1);
%累计收益率 CostSeries=zeros(length(data),1);
%记录交易成本 BackRatio=zeros(length(data),1);
%记录回测比例
%记录资产变化变量
LongMargin=zeros(length(data),1);
%多头保证金 ShortMargin=zeros(length(data),1);
%空头保证金
Cash=repmat(1e6,length(data),1);
%可用资金,初始资金为10W DynamicEquity=repmat(1e6,length(data),1);
%动态权益,初始资金为10W StaticEquity=repmat(1e6,length(data),1);
%静态权益,初始资金为10W
%%--计算布林带和ROC--[UpperLine MidLine LowerLine]=BOLL(Close,BollLength,Offset,0);RocValue=ROC(Close,ROCLength);
%%--策略仿真--
for i=BollLength:length(data)
if MarketPosition==0
LongMargin(i)=0;
%多头保证金
ShortMargin(i)=0;
%空头保证金
StaticEquity(i)=StaticEquity(i-1);
%静态权益
DynamicEquity(i)=StaticEquity(i);
%动态权益
Cash(i)=DynamicEquity(i);
%可用资金
end
if MarketPosition==1
LongMargin(i)=Close(i)*Lots*TradingUnits*MarginRatio;
StaticEquity(i)=StaticEquity(i-1);
DynamicEquity(i)=StaticEquity(i)+(Close(i)-OpenPosPrice(OpenPosNum))*TradingUnits*Lots;
Cash(i)=DynamicEquity(i)-LongMargin(i);
end
if MarketPosition==-1
ShortMargin(i)=Close(i)*Lots*TradingUnits*MarginRatio;
StaticEquity(i)=StaticEquity(i-1);
DynamicEquity(i)=StaticEquity(i)+(OpenPosPrice(OpenPosNum)-Close(i))*TradingUnits*Lots;
Cash(i)=DynamicEquity(i)-ShortMargin(i);
end
%开仓模块
%开多头
if MarketPosition~=1 && RocValue(i-1)>0 && High(i)>=UpperLine(i-1)
%用i-1,避免未来函数
%平空开多
if MarketPosition==-1
MarketPosition=1;
ShortMargin(i)=0;
%平空后空头保证金为0了
MyEntryPrice(i)=UpperLine(i-1);
if Open(i)>MyEntryPrice(i)
%考虑是否跳空
MyEntryPrice(i)=Open(i);
end
MyEntryPrice(i)=MyEntryPrice(i)+Slip*MinMove*PriceScale;%建仓价格(也是平空仓的价格)
ClosePosNum=ClosePosNum+1;
ClosePosPrice(ClosePosNum)=MyEntryPrice(i);%记录平仓价格
CloseDate(ClosePosNum)=Date(i);%记录平仓时间
OpenPosNum=OpenPosNum+1;
OpenPosPrice(OpenPosNum)=MyEntryPrice(i);%记录开仓价格
OpenDate(OpenPosNum)=Date(i);%记录开仓时间
Type(OpenPosNum)=1;
%方向为多头
StaticEquity(i)=StaticEquity(i-1)+(OpenPosPrice(OpenPosNum-1)-ClosePosPrice(ClosePosNum))...*TradingUnits*Lots-OpenPosPrice(OpenPosNum-1)*TradingUnits*Lots*TradingCost...-ClosePosPrice(ClosePosNum)*TradingUnits*Lots*TradingCost;%平空仓时的静态权益
DynamicEquity(i)=StaticEquity(i)+(Close(i)-OpenPosPrice(OpenPosNum))*TradingUnits*Lots;
end
%空仓开多
if MarketPosition==0
MarketPosition=1;
MyEntryPrice(i)=UpperLine(i-1);
if Open(i)>MyEntryPrice(i)
%考虑是否跳空
MyEntryPrice(i)=Open(i);
end
MyEntryPrice(i)=MyEntryPrice(i)+Slip*MinMove*PriceScale;%建仓价格
OpenPosNum=OpenPosNum+1;
OpenPosPrice(OpenPosNum)=MyEntryPrice(i);%记录开仓价格
OpenDate(OpenPosNum)=Date(i);%记录开仓时间
Type(OpenPosNum)=1;
%方向为多头
StaticEquity(i)=StaticEquity(i-1);
DynamicEquity(i)=StaticEquity(i)+(Close(i)-OpenPosPrice(OpenPosNum))*TradingUnits*Lots;
end
LongMargin(i)=Close(i)*Lots*TradingUnits*MarginRatio;
%多头保证金
Cash(i)=DynamicEquity(i)-LongMargin(i);
end
%开空头
%平多开空
if MarketPosition~=-1 && RocValue(i-1)<0 && Low(i)<=LowerLine(i-1)
if MarketPosition==1
MarketPosition=-1;
LongMargin(i)=0;
%平多后多头保证金为0了
MyEntryPrice(i)=LowerLine(i-1);
if Open(i) MyEntryPrice(i)=Open(i); end MyEntryPrice(i)=MyEntryPrice(i)-Slip*MinMove*PriceScale;%建仓价格(也是平多仓的价格) ClosePosNum=ClosePosNum+1; ClosePosPrice(ClosePosNum)=MyEntryPrice(i);%记录平仓价格 CloseDate(ClosePosNum)=Date(i);%记录平仓时间 OpenPosNum=OpenPosNum+1; OpenPosPrice(OpenPosNum)=MyEntryPrice(i);%记录开仓价格 OpenDate(OpenPosNum)=Date(i);%记录开仓时间 Type(OpenPosNum)=-1; %方向为空头 StaticEquity(i)=StaticEquity(i-1)+(ClosePosPrice(ClosePosNum)-OpenPosPrice(OpenPosNum-1))...*TradingUnits*Lots-OpenPosPrice(OpenPosNum-1)*TradingUnits*Lots*TradingCost...-ClosePosPrice(ClosePosNum)*TradingUnits*Lots*TradingCost;%平多仓时的静态权益,算法参考TB DynamicEquity(i)=StaticEquity(i)+(OpenPosPrice(OpenPosNum)-Close(i))*TradingUnits*Lots; end %空仓开空 if MarketPosition==0 MarketPosition=-1; MyEntryPrice(i)=LowerLine(i-1); if Open(i) MyEntryPrice(i)=Open(i); end MyEntryPrice(i)=MyEntryPrice(i)-Slip*MinMove*PriceScale; OpenPosNum=OpenPosNum+1; OpenPosPrice(OpenPosNum)=MyEntryPrice(i); OpenDate(OpenPosNum)=Date(i);%记录开仓时间 Type(OpenPosNum)=-1; %方向为空头 StaticEquity(i)=StaticEquity(i-1); DynamicEquity(i)=StaticEquity(i)+(OpenPosPrice(OpenPosNum)-Close(i))*TradingUnits*Lots; end ShortMargin(i)=Close(i)*Lots*TradingUnits*MarginRatio; Cash(i)=DynamicEquity(i)-ShortMargin(i); end %如果最后一个Bar有持仓,则以收盘价平掉 if i==length(data) %平多 if MarketPosition==1 MarketPosition=0; LongMargin(i)=0; ClosePosNum=ClosePosNum+1; ClosePosPrice(ClosePosNum)=Close(i);%记录平仓价格 CloseDate(ClosePosNum)=Date(i);%记录平仓时间 StaticEquity(i)=StaticEquity(i-1)+(ClosePosPrice(ClosePosNum)-OpenPosPrice(OpenPosNum))...*TradingUnits*Lots-OpenPosPrice(OpenPosNum)*TradingUnits*Lots*TradingCost...-ClosePosPrice(ClosePosNum)*TradingUnits*Lots*TradingCost;%平多仓时的静态权益,算法参考TB DynamicEquity(i)=StaticEquity(i);%空仓时动态权益和静态权益相等 Cash(i)=DynamicEquity(i);%空仓时可用资金等于动态权益 end %平空 if MarketPosition==-1 MarketPosition=0; ShortMargin(i)=0; ClosePosNum=ClosePosNum+1; ClosePosPrice(ClosePosNum)=Close(i); CloseDate(ClosePosNum)=Date(i); StaticEquity(i)=StaticEquity(i-1)+(OpenPosPrice(OpenPosNum)-ClosePosPrice(ClosePosNum))...*TradingUnits*Lots-OpenPosPrice(OpenPosNum)*TradingUnits*Lots*TradingCost...-ClosePosPrice(ClosePosNum)*TradingUnits*Lots*TradingCost;%平空仓时的静态权益,算法参考TB DynamicEquity(i)=StaticEquity(i);%空仓时动态权益和静态权益相等 Cash(i)=DynamicEquity(i);%空仓时可用资金等于动态权益 end end pos(i)=MarketPosition;end %%-绩效计算-- RecLength=ClosePosNum;%记录交易长度 %净利润和收益率 for i=1:RecLength %交易成本(建仓+平仓) CostSeries(i)=OpenPosPrice(i)*TradingUnits*Lots*TradingCost+ClosePosPrice(i)*TradingUnits*Lots*TradingCost; %净利润 %多头建仓时 if Type(i)==1 NetMargin(i)=(ClosePosPrice(i)-OpenPosPrice(i))*TradingUnits*Lots-CostSeries(i); end %空头建仓时 if Type(i)==-1 NetMargin(i)=(OpenPosPrice(i)-ClosePosPrice(i))*TradingUnits*Lots-CostSeries(i); end %收益率 RateOfReturn(i)=NetMargin(i)/(OpenPosPrice(i)*TradingUnits*Lots*MarginRatio);end %累计净利 CumNetMargin=cumsum(NetMargin); %累计收益率 CumRateOfReturn=cumsum(RateOfReturn); %回撤比例 for i=1:length(data) c=max(DynamicEquity(1:i)); if c==DynamicEquity(i) BackRatio(i)=0; else BackRatio(i)=(DynamicEquity(i)-c)/c; end end %日收益率 Daily=Date(hour(Date)==9 & minute(Date)==0 & second(Date)==0);DailyEquity=DynamicEquity(hour(Date)==9 & minute(Date)==0 & second(Date)==0);DailyRet=tick2ret(DailyEquity); %周收益率 WeeklyNum=weeknum(Daily); %weeknum返回是一年的第几周 Weekly=[Daily((WeeklyNum(1:end-1)-WeeklyNum(2:end))~=0);Daily(end)];WeeklyEquity=[DailyEquity((WeeklyNum(1:end-1)-WeeklyNum(2:end))~=0);DailyEquity(end)];WeeklyRet=tick2ret(WeeklyEquity); %月收益率 MonthNum=month(Daily);Monthly=[Daily((MonthNum(1:end-1)-MonthNum(2:end))~=0);Daily(end)];MonthlyEquity=[DailyEquity((MonthNum(1:end-1)-MonthNum(2:end))~=0);DailyEquity(end)];MonthlyRet=tick2ret(MonthlyEquity); %年收益率 YearNum=year(Daily);Yearly=[Daily((YearNum(1:end-1)-YearNum(2:end))~=0);Daily(end)];YearlyEquity=[DailyEquity((YearNum(1:end-1)-YearNum(2:end))~=0);DailyEquity(end)];YearlyRet=tick2ret(YearlyEquity); %% 自动创建测试报告(输出到excel)%% 输出交易汇总 xlswrite('E:数量化金融程序化交易测试报告.xls',{'统计指标'},'交易汇总','A1');xlswrite('E:数量化金融程序化交易测试报告.xls',{'全部交易'},'交易汇总','B1');xlswrite('E:数量化金融程序化交易测试报告.xls',{'多头'},'交易汇总','C1');xlswrite('E:数量化金融程序化交易测试报告.xls',{'空头'},'交易汇总','D1'); %净利润 ProfitTotal=sum(NetMargin);ProfitLong=sum(NetMargin(Type==1));ProfitShort=sum(NetMargin(Type==-1));xlswrite('E:数量化金融程序化交易测试报告.xls',{'净利润'},'交易汇总','A2');xlswrite('E:数量化金融程序化交易测试报告.xls',ProfitTotal,'交易汇总','B2');xlswrite('E:数量化金融程序化交易测试报告.xls',ProfitLong,'交易汇总','C2');xlswrite('E:数量化金融程序化交易测试报告.xls',ProfitShort,'交易汇总','D2'); %总盈利 WinTotal=sum(NetMargin(NetMargin>0));ans=NetMargin(Type==1);WinLong=sum(ans(ans>0));ans=NetMargin(Type==-1);WinShort=sum(ans(ans>0));xlswrite('E:数量化金融程序化交易测试报告.xls',{'总盈利'},'交易汇总','A3');xlswrite('E:数量化金融程序化交易测试报告.xls',WinTotal,'交易汇总','B3');xlswrite('E:数量化金融程序化交易测试报告.xls',WinLong,'交易汇总','C3');xlswrite('E:数量化金融程序化交易测试报告.xls',WinShort,'交易汇总','D3'); %总亏损 LoseTotal=sum(NetMargin(NetMargin<0));ans=NetMargin(Type==1);LoseLong=sum(ans(ans<0));ans=NetMargin(Type==-1);LoseShort=sum(ans(ans<0));xlswrite('E:数量化金融程序化交易测试报告.xls',{'总亏损'},'交易汇总','A4');xlswrite('E:数量化金融程序化交易测试报告.xls',LoseTotal,'交易汇总','B4');xlswrite('E:数量化金融程序化交易测试报告.xls',LoseLong,'交易汇总','C4');xlswrite('E:数量化金融程序化交易测试报告.xls',LoseShort,'交易汇总','D4'); %总盈利/总亏损 WinTotalDLoseTotal=abs(WinTotal/LoseTotal);WinLongDLoseLong=abs(WinLong/LoseLong);WinShortDLoseShort=abs(WinShort/LoseShort);xlswrite('E:数量化金融程序化交易测试报告.xls',{'总盈利/总亏损'},'交易汇总','A5');xlswrite('E:数量化金融程序化交易测试报告.xls',WinTotalDLoseTotal,'交易汇总','B5');xlswrite('E:数量化金融程序化交易测试报告.xls',WinLongDLoseLong,'交易汇总','C5');xlswrite('E:数量化金融程序化交易测试报告.xls',WinShortDLoseShort,'交易汇总','D5'); %交易手数 LotsTotal=length(Type(Type~=0))*Lots;LotsLong=length(Type(Type==1))*Lots;LotsShort=length(Type(Type==-1))*Lots;xlswrite('E:数量化金融程序化交易测试报告.xls',{'交易手数'},'交易汇总','A7');xlswrite('E:数量化金融程序化交易测试报告.xls',LotsTotal,'交易汇总','B7');xlswrite('E:数量化金融程序化交易测试报告.xls',LotsLong,'交易汇总','C7');xlswrite('E:数量化金融程序化交易测试报告.xls',LotsShort,'交易汇总','D7'); %盈利手数 LotsWinTotal=length(NetMargin(NetMargin>0))*Lots;ans=NetMargin(Type==1);LotsWinLong=length(ans(ans>0))*Lots;ans=NetMargin(Type==-1);LotsWinShort=length(ans(ans>0))*Lots;xlswrite('E:数量化金融程序化交易测试报告.xls',{'盈利手数'},'交易汇总','A8');xlswrite('E:数量化金融程序化交易测试报告.xls',LotsWinTotal,'交易汇总','B8');xlswrite('E:数量化金融程序化交易测试报告.xls',LotsWinLong,'交易汇总','C8');xlswrite('E:数量化金融程序化交易测试报告.xls',LotsWinShort,'交易汇总','D8'); %亏损手数 LotsLoseTotal=length(NetMargin(NetMargin<0))*Lots;ans=NetMargin(Type==1);LotsLoseLong=length(ans(ans<0))*Lots;ans=NetMargin(Type==-1);LotsLoseShort=length(ans(ans<0))*Lots;xlswrite('E:数量化金融程序化交易测试报告.xls',{'亏损手数'},'交易汇总','A9');xlswrite('E:数量化金融程序化交易测试报告.xls',LotsLoseTotal,'交易汇总','B9');xlswrite('E:数量化金融程序化交易测试报告.xls',LotsLoseLong,'交易汇总','C9');xlswrite('E:数量化金融程序化交易测试报告.xls',LotsLoseShort,'交易汇总','D9'); %持平手数 ans=NetMargin(Type==1);LotsDrawLong=length(ans(ans==0))*Lots;ans=NetMargin(Type==-1);LotsDrawShort=length(ans(ans==0))*Lots;LotsDrawTotal=LotsDrawLong+LotsDrawShort;xlswrite('E:数量化金融程序化交易测试报告.xls',{'持平手数'},'交易汇总','A10');xlswrite('E:数量化金融程序化交易测试报告.xls',LotsDrawTotal,'交易汇总','B10');xlswrite('E:数量化金融程序化交易测试报告.xls',LotsDrawLong,'交易汇总','C10');xlswrite('E:数量化金融程序化交易测试报告.xls',LotsDrawShort,'交易汇总','D10'); %盈利比率 LotsWinTotalDLotsTotal=LotsWinTotal/LotsTotal;LotsWinLongDLotsLong=LotsWinLong/LotsLong;LotsWinShortDLotsShort=LotsWinShort/LotsShort;xlswrite('E:数量化金融程序化交易测试报告.xls',{'盈利比率'},'交易汇总','A11');xlswrite('E:数量化金融程序化交易测试报告.xls',LotsWinTotalDLotsTotal,'交易汇总','B11');xlswrite('E:数量化金融程序化交易测试报告.xls',LotsWinLongDLotsLong,'交易汇总','C11');xlswrite('E:数量化金融程序化交易测试报告.xls',LotsWinShortDLotsShort,'交易汇总','D11'); %平均利润 xlswrite('E:数量化金融程序化交易测试报告.xls',{'平均利润(净利润/交易手数)'},'交易汇总','A13');xlswrite('E:数量化金融程序化交易测试报告.xls',ProfitTotal/LotsTotal,'交易汇总','B13');xlswrite('E:数量化金融程序化交易测试报告.xls',ProfitLong/LotsLong,'交易汇总','C13');xlswrite('E:数量化金融程序化交易测试报告.xls',ProfitShort/LotsShort,'交易汇总','D13'); %平均盈利 xlswrite('E:数量化金融程序化交易测试报告.xls',{'平均盈利(总盈利金额/盈利交易手数)'},'交易汇总','A14');xlswrite('E:数量化金融程序化交易测试报告.xls',WinTotal/LotsWinTotal,'交易汇总','B14');xlswrite('E:数量化金融程序化交易测试报告.xls',WinLong/LotsWinLong,'交易汇总','C14');xlswrite('E:数量化金融程序化交易测试报告.xls',WinShort/LotsWinShort,'交易汇总','D14'); %平均亏损 xlswrite('E:数量化金融程序化交易测试报告.xls',{'平均亏损(总亏损金额/亏损交易手数)'},'交易汇总','A15');xlswrite('E:数量化金融程序化交易测试报告.xls',LoseTotal/LotsLoseTotal,'交易汇总','B15');xlswrite('E:数量化金融程序化交易测试报告.xls',LoseLong/LotsLoseLong,'交易汇总','C15');xlswrite('E:数量化金融程序化交易测试报告.xls',LoseShort/LotsLoseShort,'交易汇总','D15'); %平均盈利/平均亏损 xlswrite('E:数量化金融程序化交易测试报告.xls',{'平均盈利/平均亏损'},'交易汇总','A16');xlswrite('E:数量化金融程序化交易测试报告.xls',abs((WinTotal/LotsWinTotal)/(LoseTotal/LotsLoseTotal)),'交易汇总','B16');xlswrite('E:数量化金融程序化交易测试报告.xls',abs((WinLong/LotsWinLong)/(LoseLong/LotsLoseLong)),'交易汇总','C16');xlswrite('E:数量化金融程序化交易测告.xls',abs((WinShort/LotsWinShort)/(LoseShort/LotsLoseShort)),'交易汇总','D16'); %最大盈利 MaxWinTotal=max(NetMargin(NetMargin>0));ans=NetMargin(Type==1);MaxWinLong=max(ans(ans>0));ans=NetMargin(Type==-1);MaxWinShort=max(ans(ans>0)); 试报xlswrite('E:数量化金融程序化交易测试报告.xls',{'最大盈利'},'交易汇总','A18');xlswrite('E:数量化金融程序化交易测试报告.xls',MaxWinTotal,'交易汇总','B18');xlswrite('E:数量化金融程序化交易测试报告.xls',MaxWinLong,'交易汇总','C18');xlswrite('E:数量化金融程序化交易测试报告.xls',MaxWinShort,'交易汇总','D18'); %最大亏损 MaxLoseTotal=min(NetMargin(NetMargin<0));ans=NetMargin(Type==1);MaxLoseLong=min(ans(ans<0));ans=NetMargin(Type==-1);MaxLoseShort=min(ans(ans<0));xlswrite('E:数量化金融程序化交易测试报告.xls',{'最大亏损'},'交易汇总','A19');xlswrite('E:数量化金融程序化交易测试报告.xls',MaxLoseTotal,'交易汇总','B19');xlswrite('E:数量化金融程序化交易测试报告.xls',MaxLoseLong,'交易汇总','C19');xlswrite('E:数量化金融程序化交易测试报告.xls',MaxLoseShort,'交易汇总','D19'); %最大盈利/总盈利 xlswrite('E:数量化金融程序化交易测试报告.xls',{'最大盈利/总盈利'},'交易汇总','A20');xlswrite('E:数量化金融程序化交易测试报告.xls',MaxWinTotal/WinTotal,'交易汇总','B20');xlswrite('E:数量化金融程序化交易测试报告.xls',MaxWinLong/WinLong,'交易汇总','C20');xlswrite('E:数量化金融程序化交易测试报告.xls',MaxWinShort/WinShort,'交易汇总','D20'); %最大亏损/总亏损 xlswrite('E:数量化金融程序化交易测试报告.xls',{'最大亏损/总亏损'},'交易汇总','A21');xlswrite('E:数量化金融程序化交易测试报告.xls',MaxLoseTotal/LoseTotal,'交易汇总','B21');xlswrite('E:数量化金融程序化交易测试报告.xls',MaxLoseLong/LoseLong,'交易汇总','C21');xlswrite('E:数量化金融程序化交易测试报告.xls',MaxLoseShort/LoseShort,'交易汇总','D21'); %净利润/最大亏损 xlswrite('E:数量化金融程序化交易测试报告.xls',{'净利润/最大亏损'},'交易汇总','A22');xlswrite('E:数量化金融程序化交易测试报告.xls',ProfitTotal/MaxLoseTotal,'交易汇总','B22');xlswrite('E:数量化金融程序化交易测试报告.xls',ProfitLong/MaxLoseLong,'交易汇总','C22');xlswrite('E:数量化金融程序化交易测试报告.xls',ProfitShort/MaxLoseShort,'交易汇总','D22'); %最大使用资金 xlswrite('E:数量化金融程序化交易测试报告.xls',{'最大使用资金'},'交易汇总','A24');xlswrite('E:数量化金融程序化交易测试报告.xls',max(max(LongMargin),max(ShortMargin)),'交易汇总','B24');xlswrite('E:数量化金融程序化交易测试报告.xls',max(LongMargin),'交易汇总','C24');xlswrite('E:数量化金融程序化交易测试报告.xls',max(ShortMargin),'交易汇总','D24'); %交易成本合计 CostTotal=sum(CostSeries);ans=CostSeries(Type==1);CostLong=sum(ans);ans=CostSeries(Type==-1);CostShort=sum(ans);xlswrite('E:数量化金融程序化交易测试报告.xls',{'交易成本合计'},'交易汇总','A25');xlswrite('E:数量化金融程序化交易测试报告.xls',CostTotal,'交易汇总','B25');xlswrite('E:数量化金融程序化交易测试报告.xls',CostLong,'交易汇总','C25');xlswrite('E:数量化金融程序化交易测试报告.xls',CostShort,'交易汇总','D25'); %测试时间范围 xlswrite('E:数量化金融程序化交易测试报告.xls',{'测试时间范围'},'交易汇总','F2');xlswrite('E:数量化金融程序化交易测试报告.xls',cellstr(strcat(datestr(Date(1),'yyyy-mm-dd HH:MM:SS'),'-',datestr(Date(end),'yyyy-mm-dd HH:MM:SS'))),'交易汇总','G2'); %总交易时间 xlswrite('E:数量化金融程序化交易测试报告.xls',{'测试天数'},'交易汇总','F3');xlswrite('E:数量化金融程序化交易测试报告.xls',round(Date(end)-Date(1)),'交易汇总','G3'); %持仓时间比例 xlswrite('E:数量化金融程序化交易测试报告.xls',{'持仓时间比例'},'交易汇总','F4');xlswrite('E:数量化金融程序化交易测试报告.xls',length(pos(pos~=0))/length(data),'交易汇总','G4'); %持仓时间 xlswrite('E:数量化金融程序化交易测试报告.xls',{'持仓时间(天)'},'交易汇总','F5');HoldingDays=round(round(Date(end)-Date(1))*(length(pos(pos~=0))/length(data)));%持仓时间 xlswrite('E:数量化金融程序化交易测试报告.xls',HoldingDays,'交易汇总','G5'); %收益率 xlswrite('E:数量化金融程序化交易测试报告.xls',{'收益率(%)'},'交易汇总','F7');xlswrite('E:数量化金融程序化交易测试报告.xls',(DynamicEquity(end)-DynamicEquity(1))/DynamicEquity(1)*100,'交易汇总','G7'); %有效收益率 xlswrite('E:数量化金融程序化交易测试报告.xls',{'有效收益率(%)'},'交易汇总','F8');TrueRatOfRet=(DynamicEquity(end)-DynamicEquity(1))/max(max(LongMargin),max(ShortMargin));xlswrite('E:数量化金融程序化交易测试报告.xls',TrueRatOfRet*100,'交易汇总','G8'); %收益率(按365天算)xlswrite('E:数量化金融程序化交易测试报告.xls',{'年化收益率(按365天算,%)'},'交易汇总','F9');xlswrite('E:数量化金融程序化交易测试报告.xls',(1+TrueRatOfRet)^(1/(HoldingDays/365))*100,'交易汇总','G9'); %收益率(按240天算)xlswrite('E:数量化金融程序化交易测试报告.xls',{'收益率(按240天算,%)'},'交易汇总','F10');xlswrite('E:数量化金融程序化交易告.xls',(1+TrueRatOfRet)^(1/(HoldingDays/240))*100,'交易汇总','G10'); 测 试 报%% 收益率(按日算)xlswrite('E:数量化金融程序化交易测试报告.xls',{'收益率(按日算,%)'},'交易汇总','F11');xlswrite('E:数量化金融程序化交易测试报告.xls',mean(DailyRet)*365*100,'交易汇总','G11'); %收益率(按周算)xlswrite('E:数量化金融程序化交易测试报告.xls',{'收益率(按周算,%)'},'交易汇总','F12');xlswrite('E:数量化金融程序化交易测试报告.xls',mean(WeeklyRet)*52*100,'交易汇总','G12'); %收益率(按月算)xlswrite('E:数量化金融程序化交易测试报告.xls',{'收益率(按月算,%)'},'交易汇总','F13');xlswrite('E:数量化金融程序化交易测试报告.xls',mean(MonthlyRet)*12*100,'交易汇总','G13'); %夏普比率(按日算)xlswrite('E:数量化金融程序化交易测试报告.xls',{'夏普比率(按日算,%)'},'交易汇总','F14');xlswrite('E:数量化金融程序化交易测试报告.xls',(mean(DailyRet)*365-RiskLess)/(std(DailyRet)*sqrt(365)),'交易汇总','G14'); %夏普比率(按周算)xlswrite('E:数量化金融程序化交易测试报告.xls',{'夏普比率(按周算,%)'},'交易汇总','F15');xlswrite('E:数量化金融程序化交易测试报告.xls',(mean(WeeklyRet)*52-RiskLess)/(std(WeeklyRet)*sqrt(52)),'交易汇总','G15'); %夏普比率(按月算)xlswrite('E:数量化金融程序化交易测试报告.xls',{'夏普比率(按月算,%)'},'交易汇总','F16');xlswrite('E:数量化金融程序化交易测试报告.xls',(mean(MonthlyRet)*12-RiskLess)/(std(MonthlyRet)*sqrt(12)),'交易汇总','G16'); %最大回撤比例 xlswrite('E:数量化金融程序化交易测试报告.xls',{'最大回撤比例(%)'},'交易汇总','F17');xlswrite('E:数量化金融程序化交易测试报告.xls',abs(min(BackRatio))*100,'交易汇总','G17'); %% 输出交易记录 xlswrite('E:数量化金融程序化交易测试报告.xls',{'#'},'交易记录','A1');xlswrite('E:数量化金融程序化交易测试报告.xls',(1:RecLength)','交易记录','A2');xlswrite('E:数量化金融程序化交易测试报告.xls',{'类型'},'交易记录','B1');xlswrite('E:数量化金融程序化交易测试报告.xls',Type(1:RecLength),'交易记录','B2');xlswrite('E:数量化金融程序化交易测试报告.xls',{'商品'},'交易记录','C1');xlswrite('E:数量化金融程序化交易测试报告.xls',cellstr(repmat(commodity,RecLength,1)),'交易记录','C2');xlswrite('E:数量化金融程序化交易测试报告.xls',{'周期'},'交易记录','D1');xlswrite('E:数量化金融程序化交易测试报告.xls',cellstr(repmat(Freq,RecLength,1)),'交易记录','D2');xlswrite('E:数量化金融程序化交易测试报告.xls',{'建仓时间'},'交易记录','E1');xlswrite('E:数量化金融程序化交易测试报告.xls',cellstr(datestr(OpenDate(1:RecLength),'yyyy-mm-dd HH:MM:SS')),'交易记录','E2');xlswrite('E:数量化金融程序化交易测试报告.xls',{'建仓价格'},'交易记录','F1');xlswrite('E:数量化金融程序化交易测试报告.xls',OpenPosPrice(1:RecLength),'交易记录','F2');xlswrite('E:数量化金融程序化交易测试报告.xls',{'平仓时间'},'交易记录','G1');xlswrite('E:数量化金融程序化交易测试报告.xls',cellstr(datestr(CloseDate(1:RecLength),'yyyy-mm-dd HH:MM:SS')),'交易记录','G2');xlswrite('E:数量化金融程序化交易测试报告.xls',{'平仓价格'},'交易记录','H1');xlswrite('E:数量化金融程序化交易测试报告.xls',ClosePosPrice(1:RecLength),'交易记录','H2');xlswrite('E:数量化金融程序化交易测试报告.xls',{'数量'},'交易记录','I1');xlswrite('E:数量化金融程序化交易测试报告.xls',repmat(Lots,RecLength,1),'交易记录','I2');xlswrite('E:数量化金融程序化交易测试报告.xls',{'交易成本'},'交易记录','J1');xlswrite('E:数量化金融程序化交易测试报告.xls',CostSeries(1:RecLength),'交易记录','J2');xlswrite('E:数量化金融程序化交易测试报告.xls',{'净利'},'交易记录','K1');xlswrite('E:数量化金融程序化交易测试报告.xls',NetMargin(1:RecLength),'交易记录','K2');xlswrite('E:数量化金融程序化交易测试报告.xls',{'累计净利'},'交易记录','L1');xlswrite('E:数量化金融程序化交易测试报告.xls',CumNetMargin(1:RecLength),'交易记录','L2');xlswrite('E:数量化金融程序化交易测试报告.xls',{'收益率'},'交易记录','M1');xlswrite('E:数量化金融程序化交易测试报告.xls',RateOfReturn(1:RecLength),'交易记录','M2');xlswrite('E:数量化金融程序化交易测试报告.xls',{'累计收益率'},'交易记录','N1');xlswrite('E:数量化金融程序化交易测试报告.xls',CumRateOfReturn(1:RecLength),'交易记录','N2');%% 输出资产变化 xlswrite('E:数量化金融程序化交易测试报告.xls',{'资产概要'},'资产变化','A1');xlswrite('E:数量化金融程序化交易测试报告.xls',{'起初资产'},'资产变化','A2');xlswrite('E:数量化金融程序化交易测试报告.xls',StaticEquity(1),'资产变化','A3');xlswrite('E:数量化金融程序化交易测试报告.xls',{'期末资产'},'资产变化','B2');xlswrite('E:数量化金融程序化交易测试报告.xls',StaticEquity(end),'资产变化','B3');xlswrite('E:数量化金融程序化交易测试报告.xls',{'交易盈亏'},'资产变化','C2');xlswrite('E:数量化金融程序化交易测试报告.xls',sum(NetMargin),'资产变化','C3');xlswrite('E:数量化金融程序化交易测试报告.xls',{'最大资产'},'资产变化','D2');xlswrite('E:数量化金融程序化交易测试报告.xls',max(DynamicEquity),'资产变化','D3');%依据TB xlswrite('E:数量化金融程序化交易测试报告.xls',{'最小资产'},'资产变化','E2');xlswrite('E:数量化金融程序化交易测试报告.xls',min(DynamicEquity),'资产变化','E3');xlswrite('E:数量化金融程序化交易测试报告.xls',{'交易成本合计'},'资产变化','F2');xlswrite('E:数量化金融程序化交易测试报告.xls',sum(CostSeries),'资产变化','F3');xlswrite('E:数量化金融程序化交易测试报告.xls',{'资产变化明细'},'资产变化','A5');xlswrite('E:数量化金融程序化交易测试报告.xls',{'Bar#'},'资产变化','A6');xlswrite('E:数量化金融程序化交易测试报告.xls',(1:length(data))','资产变化','A7');xlswrite('E:数量化金融程序化交易测试报告.xls',{'时间'},'资产变化','B6');xlswrite('E:数量化金融程序化交易测试报告.xls',cellstr(datestr(Date,'yyyy-mm-dd HH:MM:SS')),'资产变化','B7');xlswrite('E:数量化金融程序化交易测试报告.xls',{'多头保证金'},'资产变化','C6');xlswrite('E:数量化金融程序化交易测试报告.xls',LongMargin,'资产变化','C7');xlswrite('E:数量化金融程序化交易测试报告.xls',{'空头保证金'},'资产变化','D6');xlswrite('E:数量化金融程序化交易测试报告.xls',ShortMargin,'资产变化','D7');xlswrite('E:数量化金融程序化交易测试报告.xls',{'可用资金'},'资产变化','E6');xlswrite('E:数量化金融程序化交易测试报告.xls',Cash,'资产变化','E7');xlswrite('E:数量化金融程序化交易测试报告.xls',{'动态权益'},'资产变化','F6');xlswrite('E:数量化金融程序化交易测试报告.xls',DynamicEquity,'资产变化','F7');xlswrite('E:数量化金融程序化交易测试报告.xls',{'静态权益'},'资产变化','G6');xlswrite('E:数量化金融程序化交易测试报告.xls',StaticEquity,'资产变化','G7'); %%--图表分析--%画出布林带(部分)figure(1);candle(High(end-150:end),Low(end-150:end),Open(end-150:end),Close(end-150:end),'r');hold on;plot([MidLine(end-150:end)],'k');plot([UpperLine(end-150:end)],'g');plot([LowerLine(end-150:end)],'g');title('布林带(仅部分)');saveas(gcf,'E:数量化金融程序化交易1布林带(仅部分).png');close all;%交易盈亏曲线及累计成本 figure(2);subplot(2,1,1);area(1:RecLength,CumNetMargin(1:RecLength),'FaceColor','g');axis([1 RecLength min(CumNetMargin(1:RecLength))max(CumNetMargin(1:RecLength))]);xlabel('交易次数');ylabel('交易盈亏(元)');title('交易盈亏曲线'); subplot(2,1,2);plot(CumNetMargin(1:RecLength),'r','LineWidth',2);hold on;plot(cumsum(CostSeries(1:RecLength)),'b','LineWidth',2);axis([1 RecLength min(CumNetMargin(1:RecLength))max(CumNetMargin(1:RecLength))]);xlabel('交易次数');ylabel('交易盈亏及成本(元)');legend('交易盈亏','累计成本','Location','NorthWest');hold off;saveas(gcf,'E:数量化金融程序化交易2交易盈亏曲线.png');close all; %交易盈亏分布图 figure(3)subplot(2,1,1);ans=NetMargin(1:RecLength);%正收益和负收益用不同的颜色表示 ans(ans<0)=0;plot(ans,'r.');hold on;ans=NetMargin(1:RecLength);ans(ans>0)=0;plot(ans,'b.');xlabel('盈亏(元)');ylabel('交易次数');title('交易盈亏分布图'); subplot(2,1,2);hist(NetMargin(1:RecLength),50);h = findobj(gca,'Type','patch');set(h,'FaceColor','r','EdgeColor','w')xlabel('频率');ylabel('盈亏分组');saveas(gcf,'E:数量化金融程序化交易3交易盈亏分布图.png');close all;%权益曲线 figure(4)plot(Date,DynamicEquity,'r','LineWidth',2);hold on;area(Date,DynamicEquity,'FaceColor','g');datetick('x',29);axis([Date(1)Date(end)min(DynamicEquity)max(DynamicEquity)]);xlabel('时间');ylabel('动态权益(元)');title('权益曲线图');hold off;saveas(gcf,'E:数量化金融程序化交易4权益曲线图.png');close all; %仓位及回测比例 figure(5);subplot(2,1,1);plot(Date,pos,'g');datetick('x',29);axis([Date(1)Date(end)min(pos)max(pos)]);xlabel('时间');ylabel('仓位');title('仓位状态(1-多头 0-不持仓-1-空头)'); subplot(2,1,2);plot(Date,BackRatio,'b');datetick('x',29);axis([Date(1)Date(end)min(BackRatio)max(BackRatio)]);xlabel('时间');ylabel('回撤比例');title(strcat('回撤比例(初始资金为:',num2str(DynamicEquity(1)),',开仓比例:',num2str(max(max(LongMargin),max(ShortMargin))/DynamicEquity(1)*100),'%',...',保证金比例:',num2str(MarginRatio*100),'%)'));saveas(gcf,'E:数量化金融程序化交易5仓位及回测比例.png');close all; %多空对比 figure(6)subplot(2,2,1);pie3([LotsWinLong LotsLoseLong],[1 0],{strcat('多头盈利手数:',num2str(LotsWinLong),'手,','占比:',num2str(LotsWinLong/(LotsWinLong+LotsLoseLong)*100),'%')...,strcat('多头亏损手数:',num2str(LotsLoseLong),'手,','占比:',num2str(LotsLoseLong/(LotsWinLong+LotsLoseLong)*100),'%')});subplot(2,2,2);pie3([WinLong abs(LoseLong)],[1 0],{strcat('多头总盈利:',num2str(WinLong),'元,','占比:',num2str(WinLong/(WinLong+abs(LoseLong))*100),'%')...,strcat('多头总亏损:',num2str(abs(LoseLong)),'元,','占比:',num2str(abs(LoseLong)/(WinLong+abs(LoseLong))*100),'%')}); subplot(2,2,3);pie3([LotsWinShort LotsLoseShort],[1 0],{strcat('空头盈利手数:',num2str(LotsWinShort),'手,','占比:',num2str(LotsWinShort/(LotsWinShort+LotsLoseShort)*100),'%')...,strcat('空头亏损手数:',num2str(LotsLoseShort),'手,','占比:',num2str(LotsLoseShort/(LotsWinShort+LotsLoseShort)*100),'%')}); subplot(2,2,4);pie3([WinShort abs(LoseShort)],[1 0],{strcat('空头总盈利:',num2str(WinShort),'元,','占比:',num2str(WinShort/(WinShort+abs(LoseShort))*100),'%')...,strcat('空头总亏损:',num2str(abs(LoseShort)),'元,','占比:',num2str(abs(LoseShort)/(WinShort+abs(LoseShort))*100),'%')});saveas(gcf,'E:数量化金融程序化交易6多空对比饼图.png');close all; %% 收益多周期统计 figure(7);subplot(2,2,1);bar(Daily(2:end),DailyRet,'r','EdgeColor','r');datetick('x',29);axis([min(Daily(2:end))max(Daily(2:end))min(DailyRet)max(DailyRet)]);xlabel('时间');ylabel('日收益率'); subplot(2,2,2);bar(Weekly(2:end),WeeklyRet,'r','EdgeColor','r');datetick('x',29);axis([min(Weekly(2:end))max(Weekly(2:end))min(WeeklyRet)max(WeeklyRet)]);xlabel('时间');ylabel('周收益率'); subplot(2,2,3);bar(Monthly(2:end),MonthlyRet,'r','EdgeColor','r');datetick('x',28);axis([min(Monthly(2:end))max(Monthly(2:end))min(MonthlyRet)max(MonthlyRet)]);xlabel('时间');ylabel('月收益率'); subplot(2,2,4);bar(Yearly(2:end),YearlyRet,'r','EdgeColor','r');datetick('x',10);axis([min(Yearly(2:end))max(Yearly(2:end))min(YearlyRet)max(YearlyRet)]);xlabel('时间');ylabel('年收益率');saveas(gcf,'E:数量化金融程序化交易7收益多周期统计.png');close all; 语言文字法学习心得 秦路华 2001年1月1日,《中华人民共和国国家通用语言文字法》正式施行,标志着我国的国家通用语言文字的使用全面走上了法制的轨道,对于促进祖国统一、民族团结、社会进步意义重大。10年来,围绕贯彻实施该法律,以城市为中心,以学校为基础,以国家机关为龙头,以新闻媒体为榜样,以公共服务行业为窗口,我市的语言文字规范化工作正在稳步推进。 语言文字法施行以来,各级学校积极把普及普通话和规范汉字纳入学校管理常规,采取措施消除使用方言和不规范汉字的落后现象。 近年来,随着普及普通话工作的深入开展和教师持普通话等级证书上岗制度的实施,社会上自愿参加普通话水平测试的人员逐渐增加。2004年起,每年的6月和12月,将定期开展面向社会人员的普通话水平测试工作,从而进一步促进普通话在全社会的普及。 在国家机关,越来越多的工作人员在公务活动中均能自觉使用普通话。对国家公务员进行普通话培训和测试是《国家通用语言文字法》的要求,也是高效执行公务、确保政令畅通、提升城市文明程度的要求。广播电视媒体也是推广普通话的重要阵地,多年来,我市广电部门积极实践这一精神,大力加强对普通话的普及。为了丰富节目形态,体现地域文化特色,更好地贴近生活、贴近百姓,在保持地方特色的同时,推出了一系列的普通话节目,有效地增强了市民的推普意识。规范语言文字需要齐抓共管 《国家通用语言文字法》施行以来,“讲普通话,写规范字”的观念已然深入人心。然而,推进语言文 字的规范化工作并非易事,需要各级各部门的共同努力。 社会用字不规范,不仅有损城市的整体形象,而且对人们的思想,特别是对中小学生的认知会造成不良影响。 为进一步加强社会用字管理工作,市政府要求各单位开展清理整顿城区社会用字工作;团市委也要在全国推广普通话宣传周期间组织青年志愿者上街检查我市户外广告、招牌、标语等规范汉字使用情况,再交由工商、城建等部门进行整顿,以进一步提高我市的精神文明建设和城市管理水平。 国家语委强调,维护语言文字的纯洁、健康,不但是一个国家文明程度的标志,也是关系国家主权和民族尊严的大问题。当前,社会语言应用空前活跃,语言文字作为交际工具的作用日益突出,这种情形下,加大语言文字工作的力度尤为迫切。国家语委有关负责人认为,贯彻实施《国家通用语言文字法》,关键在落实,各级政府和有关部门要真正负起责任,健全语言文字工作机构,及时出台具体的相应法规或实施办法。同时加强对语言文字的管理和监督。由于涉及面广,这项工作不仅要依靠语言文字工作部门,其他部门也必须协同配合,齐抓共管,以举办第八届全国推广普通话宣传周活动为契机,在全社会逐步形成“说普通话,用规范字”的良好风气。 学习《国家语言文字法》心得体会 富源中心学校 高照鑫 我国是一个多民族、多语言、多文种的国家,有56 个民族,共有 70 多种语言,50多种文字。用法律的形式确定普通话和规范汉字作为国家通用语言文字的地位,规定了使用范围。有利于社会适应,有利于民族之间的交往,有利于民族团结,国家统一。把语言文字工作纳入法制轨道,才能适应社会发展的需要,实现科学有效的管理,为纠正社会用语用字混乱的现象,推进语言文字的依法管理提供了基础。 汉字是世界上最古老的文字之一,也是世界上使 用人数最多的文字。汉字的数量很多,总数约 6 万个,常用字约 6000 个。汉字有悠久的历史。目前发现的最 古老的汉字,是距今3400多年前的甲骨文,它们已是很成熟、很发达的文字。据科学家推算,汉字的历史有 5000 年左右。汉字,就是记录汉语的文字。它是我 国各民族团结的纽带,是国家统一的象征,中华文化 的瑰宝。 我们国家幅员辽阔,各地方言复杂,分歧很大,而汉字是超方言的,它打破了地域的局限,为不同地域间的交往发挥了重要的作用。同时,汉字适应汉语的特点,记录和传播了汉民族丰富灿烂的历史文化,保存了大量的文化遗产。今天,汉字在信息处理方面 取得了重大的突破,人们可以在电脑、网络上直接使用汉字处理和传输各种信息,从而显示出它的强大的生命力。汉字不同于英语、俄语等拼音文字,它是一种形、音、义相结合的独特的文字体系。也就是说,一个汉字不仅有一定的形体,有一定的读音,还往往能直接体现一定的意义。因此,我们说汉字是一种意表文字,也有人称意音文字。从字形上说,汉字是一种方块文字,是通过横、竖、撇、点、折等各种不同 的笔画构成的。从形体看,汉字可以分为两大类,一类是独体字,一类是合体字。文字不仅是中华文化的载体,而且本身就是一种灿烂的文化。但在历史发展的潮流中,人们对中国文字传统的写法有所改造,产生了所谓的“现代字”,也就是错别字,这种轻易的 “改写”,使得中国文字失去了她原本的韵味。平时,有很多人为了一时的方便,而把很多字简写;或是不会写的,就用另一个同音的字代替原本的字,这样就可能使原来的句意改变了。 如果细心观察,你将会发现身边的环境中,有很多的错别字。平时,为了简便、节省时间,把“点”字下面的四点水写成提横线,或是把四点水写成 “大”,这是一个什么字呢?在字典上找不到的字,算是一个字吗?这么一简化,变成了一个最新型的现代人发明的字。如果这个简化了的字继续写下去,那么以后中 国文字会变成什么样呢?文字的发展历史是否会被扭曲呢? 走在大街小巷中,你同样可以发现错别字比比皆是。有的是为了广告效益,有的是明显的低级错误。如:舞与伦比,这是一项街舞比赛的标题,有意将 “无”改成“舞”,取之近音,为的是吸引过路人的眼球。又如在同一个地方的两个不同的招牌,居然会有两种不同的写法,虽是同音,但给消费者两种不同的概念。 表面上看,汉字不过是一个符号,指称着对应的事物,但就在这对应背后,还潜伏着中国人的情感、习惯甚至本能。这些情感、习惯、本能,我们可以随意更改吗?汉字它是产生汉字以前,我们远古人对社会的认识结晶,对自然的认识结晶,科学的认识结晶,还有哲学的认识结晶。难道,我们要否定这一切认识结晶吗? 语言文明、文字使用的规范是一个国家、一个民族精神文明状况的重要标志之一。规范、优美的单位名称、招牌、标语、广告牌等是城市文化的组成部分。能否正确书写、使用汉字,对我们的日常生活、工作、人际交往以至发展经济都有着很重要的作用与影响。改革开放以来,我国经济高速发展,政令的畅通、法制的进步、人际交流的增多、市场经济秩序的统一,需要更加规范语言文字的使用,让我们继续努力,深入贯彻《通用语言文字法》,为祖国语言文字的健康 发展贡献自己的一份力量! 2017.10.12 中国武术是享誉全球的一项中国传统技艺,出于好奇,本学期我选修了中国武术,本次主要是学习初级棍法。 在传统的观点里,武术是 富有攻击性的,确实,武术的本来目的是为了战斗,保护家园。然而随着时代的变迁,武术原本的杀伤作用逐步得降低,现在人们学习武术主要为的是强身健体,只有在特定的情况下才会使用来保护自身。所以,现今的武术表演的性质越来越浓。武术的基本定义可概括为:武术是以技击为主要内容,以套路和捕斗的运动形式,注重内外兼修的中国传统体育项目。我们现在所学的基本棍法也是一种套路。 在武术的学习过程中,老师采用的办法是循序渐进的,一点一点地教。先教我们熟悉棍子,滑把,好好感受下棍子的感觉。而后,我们学习最基础的云棍,说实在话棍子到现在我还没弄得很熟,总是会感觉有点生涩。而后的提撩棍很容易就会打着头。再后来的五花棍难度进一步加大了。应该说来棍法最主要的是勤学苦练,我们必须要做的就是反复反复得练,直到把棍子感觉成了自己的手臂一般,当然这不容易。 之前的基本技能都是些手上功夫,武术不仅仅是手上功夫那么简单,他更加注重的是手脚的并用。腿脚就是根,没有根谈不上手上的动作。有一句话叫做落地生根可见下盘的重要性。在学习套路的过程中,老师给我们讲了几个基本的步法:虚步、弓步、马步(也许还有)。初级棍法的教授过程中,老师反复重复了步法的重要性,但是标注总是很难做到的,像我们现在打棍的时候总是会觉得下盘空虚。不过努力练来还是很感觉到身体的进步的。 说到这里不得不提一提武术的健身价值。武术历来就和中医养生、气功养生联系在一起。武术的养生价值已成我为中华民族的一种健身文化,同时它也是东方体育健身的一大派系。武术的健身锻炼方便,对场地要求不高,俗称“拳打卧牛之地”,同时所需器材简单,投入少。另外,武术项目众多,可因人而宜。随着人们的生活水平提高,人们对健身养生的需求也就越来越高,因此,武术的健身养生价值也就越来越得到了体现。 由于课时的限制所以,我们的课程很大程度是一场对武术的体验课,所以,我们其实不必一直局限于肤浅的教学,老师可以抽出一两节课的时间来让我们体会一下扎马步,或者是其他的一些真正武术的基础,按最高的标准来要求大家,如此一来可以更大程度上加深武术在大家内心的印象,这样的时间不需要很多,标准加上种类丰富最好不过。 最后,我希望老师能教出更精彩的课。第三篇:语言文字法学习心得
第四篇:文字法学习心得
第五篇:棍法学习心得