182012
 

最初接触马科维兹资产组合理论时对其用资产价格的波动率来表示风险十分不解,在我看来波动分为正向波动和负向波动,负向波动意味着面临损失的可能,正向波动对应的是获取收益的可能。在正态分布假设下波动率大一般意味着正向波动和负向波动都很大,这其实是一个风险与收益并存的事情,由于正向波动与负向波动的比是1:1,因此,这个时候衡量风险收益的合适指标应该是价格均值和波幅。等均值情况下波幅越大越好,因为这人获取价格差的空间越大。这正是高频交易的盈利策略。在非正态分布或者说非对称分布时,衡量风险的合适指标应该是负向波动率或者负向波动率与正向波动率之比。这是我的第一直觉,后来我发现马科维兹其实也提出了下方风险的概念来度量负向波动率。

时过境迁,如今回过头来大量波动率与风险这一对词组,我觉得用波动率来衡量风险是在恰当不过的指标了。要说明这个问题必须得先知道人是怎样一种动物以及人最恐惧的是什么。余华《在细雨中呼喊》有这样一个片段:一个孩子在课堂上犯错之后,老师对他说,你先给我想一想,看我明天怎么惩罚你。日复一日,老师每天都这么说,却都没有惩罚,而那个孩子却惶惶不可终日。余华总结说,其实最好的惩罚手段不是惩罚本身,而是让被惩罚人每日活在惴惴不安之中。这说明什么?说明人最惧怕的并不是受到惩罚、遭受损失,而不是不确定性。你不知道什么时候遭受惩罚,也不知道将受到怎样的惩罚。

投资也一样,最让人煎熬的就是资产价值的不确定性,人们千方百计的构造各种理论模型为资产定价(在我看来,提出有效市场理论也无非是为了让人们相信有效的市场可以为资产精准定价),人们一直在企图达成一种共识,即企图让所有人都承认用某种理论或者某个模型为资产定价是正确的。这种努力的动机在于人们意识到只有达成定价共识,人们对资产的定价才最有可能统一,从而部分地消弭资产价格的不确定性。

人在理解市场的时候,必须回归自身。因为,人,这种与市场搏斗的动物,本身就是市场的组成部分,当人在打量完市场,并根据最优策略去行动的时候,起初被打量的市场已经由于人的反应而改变了形态。

142012
 

广州药业(600332)和白云山A(000522)近期的股价走势淋漓尽致地阐释了资本市场的先知先觉。事情肇始于2011年的价值1080亿元的“王老吉”商标合同争议案,回顾一下重要历史有助于理解资本市场的特性。

2011年4月,广药向贸仲提出仲裁请求,并提供相应资料;5月王老吉商标案立案,确定当年9月底开庭;后因鸿道集团一直未应诉,开庭时间推迟至2011年12月29日,但当日仲裁并未出结果。

2012年5月10日,广药集团在其官网发布紧急招聘公告,称其全资子公司广州王老吉大健康产业有限公司,紧急招聘3000名“快消人才”。

2012年5月11日,广药集团收到中国国际经济贸易仲裁委员会日期为2012年5月9日的裁决书,贸仲裁决:广药集团与加多宝母公司鸿道(集团)有限公司签订的《“王老吉”商标许可补充协议》和《关于“王老吉”商标使用许可合同的补充协议》无效;鸿道(集团)有限公司停止使用“王老吉”商标。该裁决为终局裁决,自作出之日起生效。

2012年5月13日晚,广药集团发布公告告知上述裁决书。

然而,广州药业(600332)和白云山A(000522)的股价在5月3日就开始有所企升。对大多数资本市场的利好消息而言,当你知道的时候,那个好消息的利好价值已经被先知先觉者压榨殆尽了,再去跟,就真成了笨蛋。

142012
 

