雁起平沙的网络日志

数量金融与R

用jekyll生成包含json变量的js脚本

| Comments

本文主要讨论如何用jekyll模板生成含有json数据的javascript脚本,并以此解决跨域读取json数据的问题。

前一篇文章提到用getJSON读取json文件,并以此动态更新页面,但只能读取同域的json文件,据说是出于安全性的考虑。

现在问题出来了,我除了前文提到的三个网站以外,还有个主页的镜像网站,它存放在美国的一位师兄的服务器上,和那三个网站肯定不同域,如果我要让它和github上的主页始终保持一致,又不想每次手动修改博客文章列表,也不能再使用feedsky了。因为feedsky除了慢之外,生成的列表样式也和网站风格不一致。

用jekyll生成json

| Comments

本文主要讨论如何用jekyll模板生成json,并以此整合在github上托管的不同网站的数据。

从去年年底接触github和jekyll到现在已经折腾五个月了,从最初用github托管纯静态网站,到现在依照别人的网站构架修改成自己喜欢的样子,这个过程也是个不断学习的过程。

我在github上有三个网站,一个是主页,一个技术博客,最后一个是文艺博客。现在有个问题是,这三个网站对应的是github上三个不同的代码库,如果我要在主页上列出另两个网站的文章列表,不能用jekyll提供的函数来做到,jekyll只能操作一个代码库的文本,不能跨代码库。我之前用的一个方法是用feedsky提供的发布脚本,效果请看http://inwake.com/ypchen/json-demo。这样的缺点是很显然的,一是加载速度慢,二是我们没办法控制列表的格式和样式。有没有更直接的解决方法呢?

指数方法论入门

| Comments

本文译自道琼斯指数公司的指数学博客,原文地址:http://blog.djindexes.com/index.php/the-abcs-of-index-methodologies/

如果我们研究各类市场指数,一个关键的信息来源就是指数的“方法论”。首先,这一文档解释了如何挑选股票(或其它金融工具)进入指数,以及指数是如何计算的。读完指数的方法论,你就会判断出该指数是否精准地度量你想跟踪的市场、资产、策略或者行业板块,也可以了解到该指数对你的实际应用中有多适合。

这些方法论也可以帮助你理解任何引导机制,这些引导机制会适当地使指数在不同的市场环境中保持可靠运行。

下面是你在阅读指数方法论时可能会遇到的术语:

Github Pages极简教程

| Comments

我写这篇文章的目的是帮助没有用过gihub和jekyll的童鞋尽快掌握使用流程。学习使用github网页的最好办法就是clone别人的代码,看懂他们的代码,并修改成自己喜欢的样子。这篇文章介绍了从最初安装软件到使用的过程。

先假设读者对ruby完全没有了解,仅对html有初步的了解(<title>等标签知道是什么意思,如果懂点儿CSS更好)。基本的linux命令(lscdmkdirrm等,不会也没关系,就用到这几个命令,自己百度一下就好)。

本文标题所说的“极简”是基于下面的原则:

  • 安装尽量少的软件
  • 使用尽量少的命令
  • 接触尽量少的概念

如果想了解用Github Pages写博客的理念,可以看这篇文章

黑魔法利器pandoc

| Comments

pandoc是什么?

如果你需要把文件从一种标记语言格式转换到另一种格式,pandoc会是你的瑞士军刀。它可以把markdownreStructuredTexttextileHTML、或者LaTeX转换成:

我的Octopress样式表

| Comments

/sass/custom/_styles.scss里是用户自己定义的样式,我在博客里添加了表格、脚注、提示框等样式,本文作为备忘,博客每次更新本文会自动更新,这也是用octopress博客的好处,我不过是在博客里插入下面两段代码:

1
2
3
{% codeblock (/sass/custom/_styles.scss) %}
	{% render_partial ../sass/custom/_styles.scss raw%}
{% endcodeblock %}
1
2
3
{% codeblock (/sass/custom/_fonts.scss) %}
	{% render_partial ../sass/custom/_fonts.scss raw%}
{% endcodeblock %}

由于本人刚刚学习CSS,所以写的东西难免幼稚,也可能有错的地方,请各位看官多提宝贵意见。

关于sass和scss,请参考《使用scss來加速寫css吧!》《用強大的compass+sass寫css》

在Octopress中使用LaTeX

| Comments

这个博客的主题定位为数量金融、统计与R语言,但一直以来我都没写什么金融和统计的文章,估计很多看官都误以为我是程序猿。最初我列了个书单,计划有哪些书要读要翻译的,包括Implementing Models in Quantitative FinanceStatistics and Data Analysis for Financial EngineeringOption Pricing and Estimation of Financial Models with R。除了没时间开始以外,还有个原因是折腾完octopress之后也没去折腾如何在octopress中插入公式。估计ruby的程序猿很少会用到数学公式吧,对LaTeX的支持很有限,但是我等数学文艺青年的博客里怎能没有数学公式呢?

热心网友Sinosmond推荐使用kramdown以尽量减少往markdown中插入html代码,接着我发现此物非常强大,连LaTeX都支持。昨晚使用了一下,现在把心得记录于此。

先安装kramdown包

1
gem install kramdown

再把下面的代码插入<head></head>标签中间,如果你使用octopress,那就是添加到/source/_includes/custom/head.html文件里:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<!-- mathjax config similar to math.stackexchange -->

<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    tex2jax: {
      inlineMath: [ ['$','$'], ["\\(","\\)"] ],
      processEscapes: true
    }
  });
</script>

<script type="text/x-mathjax-config">
    MathJax.Hub.Config({
      tex2jax: {
        skipTags: ['script', 'noscript', 'style', 'textarea', 'pre', 'code']
      }
    });
</script>

<script type="text/x-mathjax-config">
    MathJax.Hub.Queue(function() {
        var all = MathJax.Hub.getAllJax(), i;
        for(i=0; i < all.length; i += 1) {
            all[i].SourceElement().parentNode.className += ' has-jax';
        }
    });
</script>

<script type="text/javascript"
   src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>