Reference:http://www.principlesofeconometrics.com/poe4/poe4sas_files/chap14.sas
/* file chap14.sas */
/* Set up Information */
/* This code assumes that the SAS data sets for
Principles of Econometics 4e are in the default
directory. */
/* Data sets can be downloaded from
http://www.principlesofeconometrics.com/poe4/poe4sas.htm
See http://www.principlesofeconometrics.com/poe4/usingsas.htm
for SAS code for all chapters in Principles of Econometrics, 4e
Hill, Griffiths and Lim (2011), John Wiley & Sons, Inc.
Copyright C 2012 by R. Carter Hill and Randall C. Campbell
used for "Using SAS for Econometrics"
by R. Carter Hill and Randall C. Campbell (2012)
John Wiley and Sons, Inc. */
options nodate nonumber linesize=78 label;
data returns; * open data set;
set 'returns'; * read returns;
run;
proc contents data=returns position; * examine contents;
run;
options nolabel; * turn off labels;
/* summary statistics using PROC MEANS */
proc means data=returns;
title 'summary statistics for stock returns data';
run;
/* create date variable */
data returns; * open data set;
set returns; * read data;
retain date '1dec87'd; * date variable;
date=intnx('mon',date,1); * update dates;
format date yymmc.; * format for date;
year = 1988 + int((_n_-1)/12); * year;
month = mod(_n_-1, 12) + 1; * month;
run;
proc print data=returns (obs=6);
title 'returns data with date variables';
run;
/* plot series using PROC GPLOT */
symbol1 value=point interpol=join; * symbol for diagram;
proc gplot data=returns;
plot nasdaq*date=1 / hminor=1;
title 'United States: Nasdaq';
run;
plot allords*date=1 / hminor=1;
title 'Australia: All Ordinaries';
run;
plot ftse*date=1 / hminor=1;
title 'United Kingdom: FTSE';
run;
plot nikkei*date=1 / hminor=1;
title 'Japan: Nikkei';
run;
/* generate histograms of returns for each series */
proc univariate data=returns;
var nasdaq;
histogram / normal endpoints=-30 to 30 by 2.5;
title 'United States: Nasdaq';
run;
proc univariate data=returns;
var allords;
histogram / normal endpoints=-20 to 20 by 1;
title 'Australia: All Ordinaries';
run;
proc univariate data=returns;
var ftse;
histogram / normal endpoints=-16 to 20 by 1;
title 'United Kingdom: FTSE';
run;
proc univariate data=returns;
var nikkei;
histogram / normal endpoints=-30 to 30 by 2.5;
title 'Japan: Nikkei';
run;
/* open byd */
data byd; * open data set;
set 'byd'; * read byd;
time = _n_; * time variable;
run;
/* summary statistics */
proc means data=byd;
title 'summary statistics for BYD data';
run;
/* plot series using PROC GPLOT */
symbol1 value=point interpol=join; * symbol for diagram;
proc gplot data=byd;
plot r*time=1 / hminor=1;
title 'BYD returns';
run;
/* regress byd returns on constant and save residuals */
proc autoreg data=byd;
model r = ;
output out=bydout r=ehat;
title 'estimate mean of byd returns and save residuals';
run;
/* create squared residual and its lag for ARCH test */
data bydout; * open data set;
set bydout; * read data;
ehatsq = ehat**2; * squared residuals;
ehatsq1 = lag(ehatsq); * lagged squared residuals;
run;
/* test for ARCH effects */
proc autoreg data=bydout;
model ehatsq = ehatsq1; * auxiliary regression;
title 'test for ARCH effects in byd data';
run;
/* calculate LM test statistic and critical values */
data archtest;
t = 500; * sample size;
q = 1; * # ARCH effects;
rsq = 0.1246; * Regression R-sq;
lm = (t-q)*rsq; * LM test statistic;
chic_95 = cinv(.95,q); * 95% critical value;
chic_99 = cinv(.99,q); * 99% critical value;
pval = 1 - probchi(lm,1); * p-value;
run;
proc print data=archtest; * print;
var t rsq lm chic_95 chic_99 pval; * variable list;
title 'LM test for ARCH effects';
run;
/* estimate ARCH(1) model using PROC AUTOREG */
proc autoreg data=bydout;
model r = / method=ml archtest
garch=(q=1); * ARCH(1) errors;
output out=bydout r=ehat_arch ht=harch;* forecast volatility;
title 'estimate ARCH(1) model and forecast volatility';
run;
/* estimate ARCH(1) model using PROC MODEL */
proc model data=bydout; * initiate model;
r = intercept; * mean equation;
h.r = arch0+arch1*xlag(resid.r**2, mse.r); * variance equation;
fit r / fiml method=marquardt;
bounds arch0 arch1 >= 0; * restrict arch parameters;
title 'ARCH(1) estimates using PROC MODEL';
run;
/* plot conditional variances using PROC GPLOT */
proc gplot data=bydout;
plot harch*time=1 / hminor=10;
title 'plot of conditional variance: ARCH(1) model';
run;
/* estimate GARCH(1,1) model using PROC AUTOREG */
proc autoreg data=bydout;
model r = / method=ml archtest
garch=(p=1,q=1); * GARCH(1,1) errors;
output out=bydout r=ehat_garch ht=hgarch11;* forecast volatility;
title 'estimate GARCH(1,1) model and forecast volatility';
run;
/* plot conditional variances using PROC GPLOT */
proc gplot data=bydout;
plot hgarch11*time=1 / hminor=10;
title 'plot of conditional variance: GARCH(1,1) model';
run;
/* estimate GARCH(1,1) model using PROC MODEL */
proc model data=bydout; * initiate model;
parms arch0 .1 arch1 .1 garch .1;
r = intercept; * mean equation;
h.r = arch0+arch1*xlag(resid.r**2, mse.r)+garch1*xlag(h.r, mse.r);
fit r / fiml method=marquardt;
bounds arch0 arch1 garch1 >= 0; * restrict arch parameters;
title 'GARCH(1,1) estimates using PROC MODEL';
run;
/* create bad news indicator variable and interaction term */
data bydout; * open data set;
set bydout; * read data;
dt = (ehat_garch<0); * bad news indicator;
dt1 = lag(dt); * lag;
ehat_gsq = (ehat_garch**2); * squared residual;
ehat_gsq1 = lag(ehat_gsq); * lag;
desq1 = dt1*(ehat_gsq1); * variable for TGARCH;
run;
proc print data=bydout (obs=5);
title 'byd data with bad news indicator';
run;
/* estimate T-GARCH(1,1) model using PROC AUTOREG */
proc autoreg data=bydout;
model r = / method=ml archtest
garch=(p=1,q=1); * GARCH(1,1) errors;
output out=bydout ht=htgarch; * forecast volatility;
hetero desq1; * bad news term;
title 'estimate T-GARCH(1,1) model and forecast volatility';
run;
/* plot conditional variances using PROC GPLOT */
proc gplot data=bydout;
plot htgarch*time / hminor=10;
title 'plot of conditional variance: T-GARCH(1,1) model';
run;
/* estimate T-GARCH(1,1) model using PROC MODEL */
proc model data=bydout; * initiate model;
label intercept='mean'
arch0='var intercept'
arch1='et_1_sq'
gamma='dt_1*et_1_sq'
garch1='ht_1';
parms arch0 .1 arch1 .1 garch .1 delta .1;
r = intercept; * mean equation;
h.r = arch0+arch1*xlag(resid.r**2,mse.r)+garch1*xlag(h.r,mse.r)
+gamma*xlag(-resid.r<0,mse.r)*xlag(resid.r**2,mse.r);
fit r / fiml method=marquardt;
bounds arch0 arch1 garch1 >= 0; * restrict arch parameters;
title 'T-GARCH(1,1) estimates using PROC MODEL';
run;
/* estimate GARCH-M model with time varying volatility */
proc autoreg data=bydout;
model r = / method=ml archtest
garch=(p=1,q=1,mean=linear);* GARCH-M(1,1) errors;
hetero desq1; * bad news term;
output out=bydout ht=hgarchm p=preturn;* forecast volatility;
title 'GARCH-M model';
run;
/* plot conditional variance using PROC GPLOT */
proc gplot data=bydout;
plot hgarchm*time=1 / hminor=10;
title 'plot of conditional variance: GARCH-M';
run;
/* plot predicted returns using PROC GPLOT */
proc gplot data=bydout;
plot preturn*time=1 / hminor=10;
title 'plot of predicted returns: GARCH-M';
run;
/* estimate T-GARCH(1,1) model using PROC MODEL */
proc model data=bydout; * initiate model;
label intercept='mean'
theta='h_t (return due to risk)'
arch0='var intercept'
arch1='et_1_sq'
gamma='dt_1*et_1_sq'
garch1='ht_1';
parms arch0 .1 arch1 .1 garch .1 delta .1 theta .1;
h = arch0+arch1*xlag(resid.r**2,mse.r)+garch1*xlag(h.r,mse.r)
+gamma*xlag(-resid.r<0,mse.r)*xlag(resid.r**2,mse.r);
r = intercept+theta*h; * mean equation;
h.r = h;
fit r / fiml method=marquardt;
bounds arch0 arch1 garch1 >= 0; * restrict arch parameters;
title 'GARCH-M estimates using PROC MODEL';
run;
嗨!亲爱的办公室新鲜人小姑娘:
就在刚才,在洗手间里,我听出了在隔间里伤心哭泣的人是你。回到我的办公室,面对电脑上瞬间涌入的十多封邮件,我突然发现即使最好的现磨蓝山咖啡也无法让自己平静下来,于是我开始给你写这封信。
我知道在你的眼中,我忙碌的要发疯,无情的像个bitch,又无趣的要死,所以我写这封信你一定吃惊之极,但是我写了,因为我并不真的那么忙,也不是bitch,更不无趣。
我想今天对你来说,一定是很艰难的一天。早上,你红着眼睛来上班,我知道你一定又和男朋友吵架了。上午你接了一个电话,脸色立刻黯淡了,是房东要涨房租。度过了这样的半天,也就难怪在下午的会议上,你做幻灯演示的时候语无伦次,以尴尬的沉默告终。接着,在我要上周就交给你做的报表,而你说你还没做好的时候,我板着脸告诉你,如果你不搞明白什么事情是不能拖的,后果将十分严重。
然后我就去忙自己的了。你也许没注意到,我也有自己的上司,如何让他满意是我每一天最头疼的问题。直到我在洗手间里听见你的哭泣,我才又想起你来。你哭泣的声音还那么的稚嫩,于是我一下子想起了,你今年才二十三岁。
二十三岁时候的我自己是什么样子?碰巧,在我记忆中最清晰的也是一次哭泣。那天我现在的老公,当时的男朋友和我在电话里分手,我独自去火锅店吃了一大锅毛血旺,接着发现我的皮包被偷了,所有的生活费和银行卡都在里面。刚从警察局立案出来,我接到了大学同学的电话,邀请我去喝她的喜酒。然后,说是因为心疼红包有点丢脸,但是在当时那确实是骆驼身上的最后一根稻草——我就那样在冬日的街头上,不顾过往行人诧异的目光,放声大哭。
也许生活要让每一个女孩都从一场痛哭开始,了解它玫瑰面纱背后的真面目。而每一个女孩,在生命中的某个时刻,都会被这样的严酷恐吓的失去斗志。但是亲爱的小姑娘,我向你保证,人这一辈子的幸福与苦难,绝对都在你的承受范围以内。生活比你还要了解你自己,它可狡猾了,它给你的苦涩,永远让你失望而又不至绝望。而给你的甜蜜,永远让你浅尝即止而充满想头。总而言之,It sucks, but you will love it.
人在二十多岁的时候,总是愿意相信一句话:生活在别处。你们很轻易的放弃一份工作,很轻易的放弃一段爱情,很轻易的放弃一个朋友,莫不是因为这种相信。可惜人要到很久之后才能明白,这世上并不存在传说中的“别处”。你所拥有的,也不过是你手上的这些。而你兜兜转转最终得到的,也不过是你在第一个站台错过的。
所以小姑娘,我要对你说出今天的第一句忠告:好好工作。工作是一切并非天生公主的女孩成为女王唯一的方式。工作是一切自由幻觉中最接近现实的一种。更重要的是,工作帮助一个女人学会怎样爱自己,然后你才能好好的爱这个世界,爱别人,以及被爱。
我知道,在你的眼里,三十多岁的女人已经老的如同隔夜菜了。四十多岁的女人就可以去死了。没关系,我不介意,因为我自己二十出头的时候也是这样想的。让我再告诉你一句话:比老去更可怕的是老了老了,还没在社会上找到自己的位置。所以亲爱的小姑娘啊,你得加紧了,否则你一回首已是三十身。
现在的你,距离一个成熟、专业的职业女性,还差的很远。
你看,当你穿着泡泡纱公主裙来上班,或者在我和你谈话的时候顺手抓起一个文件夹支着下巴,作为一个女人及一个妈妈来说我觉得你十分可爱,可是下一次我考虑下属升职的时候,可能我无法选择你。
我不需要你下班后加班,小姑娘,我也不需要你在我走近的一刹那赶紧把QQ页面关掉。我们这儿是外企,一切都是结果导向,苦劳不计入分数。但我还是劝你,不妨用功一点。一个人的时间用在哪里是看的出来的。别跟着那些老男人小男人抱怨社会,你改变不了社会,也不可能重新选一个爸爸,对不对?你能改变的只有你自己。
但你也不是真的干的那么坏。怎么,你有这种感觉吗?哦Sorry,那可能是我有意为之的。事实上当你在会议上颤抖着声音阐述你的新模型的时候,会议室里的那一片死寂代表的并不是不屑,而是震惊。因为长江后浪推前浪,我们这些前浪害怕死在沙滩上。所以我们当然不能让你发现我们被推到了。
现在,让我们聊一聊爱情。鉴于我们都是异性恋,我们姑且把这一点简称为:男人。我二十三岁的那年错爱了一个不值得的男人,导致了我和现在的老公,当时的男朋友的分手。还好后来我又有一个机会回头。
而你,亲爱的小姑娘,我不得不说,你分明也在一场错爱之中。这一点我从你红着眼睛来上班的次数就可以知道。
不过没关系,每一个女孩的二十三岁如果不浪费在错爱之中,简直就是一种浪费。过一段时间,你一定会像当年的我那样明白过来:爱情,归根结底是为了快乐。虽然现在有一个流行的词叫做“虐恋”,但生活不是电视连续剧,和Mr.Wrong一味纠缠下去也拿不到片酬。
其实大多数男人都不懂得,虽然自古有“男人不坏,女人不爱”之类的废话,但是泡妞还就得靠诚意。女人的心灵结构是这样的:最外面的一层属于没有希望的追求者带给我们的小心动;中间的一层属于会伤我们心的坏男人;但是最深刻、最珍贵的心灵角落,永远只属于那个能让你真真切切的感受到爱的男人。
我说的对吗?仔细的感受一下你的现任男友,他伤过你的心很多次,但你在流泪的同时又隐隐觉得,其实他并未触碰到你内心深处,那最细腻敏感的地方。别怀疑,你值得更好的。如果将你比喻成《阿凡达》中的伊克拉,他根本从未完成过“连接”。
最后是金钱。恭喜你,你开始意识到钱的重要性了!请你非常清楚的明白这一点:在你大学毕业之前,生活不是不严酷,只是当时是你的父母在为你付账单。而现在,你进入社会了,你自觉的将许多欲望视为自己的责任了。
你毕业于不错的大学不错的专业,口齿伶俐,相貌清秀,谢天谢地你还有个大胸!我觉得你真的可以算是非常幸运的女孩了,你觉得呢?其实我也觉得自己十分幸运能够以这样的薪水雇到这样的你,当然我不会告诉你的。等到你自己发现的那一天,我再适当的给你加一点薪水。
你是这样的幸运,你却羡慕我的房子,我的车,我的钻石耳钉。我都不知道你在羡慕些什么。我有的岁月都会带给你,而你有的我再也不会回去。你真的没有必要因为你的衣服不如别人,包包不是名牌,或者存款还不到五位数而觉得不安。因为我们每一个人都是这样过来的,再也没有比二十三岁的贫穷更理直气壮的事情了。
而相反,你不知道当你的年轻肌肤上带一点汗水,在我们这些老家伙的眼中是怎样千金难换的美好。
我不是说我羡慕你,因为我自己的二十岁过的足够耀眼。其实我喜欢现在的自己。我喜欢每一个阶段的自己。电视里常常有女明星受访的时候这样说,别怀疑,是真的。在我像你一样二十多岁的时候,我就像一个没戴眼睛的近视眼,这个世界在我的眼前是混沌的,唯一清晰的只有我青春美丽的身体。
但现在,这个世界对我来说,很清楚。我眼前的路,我眼前的人,当然也包括你。
写到这里,我突然发现,如果我有机会回到十年前,我不会改变任何一件事情,因为我舍不得每一个选择带给我的回忆,即使并不完全是美好的。
所以,亲爱的小姑娘,虽然,生活在今天对于你来说,天是暗的,风是冷的,也许喝口凉水都会塞牙。但是,我多希望能让你了解,一切最终都会化为一个会心的微笑。请好好享受你的二十三岁,努力而不费力的,等待岁月为你揭晓的答案。
你看,生活总是令我们出其不意。你在洗手间里的一次哭泣,却让你的上司老女人理解了二十三岁时的她自己。为此,我要谢谢你。也同时决定了,我只会将这封信存在我的电脑硬盘上。因为你,亲爱的孩子,有权用你自己的方式成长。
就在刚才,在洗手间里,我听出了在隔间里伤心哭泣的人是你。回到我的办公室,面对电脑上瞬间涌入的十多封邮件,我突然发现即使最好的现磨蓝山咖啡也无法让自己平静下来,于是我开始给你写这封信。
我知道在你的眼中,我忙碌的要发疯,无情的像个bitch,又无趣的要死,所以我写这封信你一定吃惊之极,但是我写了,因为我并不真的那么忙,也不是bitch,更不无趣。
我想今天对你来说,一定是很艰难的一天。早上,你红着眼睛来上班,我知道你一定又和男朋友吵架了。上午你接了一个电话,脸色立刻黯淡了,是房东要涨房租。度过了这样的半天,也就难怪在下午的会议上,你做幻灯演示的时候语无伦次,以尴尬的沉默告终。接着,在我要上周就交给你做的报表,而你说你还没做好的时候,我板着脸告诉你,如果你不搞明白什么事情是不能拖的,后果将十分严重。
然后我就去忙自己的了。你也许没注意到,我也有自己的上司,如何让他满意是我每一天最头疼的问题。直到我在洗手间里听见你的哭泣,我才又想起你来。你哭泣的声音还那么的稚嫩,于是我一下子想起了,你今年才二十三岁。
二十三岁时候的我自己是什么样子?碰巧,在我记忆中最清晰的也是一次哭泣。那天我现在的老公,当时的男朋友和我在电话里分手,我独自去火锅店吃了一大锅毛血旺,接着发现我的皮包被偷了,所有的生活费和银行卡都在里面。刚从警察局立案出来,我接到了大学同学的电话,邀请我去喝她的喜酒。然后,说是因为心疼红包有点丢脸,但是在当时那确实是骆驼身上的最后一根稻草——我就那样在冬日的街头上,不顾过往行人诧异的目光,放声大哭。
也许生活要让每一个女孩都从一场痛哭开始,了解它玫瑰面纱背后的真面目。而每一个女孩,在生命中的某个时刻,都会被这样的严酷恐吓的失去斗志。但是亲爱的小姑娘,我向你保证,人这一辈子的幸福与苦难,绝对都在你的承受范围以内。生活比你还要了解你自己,它可狡猾了,它给你的苦涩,永远让你失望而又不至绝望。而给你的甜蜜,永远让你浅尝即止而充满想头。总而言之,It sucks, but you will love it.
人在二十多岁的时候,总是愿意相信一句话:生活在别处。你们很轻易的放弃一份工作,很轻易的放弃一段爱情,很轻易的放弃一个朋友,莫不是因为这种相信。可惜人要到很久之后才能明白,这世上并不存在传说中的“别处”。你所拥有的,也不过是你手上的这些。而你兜兜转转最终得到的,也不过是你在第一个站台错过的。
所以小姑娘,我要对你说出今天的第一句忠告:好好工作。工作是一切并非天生公主的女孩成为女王唯一的方式。工作是一切自由幻觉中最接近现实的一种。更重要的是,工作帮助一个女人学会怎样爱自己,然后你才能好好的爱这个世界,爱别人,以及被爱。
我知道,在你的眼里,三十多岁的女人已经老的如同隔夜菜了。四十多岁的女人就可以去死了。没关系,我不介意,因为我自己二十出头的时候也是这样想的。让我再告诉你一句话:比老去更可怕的是老了老了,还没在社会上找到自己的位置。所以亲爱的小姑娘啊,你得加紧了,否则你一回首已是三十身。
现在的你,距离一个成熟、专业的职业女性,还差的很远。
你看,当你穿着泡泡纱公主裙来上班,或者在我和你谈话的时候顺手抓起一个文件夹支着下巴,作为一个女人及一个妈妈来说我觉得你十分可爱,可是下一次我考虑下属升职的时候,可能我无法选择你。
我不需要你下班后加班,小姑娘,我也不需要你在我走近的一刹那赶紧把QQ页面关掉。我们这儿是外企,一切都是结果导向,苦劳不计入分数。但我还是劝你,不妨用功一点。一个人的时间用在哪里是看的出来的。别跟着那些老男人小男人抱怨社会,你改变不了社会,也不可能重新选一个爸爸,对不对?你能改变的只有你自己。
但你也不是真的干的那么坏。怎么,你有这种感觉吗?哦Sorry,那可能是我有意为之的。事实上当你在会议上颤抖着声音阐述你的新模型的时候,会议室里的那一片死寂代表的并不是不屑,而是震惊。因为长江后浪推前浪,我们这些前浪害怕死在沙滩上。所以我们当然不能让你发现我们被推到了。
现在,让我们聊一聊爱情。鉴于我们都是异性恋,我们姑且把这一点简称为:男人。我二十三岁的那年错爱了一个不值得的男人,导致了我和现在的老公,当时的男朋友的分手。还好后来我又有一个机会回头。
而你,亲爱的小姑娘,我不得不说,你分明也在一场错爱之中。这一点我从你红着眼睛来上班的次数就可以知道。
不过没关系,每一个女孩的二十三岁如果不浪费在错爱之中,简直就是一种浪费。过一段时间,你一定会像当年的我那样明白过来:爱情,归根结底是为了快乐。虽然现在有一个流行的词叫做“虐恋”,但生活不是电视连续剧,和Mr.Wrong一味纠缠下去也拿不到片酬。
其实大多数男人都不懂得,虽然自古有“男人不坏,女人不爱”之类的废话,但是泡妞还就得靠诚意。女人的心灵结构是这样的:最外面的一层属于没有希望的追求者带给我们的小心动;中间的一层属于会伤我们心的坏男人;但是最深刻、最珍贵的心灵角落,永远只属于那个能让你真真切切的感受到爱的男人。
我说的对吗?仔细的感受一下你的现任男友,他伤过你的心很多次,但你在流泪的同时又隐隐觉得,其实他并未触碰到你内心深处,那最细腻敏感的地方。别怀疑,你值得更好的。如果将你比喻成《阿凡达》中的伊克拉,他根本从未完成过“连接”。
最后是金钱。恭喜你,你开始意识到钱的重要性了!请你非常清楚的明白这一点:在你大学毕业之前,生活不是不严酷,只是当时是你的父母在为你付账单。而现在,你进入社会了,你自觉的将许多欲望视为自己的责任了。
你毕业于不错的大学不错的专业,口齿伶俐,相貌清秀,谢天谢地你还有个大胸!我觉得你真的可以算是非常幸运的女孩了,你觉得呢?其实我也觉得自己十分幸运能够以这样的薪水雇到这样的你,当然我不会告诉你的。等到你自己发现的那一天,我再适当的给你加一点薪水。
你是这样的幸运,你却羡慕我的房子,我的车,我的钻石耳钉。我都不知道你在羡慕些什么。我有的岁月都会带给你,而你有的我再也不会回去。你真的没有必要因为你的衣服不如别人,包包不是名牌,或者存款还不到五位数而觉得不安。因为我们每一个人都是这样过来的,再也没有比二十三岁的贫穷更理直气壮的事情了。
而相反,你不知道当你的年轻肌肤上带一点汗水,在我们这些老家伙的眼中是怎样千金难换的美好。
我不是说我羡慕你,因为我自己的二十岁过的足够耀眼。其实我喜欢现在的自己。我喜欢每一个阶段的自己。电视里常常有女明星受访的时候这样说,别怀疑,是真的。在我像你一样二十多岁的时候,我就像一个没戴眼睛的近视眼,这个世界在我的眼前是混沌的,唯一清晰的只有我青春美丽的身体。
但现在,这个世界对我来说,很清楚。我眼前的路,我眼前的人,当然也包括你。
写到这里,我突然发现,如果我有机会回到十年前,我不会改变任何一件事情,因为我舍不得每一个选择带给我的回忆,即使并不完全是美好的。
所以,亲爱的小姑娘,虽然,生活在今天对于你来说,天是暗的,风是冷的,也许喝口凉水都会塞牙。但是,我多希望能让你了解,一切最终都会化为一个会心的微笑。请好好享受你的二十三岁,努力而不费力的,等待岁月为你揭晓的答案。
你看,生活总是令我们出其不意。你在洗手间里的一次哭泣,却让你的上司老女人理解了二十三岁时的她自己。为此,我要谢谢你。也同时决定了,我只会将这封信存在我的电脑硬盘上。因为你,亲爱的孩子,有权用你自己的方式成长。
你的上司老女人
2011年5月