尤金·法玛(Eugene F.Fama)提出了著名的“有效市场假说”(Efficient Market Hypothesis,EMH)。该假说认为,如果相关的信息不受任何扭曲且能够在证券价格中得到充分反映,则市场就是有效的。有效市场假说的一个最主要的推论就是: 股票价格服从随机游走,完全无法预测,任何战胜市场的企图都是徒劳的,因为股票的价格已经充分反映了所有可能的信息,包括所有公开的公共信息和未公开的私人信息,在股票价格对信息的迅速反应下,不可能存在任何高出正常收益的机会,因此,股票也不可能被市场错误定价。只是金融史很不给法玛面子,数次金融泡沫的崩溃让很多人相信,金融市场市场对股票价格进行错误定价。
如果我们考虑理性预期、现金流折现理论,我们会发现金融泡沫恰恰反映了金融市场对股票价格的正确定价。欧债危机爆发后引发全球股市大跌就是一个可以引用个例子。欧债危机让理性人意识到后期经济的疲软,继而股市的未来现金流减少,根据折现理论,股价是未来现金流的折现,因此股价必然下跌,因为市场有效,该预期信息被马上反映到股市上来了。然而,由于投资者的预期速度和投资操作速度是需要时间的,因此聪明人利用这个空隙赚取超额利润是可能的。

232012
 

VaR,全称是Value at Risk,中文译作“在险价值”,是金融领域很常用的风险度量方法。VaR的定义很简单,即金融资产组合在给定的置信水平下,在给定的时期T,可能发生的最大损失。换句话说,如果某金融资产A(为什么用A,因为A可以表示assets),在96%置信水平下的1日VaR是24万,那么,它意味着什么呢?意味着未来1日内金融资产A的损失小于24万的概率是96%,或者金融资产A的损失大于24万的概率小于4%。
假设A的损失L,那么,VaR可以表示如下:
P(L>VaR_{\alpha})\le 1-\alpha
给定L的分布和\alpha之后,反解出VaR就可以了。\alpha一般是人为设定的,因此,计算VaR的重点就在于L的分布的确定。如果我们认为L在未来的分布跟其历史分布一致,我们就可以通过已有的样本数据来替代未来的L的样本数据,进而计算出VaR值,这种方法就叫历史模拟法。历史模拟法的优缺点,这里不予以展开,仅说明一下历史模拟法在R中的实现。
在R中,fExtremes、VaR、PerformanceAnalytics、fAssets、actuar等包都提供了计算VaR的函数。下面用PerformanceAnalytics包中的VaR函数示范一下计算VaR的方法。

#首先,安装包
install.packages("PerformanceAnalytics")
#载入包
library(PerformanceAnalytics)
#载入数据
> data(edhec)
> #查看一下数据
> head(edhec)
           Convertible Arbitrage CTA Global Distressed Securities
1997-01-31                0.0119     0.0393                0.0178
1997-02-28                0.0123     0.0298                0.0122
1997-03-31                0.0078    -0.0021               -0.0012
1997-04-30                0.0086    -0.0170                0.0030
1997-05-31                0.0156    -0.0015                0.0233
1997-06-30                0.0212     0.0085                0.0217
           Emerging Markets Equity Market Neutral Event Driven
1997-01-31           0.0791                0.0189       0.0213
1997-02-28           0.0525                0.0101       0.0084
1997-03-31          -0.0120                0.0016      -0.0023
1997-04-30           0.0119                0.0119      -0.0005
1997-05-31           0.0315                0.0189       0.0346
1997-06-30           0.0581                0.0165       0.0258
           Fixed Income Arbitrage Global Macro Long/Short Equity
1997-01-31                 0.0191       0.0573            0.0281
1997-02-28                 0.0122       0.0175           -0.0006
1997-03-31                 0.0109      -0.0119           -0.0084
1997-04-30                 0.0130       0.0172            0.0084
1997-05-31                 0.0118       0.0108            0.0394
1997-06-30                 0.0108       0.0218            0.0223
           Merger Arbitrage Relative Value Short Selling Funds of Funds
1997-01-31           0.0150         0.0180       -0.0166         0.0317
1997-02-28           0.0034         0.0118        0.0426         0.0106
1997-03-31           0.0060         0.0010        0.0778        -0.0077
1997-04-30          -0.0001         0.0122       -0.0129         0.0009
1997-05-31           0.0197         0.0173       -0.0737         0.0275
1997-06-30           0.0231         0.0198       -0.0065         0.0225
> #历史模拟法,计算95%置信水平下的VaR值
> #p=95%,与置信水平一直,method="historical"表示基于历史模拟法
> V=VaR(edhec,p=0.95,method="historical")
> V
    Convertible Arbitrage CTA Global Distressed Securities Emerging Markets
VaR              -0.01916    -0.0354             -0.018875        -0.044605
    Equity Market Neutral Event Driven Fixed Income Arbitrage Global Macro
VaR             -0.006385     -0.02254               -0.00929     -0.01624
    Long/Short Equity Merger Arbitrage Relative Value Short Selling
VaR          -0.02544        -0.013455      -0.013175      -0.07848
    Funds of Funds
VaR      -0.021265
> #为了查看方便将结果转置
> t(V)
                             VaR
Convertible Arbitrage  -0.019160
CTA Global             -0.035400
Distressed Securities  -0.018875
Emerging Markets       -0.044605
Equity Market Neutral  -0.006385
Event Driven           -0.022540
Fixed Income Arbitrage -0.009290
Global Macro           -0.016240
Long/Short Equity      -0.025440
Merger Arbitrage       -0.013455
Relative Value         -0.013175
Short Selling          -0.078480
Funds of Funds         -0.021265

上面的代码是把edhec中的各个资产是作孤立的来计算了VaR值,如果将edhec中的各个资产看作是资产组合的一部分,进而edhec便是一个资产组合。我们可以求这个资产组合的VaR值。

> VaR(edhec,portfolio_method="component")
no weights passed in, assuming equal weighted portfolio
$MVaR
           [,1]
[1,] 0.01459739

$contribution
 Convertible Arbitrage             CTA Global  Distressed Securities
          2.167008e-03          -9.876816e-05           1.720857e-03
      Emerging Markets  Equity Market Neutral           Event Driven
          3.691141e-03           4.935426e-04           1.780578e-03
Fixed Income Arbitrage           Global Macro      Long/Short Equity
          1.486652e-03           9.209540e-04           1.784986e-03
      Merger Arbitrage         Relative Value          Short Selling
          6.778369e-04           1.324299e-03          -3.150584e-03
        Funds of Funds
          1.798890e-03 

$pct_contrib_MVaR
 Convertible Arbitrage             CTA Global  Distressed Securities
           0.148451703           -0.006766151            0.117887954
      Emerging Markets  Equity Market Neutral           Event Driven
           0.252863009            0.033810326            0.121979204
Fixed Income Arbitrage           Global Macro      Long/Short Equity
           0.101843703            0.063090308            0.122281163
      Merger Arbitrage         Relative Value          Short Selling
           0.046435481            0.090721618           -0.215831957
        Funds of Funds
           0.123233638
192012
 

唐奇安通道(Donchian Channel)指标是由Richard Donchian提出的一个由三条线组成的通道指标体系(称之为体系有点说大了),这三条线分别是过去n日的最高价、过去n日的最低价以及过去n日最高价和最低价的均值,形状看起来很像通道,所以叫这个名字。
R软件中的TTR包提供了一个DonchianChannel()函数来计算唐奇安通道,本来应该用起来很方便的,遗憾的是DonchianChannel()函数的代码存在错误。计算唐奇安通道是依据的数据应该是:
Top_t(n)=max(p_{t-1},p_{t-2},...p_{t-n})
即不应该包含本期值。而DonchianChannel()函数恰恰包含了本期值。根据通常的用法,当股价向上突破20日唐奇安通道值时采取买入策略,如果计算唐奇安通道值时包含了本期值,就永远不可能存在向上突破的可能。
看一下DonchianChannel()函数的bug。

> DonchianChannel
function (HL, n = 10)
{
    if (!(NCOL(HL) %in% c(1, 2))) {
        stop("Price series must be either High-Low, or Close/univariate.")
    }
    if (NCOL(HL) == 2) {
        hi < - HL[, 1]
        lo <- HL[, 2]
    }
    else {
        hi <- HL
        lo <- HL
    }
    high <- runMax(hi, n)
    low <- runMin(lo, n)
    mid <- (high + low)/2
    result <- cbind(high, mid, low)
    colnames(result) <- c("high", "mid", "low")
    return(result)
}

所以,在DonchianChannel()函数的基础上加上一期滞后才是正确的唐奇安通道值。举个例子:

> getSymbols("APPL", adjust=TRUE)
> head(cbind((APPL), lag(DonchianChannel(cbind(Hi(APPL),Lo(APPL)),n=5)),k=1),n=10)
172012
 

有时候需要计算同一个data frame中的多支股票的收益率,实现这一目的最鲁莽的做法是对列进行循环。这个方法有失美观且不够高效。显式循环是应用R语言的大忌之一,所以才有了*apply族函数的诞生,可是有时候,*apply函数也不是必要的。比如在计算多支股票收益率的时候,就可以用TTR包中的ROC函数代替。

> require(quantmod)
> symbols < -c('FNMIX','DBLTX','AGG','^GSPC')
> getSymbols(symbols, src="yahoo", from="2012-01-01", to=Sys.Date())
[1] "FNMIX" "DBLTX" "AGG"   "GSPC"
> y < - merge(Ad(FNMIX), Ad(DBLTX), Ad(AGG), Ad(GSPC))
> head(ROC(y))
           FNMIX.Adjusted DBLTX.Adjusted  AGG.Adjusted GSPC.Adjusted
2012-01-02             NA             NA            NA            NA
2012-01-03   -0.001278773    0.000000000 -0.0013740670   0.000187914
2012-01-04   -0.001280410    0.000000000  0.0013740670   0.002939385
2012-01-05   -0.001282051    0.000922084  0.0008235348  -0.002540185
2012-01-08   -0.001283697    0.000000000 -0.0008235348   0.002259128
2012-01-09   -0.001285347    0.001841621 -0.0002746624   0.008846519

如果你细看ROC函数的内容:

> ROC
function (x, n = 1, type = c("continuous", "discrete"), na.pad = TRUE)
{
    x < - try.xts(x, error = as.matrix)
    type <- match.arg(type)
    if (is.xts(x)) {
        if (type == "discrete") {
            roc <- x/lag(x, n, na.pad = na.pad) - 1
        }
        if (type == "continuous") {
            roc <- diff(log(x), n, na.pad = na.pad)
        }
        reclass(roc, x)
    }
    else {
        NAs <- NULL
        if (na.pad) {
            NAs <- rep(NA, n)
        }
        if (type == "discrete") {
            roc <- c(NAs, x[(n + 1):NROW(x)]/x[1:(NROW(x) - n)] -
                1)
        }
        if (type == "continuous") {
            roc <- c(NAs, diff(log(x), n))
        }
        return(roc)
    }
}

会发现ROC主要调用了base包中的log函数和diff函数。

112012
 

1  ARMA模型篇
1.1 ARMA模型简介
1.2 ARMA模型在R软件中的实现
2  ARIMA模型篇
2.1 ARIMA模型简介
2.2 ARIMA模型在R软件中的实现
3 GARCH模型篇
3.1 ARCH模型简介
3.2 ARCH模型在R软件中的实现
3.3 GARCH模型简介
3.4 GARCH模型在R软件中的实现
3.5 EGARCH模型简介
3.6 EGARCH模型在R软件中的实现
3.7 TGARCH模型简介
3.8 TGARCH模型在R软件中的实现
3.9 IGARCH模型简介
3.10 IGARCH模型在R软件中的实现
3.11 GARCH-M模型简介
3.12 GARCH-M模型在软件中的实现
4 EVT模型篇
4.1 EVT简介
4.2 EVT模型在R软件中的实现
5 协整篇
5.1 协整理论简介
5.2 协整检验在R软件中的实现
6 VAR模型篇
6.1 VAR模型简介
6.2 VAR模型在R软件中的实现
7 Value at Risk篇
7.1 Value at Risk简介
7.2 Value at Risk在R软件中的实现
7.2.1 历史模拟法
7.2.2 蒙特卡洛模拟法
7.2.3 方差-协方差方法
7.3 Conditional Value at Risk简介
7.4 Conditional Value at Risk在R软件中的实现
7.4.1 历史模拟法
7.4.2 蒙特卡洛模拟法
7.4.3 方差-协方差方法

102012
 

rgarch包是R中用来拟合和检验garch模型的一个包。该包最早在http://rgarch.r-forge.r-project.org上发布,现已发布到CRAN上。简单而言,该包主要包括四个功能:

  • 拟合garch族模型
  • garch族模型诊断
  • garch族模型预测
  • 模拟garch序列
  • 拟合序列分布

下面分别说一下。

拟合garch族模型

拟合garch族模型分三个步骤:
(1)通过ugarchspec函数设定模型形式
(2)通过ugarchfit函数拟合模型

设定模型形式

一个典型的garch(p,q)模型如下:

r_t=c_1+\sum_{i=1}^R\phi_i r_{t-i}+\sum_{j=1}^M \phi_j \epsilon_{t-j}+\epsilon_t \cdots  \cdots (1) \epsilon_t=u_t\sqrt{h_t}  \cdots  \cdots (2)

h_t=k+\sum_{i=1}^q G_i h_{t-i}+\sum_{i=1}^p A_i\epsilon_{t-i}^2  \cdots  \cdots (3)

该模型由三个部分构成,均值方程对应式(1),分布假设对应(2),方差方程对应式(3),对三个部分进行适当的变形后可以形成egarch模型,egarch-ged模型,egarch-t模型,Igarch模型,garch-m模型和Qgarch模型等。因此,设定模型形式就是分别设定均值方程、方差方程和分布。

rugarch包的优越之处正在于这里。ugarchspec函数的参数也被分解为为三个主要部分,分别是variance.model,对应式(3),mean.model,对应式(1),distribution.model对应式(2)中的$\epsilon$。用户通过对三个部分的参数的分别设定从而构造出自己想用的模型。

举个例子:

variance.model = list(model = "sGARCH", garchOrder = c(1, 1),
submodel = NULL, external.regressors = NULL, variance.targeting = FALSE),

表示拟合的方差模型为sGARCH,方差模型的自回归阶数是(1,1),方差模型中未引入外生变量。

mean.model = list(armaOrder = c(1, 1), include.mean = TRUE, archm = FALSE, archpow = 1, arfima = FALSE, external.regressors = NULL, archex = FALSE)

表示均值方程为arma(1,1)模型,方程自变量中包含均值,未引入外生变量。

distribution.model = "norm"

表示模型分布假设为正态分布。
将三个部分装入ugarchspec的参数中就可以完成一个sgarch(1,1)-norm模型的模型设定。

myspec=ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1), submodel = NULL, external.regressors = NULL, variance.targeting = FALSE), mean.model = list(armaOrder = c(1, 1), include.mean = TRUE, archm = FALSE, archpow = 1, arfima = FALSE, external.regressors = NULL, archex = FALSE), distribution.model = "norm")
拟合模型

拟合模型的函数是ugarchfit。ugarchfit的参数如下:

ugarchfit(spec, data, out.sample = 0, solver = "solnp", solver.control = list(),
fit.control = list(stationarity = 1, fixed.se = 0, scale = 0), ...)

其中,spec为ugarchspec函数的结果,data为数据对象。solver为优化算法。solver.control设定优化参数,fit.control设定拟合参数。
接上面的例子:

myfit=ugarchfit(myspec,data=sp500ret,solver="solnp")

到这里一个garch模型就完成了。

查看结果

键入下列代码查看模型的拟合结果:

> myfit

*---------------------------------*
*          GARCH Model Fit        *
*---------------------------------*

Conditional Variance Dynamics
-----------------------------------
GARCH Model     : sGARCH(1,1)
Mean Model      : ARFIMA(1,0,1)
Distribution    : norm 

Optimal Parameters
------------------------------------
        Estimate  Std. Error  t value Pr(>|t|)
mu      0.000516    0.000090   5.7631        0
ar1     0.835693    0.058412  14.3069        0
ma1    -0.866236    0.053556 -16.1743        0
omega   0.000001    0.000000   5.2751        0
alpha1  0.087706    0.007724  11.3548        0
beta1   0.904994    0.008442 107.2026        0

Robust Standard Errors:
        Estimate  Std. Error  t value Pr(>|t|)
mu      0.000516    0.000101   5.0988 0.000000
ar1     0.835693    0.047779  17.4908 0.000000
ma1    -0.866236    0.044266 -19.5690 0.000000
omega   0.000001    0.000001   2.1703 0.029981
alpha1  0.087706    0.029942   2.9292 0.003398
beta1   0.904994    0.029232  30.9587 0.000000

LogLikelihood : 17901.99 

Information Criteria
------------------------------------

Akaike       -6.4805
Bayes        -6.4733
Shibata      -6.4805
Hannan-Quinn -6.4780

Q-Statistics on Standardized Residuals
------------------------------------
      statistic  p-value
Lag10     14.11 0.078922
Lag15     27.81 0.009623
Lag20     31.04 0.028513

H0 : No serial correlation

Q-Statistics on Standardized Squared Residuals
------------------------------------
      statistic p-value
Lag10     3.072  0.9298
Lag15     5.906  0.9495
Lag20     8.425  0.9716

ARCH LM Tests
------------------------------------
             Statistic DoF P-Value
ARCH Lag[2]      1.485   2  0.4759
ARCH Lag[5]      1.740   5  0.8838
ARCH Lag[10]     3.021  10  0.9809

Nyblom stability test
------------------------------------
Joint Statistic:  175.7021
Individual Statistics:
mu      0.1997
ar1     0.2214
ma1     0.1695
omega  21.5537
alpha1  0.1341
beta1   0.1121

Asymptotic Critical Values (10% 5% 1%)
Joint Statistic:         1.49 1.68 2.12
Individual Statistic:    0.35 0.47 0.75

Sign Bias Test
------------------------------------
                   t-value      prob sig
Sign Bias           0.3216 7.478e-01
Negative Sign Bias  3.0087 2.635e-03 ***
Positive Sign Bias  2.4529 1.420e-02  **
Joint Effect       29.0986 2.135e-06 ***

Adjusted Pearson Goodness-of-Fit Test:
------------------------------------
  group statistic p-value(g-1)
1    20     182.5    9.999e-29
2    30     186.8    5.511e-25
3    40     230.0    6.488e-29
4    50     234.9    4.330e-26

Elapsed time : 6.765625
提取模型结果

rugarch包中模型结果的提取要依靠as.data.frame函数。比如提取模型的拟合值

as.data.frame(myfit,which="fitted")

提取残差序列:

as.data.frame(myfit,which=" residuals")

提取方差序列:

as.data.frame(myfit,which="sigma")

当然,也可以同时查看所有:

as.data.frame(myfit,which=all)

或者

as.data.frame(myfit)

两个语句等价。

模型诊断

通过plot(myfit)可以对模型结果进行图形诊断:

> plot(myfit)
Make a plot selection (or 0 to exit): 

 1:   Series with 2 Conditional SD Superimposed
 2:   Series with 2.5% VaR Limits (with unconditional mean)
 3:   Conditional SD
 4:   ACF of Observations
 5:   ACF of Squared Observations
 6:   ACF of Absolute Observations
 7:   Cross Correlation
 8:   Empirical Density of Standardized Residuals
 9:   QQ-Plot of Standardized Residuals
10:   ACF of Standardized Residuals
11:   ACF of Squared Standardized Residuals
12:   News-Impact Curve

Selection: 1

模型预测

如果模型通过检验,可以用ugarchforcast函数对未来进行预测:

forc = ugarchforecast(myfit, n.ahead=20)
> forc=ugarchforecast(myfit, n.ahead=20)
> forc

*------------------------------------*
*       GARCH Model Forecast         *
*------------------------------------*
Model: sGARCH
Horizon: 20
Roll Steps: 0
Out of Sample: 0

0-roll forecast:
             sigma    series
2009-02-02 0.02477 0.0016170
2009-02-03 0.02471 0.0014362
2009-02-04 0.02465 0.0012851
2009-02-05 0.02458 0.0011588
2009-02-06 0.02452 0.0010532
2009-02-09 0.02446 0.0009650
2009-02-10 0.02440 0.0008913
2009-02-11 0.02434 0.0008297
2009-02-12 0.02427 0.0007783
2009-02-13 0.02421 0.0007353
2009-02-16 0.02415 0.0006993
2009-02-17 0.02409 0.0006693
2009-02-18 0.02403 0.0006442
2009-02-19 0.02397 0.0006232
2009-02-20 0.02391 0.0006056
2009-02-23 0.02385 0.0005910
2009-02-24 0.02379 0.0005787
2009-02-25 0.02373 0.0005685
2009-02-26 0.02368 0.0005600
2009-02-27 0.02362 0.0005528

可以用fpm或者plot来查看模型的预测结果。比如:

> plot(fore)

Make a plot selection (or 0 to exit): 

1:   Time Series Prediction (unconditional)
2:   Time Series Prediction (rolling)
3:   Conditional SD Prediction

Selection: 1
312012
 

关于民间金融:或将迎来春天

“两会”期间,政府说要鼓励民间资本进入交通、金融等领域。这一句话让牵挂“吴英案”的人舒了一口长气,鼓励民间资本进入金融领域也就意味着政府或将放松对民间金融的限制,吴英或许可免一死,民间金融或解除冰封,迎来春天。
在金融市场引入民间金融,势必加剧金融企业的竞争,同时逼迫现有金融企业进行改革,提升服务质量,降低服务收费,对个体而言收益良多。对国家而言,激烈竞争中没被淘汰的金融企业都是具备实力的,拥有这些具备实力的公司实际上为中国资本市场的下一步的开放做好了铺垫。前几天,王岐山副总理再次发表同样的言论,进步刺激了人们的预期。

关于利率市场:未来几年中国债市将大有可为

周小川行长发表言论称“中国已经具备利率市场化的初步条件”,这意味着央行或将推动中国的利率市场化进程。这跟政府企图放开民间金融市场是相辅相成的,既然金融领域引入了民间资本,意图增进竞争,那就不可能再继续由央行制定利率水平,否则,引入竞争的意义何在?其次,放开利率,意味着跟利率相关的金融产品,当然主要是债券在未来将大有可为。中国的证券市场发展不平衡,债市规模与股市规模相比规模过小,放开利率必将导致中国债市的井喷。金融学生应当留意这个信息,未来可以着力于固定收益证券的研究。

债市、地方债券和房地产

为了增加债券品种,可能会引入地方政府债券。此举一方面减轻中央政府的债务压力,另一方面可以充足地方政府财政,而这一点是变革地方政府施行土地财政的基础。若不允许地方政府发债,同时要地方政府放弃土地财政,难于上青天。这是一个很妙的策略。

222012
 

跟两年前比起来我动笔写东西的欲望越来越淡薄了,感觉没什么可写。我觉得我日渐成为了一个理性主义者,跟感性主义者相比,理性主义者更容易感到无话可说,很多东西想清楚之前不想写出来,等到想清楚了又懒得写了。所以,这个blog上面的东西大都跟随手笔记一样,乱涂乱画,没什么营养。

有时候,也会想,你说一个人好端端自己对着电脑敲一段字是等着给谁看呢?杨波说他写东西是为了自己将来回忆,现在孜孜不倦地写,等将来老了拿出来才会觉得自己没有空虚的过。唉,这个事情,不能说太细,因为即使著作等身也未必一生就过的有什么营养。照我跟马伯庸兄的观点,这世界上8成以上的书都是垃圾,应该丢在火堆里烧掉,没准我们写的日记将来也是垃圾一个,当然,对于我们自己可能也不这样,因为我们经常自诩是怀旧的人啊,怀旧的人总觉得自己的东西——哪怕是破烂的东西——都很珍贵,有个老词儿说的好啊,敝帚自珍。所以,还是要孜孜不倦的写下去。再说,万一有人看了受益呢?

翻阅以前写的东西的时候,总觉得当初自己好幼稚,竟然写那么简单、浅显的东西。真恨不得把时光倒回去,把写的东西重新写一遍,不然,就统统删掉好了,免得被别人看到自己的青涩,这种感情就像鲁迅先生说过的[1]

听说:中国的好作家是大抵‘悔其少作’的,他在自定集子的时候,就将少年时代的作品尽力删除,或者简直全部烧掉。

看来中国人有着深厚的“悔其少作”的传统,因为杨修同志也曾经这么说过[2]

最近老想摆脱一点东西,觉得周身的生活太禁锢了,没什么新鲜而富有激情的东西。身边的人到处都是老思想,有自诩传统主义者的,抱着封建的一套紧紧不放,说是老祖宗的精华,可是,您抱的那明明是糟粕啊;还有自诩自由主义者的,然而他们连启蒙时代的书毛都没碰过,我管他们叫“激情的蒙昧自由主义者”。

C'est la vie!找个时间要去到处晃荡晃荡,放放风,趁着年轻看看外面到底有什么不一样。也不能总是待着读书,读书这件事儿,啥时候都不显晚,看世界这件事儿,越早越好!

注:

[1]:鲁迅 《<集外集>序言》。
[2]:出自汉·杨修 《答临淄侯笺》:“ 修家子云 ,老不晓事,强著一书,悔其少作。”