Subscribed unsubscribe Subscribe Subscribe

Quant:量化投资

今天的任务是分析浦发银行和光大银行的股价,在进入正题之前,先追忆一下自己与Quant这个职业不算太久远的历史渊源。

------

最早接触到量化投资是在读硕士的时候,作为纯工科背景非名校的学生,应该说能够接触到有关Quant的信息和圈子就是一种缘分。那个时候因为负责系里面学术论坛的组织,年轻有活力能够染手国内外第一手学术资源和讯息的秦老师就经常邀请他以前在国外时候认识的一些在自己领域事业有成的朋友来做讲座。作为系里面的负责人,这个讲座除了邀请嘉宾和当日接待的部分由邀请的老师来做,其他的部分从场地的安排、海报宣传、到当日的组织都由我来统筹负责。

也是机缘巧合,其中一次的讲座是由秦老师以前在牛津统计系的朋友,现在JPMorgan北京投资分部做Quant的张博士来讲的金融数据分析主题。那已经是5年前,应该说那个时候是互联网行业风华正茂的阶段,因此国内计算机行业里雄心勃勃的年轻人多数都选择进入了BAT这样的企业,而Finance相关的互联网金融在国内的风还没有挂起来,因此这个有关Quant的主题在当时看来让大家觉得有些遥远、陌生。

讲座完毕,秦老师很热心的叫我和他的得意门生于静一起,跟张博士一起简单吃了个饭,叙了叙旧聊了聊家常。很多聊天的细节已经记不太清楚了,只记得地点是在北航校园里还算拿得出手的雕刻时光咖啡厅(那里也曾经作为《失恋三十三天》的取景地一度爆红网络),只记得那段时间正是他的牛津校友薄瓜瓜被炒在风口浪尖的时候,所以自然而然就八卦了一下这个人在牛津的见闻,以及讲到当时非常傲人的40多万年薪(5年后的今天,应届生40多万的年薪应该说已经是比较正常的数字了,但在2012年这个数字在国内的任何行业都应该算是凤毛麟角)。对于投资银行的Quant团队来说,成员的高学历背景自不必说,从专业来看,基本上是计算机、物理、统计三分天下。表面上说,一位实习生在那里实习几个月的薪水,基本上可以用来买一辆便宜的轿车,非常有诱惑力;而实际上,IB对人才的筛选相当苛刻,曾经放出过的一个intern职位,收到了1000+的建简历,挑出100个电话面试,20个得到了onsite的机会,最终没有一个获得offer。

------

那么言归正传,来说一说如何做一个简单的Quant分析:分析两支股票的股价相关性。

stock correlation analysis

得到光大银行和广发银行在2016年一整年所有开盘日的收盘价的相关性图

f:id:dujour:20170508012916p:plain

从中可以比较直观地看到,这两支股票的收盘股价之间存在比较强的相关性,理论上可以通过配对交易的设计而获利。

至于配对交易(pair trading)这个专业名词,是另一个问题了,知乎上有高质量的讨论:

配对交易(pair trading)现在还有人做吗?具体是怎么操作的? - 知乎

 

困った

今月いっぱいで、閉店させていただきます。

1 ええ、結構気に入ってたのに。

2 じゃあ、来月来ますね。

3 へえ、たくさんできるんですね。

Remove all ads

奥野桑的午餐

ON桑是认识很久的老朋友了。最初是在两年前MLSS的一次已经不记得怎么被拉入的聚会上认识的,那时候我刚入学一切都是崭新的未知的充满神秘感的,而他也刚刚决定将要进学博士课程,开始对自己的未来有了比较明确的规划。能够从言行举止中感受到他是非常认真的一个人,但互相之间的交集不多,也没有能够想到现在还能有这么多的交集。

两年前MLSS的那帮人后来大家还是会见面,一般来说都是ON桑、TG桑和一个当时还是学部三年级现在已经是修士一年级的女孩子。然而随着奥野桑的老师转职来到了我们学校,也就经常能够有机会在校园里见到了。

与ON桑的聊天里总能够感受到与普通日本学生不同的那种aggressive的行事风格,不刻意保持低调的那种自我和对美好事物的无止尽追求。前段时间也会觉得自己变得不像以前在国内的时候那么aggressive了,日本是个已经经历过经济高速成长和泡沫的国家,各方面都比较安逸,自己的精神也慢慢地被这样子的糖衣炮弹所侵蚀着吧。

言归正传,我喜欢做事情认真的人,虽然自己与生具来没有那样的特质,但希望有一天能够成为那样的人。

沧海一粟的伟大之处,不在于成为顺境里万众瞩目的高岭之花,而在于逆流而上的价值创造,愿野蛮生长的你,成为那株荒原里绽放的野百合。

 

Jupyter lab 安装

安装conda(一个非常好用的Python科学计算环境,包含了几乎所有必须的数值计算lib):

安装JupyterLab(一个基于web browser的交互式python集成环境,非常适合Data Scientist)

github.com

基本上一个python的开发环境就算配置好了,但是遇到了一个问题。

JupyterLab内部的python的环境变量与系统里的不一致,比如在bash terminal里面用conda安装的pystruct无法在jupyterlab里直接import,很不方便。

查看细节:

分别在系统的bash terminal 和 jupyterlab的terminal里输入 python --version, 返回结果不一致,说明是因为调用的python内核版本不同。

Bash Terminal返回:Python 2.7.13 :: Continuum Analytics, Inc.

jupyterlab Termnal返回:Python 2.7.10

检查具体的python内核执行路径: sys.executable

Bash Terminal返回:'/Users/dj/miniconda2/bin/python'

jupyterlab Terminal返回:'/usr/local/opt/python/bin/python2.7'

果然是二者有出入,那么同步的方法很简单,很显然想要的是conda提供的那个python内核,所以只需要修改jupyterlab的配置文件,将它的内核指向conda下面的环境即可,访问

ls /usr/bin/python*

/usr/bin/python /usr/bin/python2.6-config /usr/bin/pythonw

/usr/bin/python-config /usr/bin/python2.7 /usr/bin/pythonw2.6

/usr/bin/python2.6 /usr/bin/python2.7-config /usr/bin/pythonw2.7

可见当前系统里有很多个python的版本

查看jupyterlab的配置文件

vim ~/.jupyter/jupyterlab_config.py

查找 /python, 看到配置文件中讲到jupyterlab实际默认执行的是 python2,在bash shell里python2 所对应的正是 conda 下的python 

/Users/dj/miniconda2/bin/python

再来检查一下 jupyter kernelspec list (kernelspec是一个非常强大的命令,后面我们就是用它来解决这个问题)

Available kernels:

  python2    /usr/local/lib/python2.7/site-packages/ipykernel/resources

kernelspec支持 install/remove/list等几乎所有的配置管理最基本的operation,使用起来非常方便。

 

简单概括 python2

在系统bash terminal里面,是conda的python

在jupyterlab里面,是系统的原生python

 

 

vim ~/.jupyter/jupyter_

解决方法:

 

经过修改,bash terminal 和 jupyterlab里的kernel

都对应了conda下面的 python 和ipython,于是两者的运行结果显然是一致的。

也可以通过查看module的版本得到证实

pip freeze | grep pystruct , 返回结果 pystruct==0.2.4

conda list | grep pystruct,返回null

 说明对于pip来说,pystruct是已经安装了的,但是对于conda来说pystruct是一个还没有安装过的module。那么,把pystruct装在conda里就可以了,方法很简答,pystruct的主页一行conda命令:[但问题又来了,pystruct的作者并没有放出它的conda安装],试一试安装指令 conda install pystruct 也是失败的:

PackageNotFoundError: Package missing in current osx-64 channels:

  - pystruct

好像一下子清晰的思路就又没了头脑,那先来看看能不能同步pip和conda的module,答案是很显然的不能。

 

----------------华丽的分割线----------------

虽然方法还没有找到,但顺手配置好了sigure上面的jupyterlab服务器

也算是今天聊以慰籍的一个进展吧。

 

参考:

[1]

http://qchem.tk/jupyter-notebook-on-apache/

N1 語彙

名詞 + ずくめ(尽くめ)

 

しまつだ(始末だ)。

 

こととて = ことだから 原因

慣れぬこととて、高齢のこととて

子供のこととて、何を聞いても泣いてばかりいる。

 

ごとく (如く) = のように

just like....正如。。。。

「父から息子への手紙」前回の手紙に書いた如く、私も来年は定年だ。だから君にもそろそろ自分の将来のことを真剣に考えてもらいたい。

[父亲给儿子的书信]正如前回给你的心中所述,为父明年就要退休了。因此,你也要差不多该为自己的将来认真地考虑一下了。

宇宙が無限である如く、人の想像力も無限だ。

ご馳走ずくめ、結構ずくめ

あの時、彼はお葬式の帰りだったらしく、黒ずくりの服装だった。

 

ずにはおかない = ないではおかない (某事自觉触动行为反应、必ずの結果) 

not intentionaly,definitely 想必一定会

あの犬を描いた「えがいた」映画は、見る人を感動させずにはおかない。

現在の会長と社長の争い「あらそい」は、会社全体を巻き込まないではおかないだろう。

彼のやり方は他の人に不信感を抱かせずにはおかない。

あの刑事「けいじ」はこの殺人事件の犯人を逮捕しないではおかないとと言っている。

 

ずにはすまない = 必ずする

大切なものを壊してしまったのです。買って、返さずにはすまないでしょう。 

把重要的东西弄坏了,就必须买来重新归还。

林さんはあんなにお世話になったのだから、一度お礼に行かないではすまない。

 

すら = ですら =  も 

连。。。都不放过

高橋さんは食事をする時間「すら」惜しんで、研究している。

大学教授ですら分からないような数学の問題を10歳の子どもが解いた「といた」と評判になっている。

李さんは日本人ですら知らない日本語の表現をよく知っている。

 

そばから = しても = すぐまた

刚A就B,即使做了A,但马上又有B发生 (令人不喜欢的事情)

小さい子どもはお母さんが洗濯するそばから服を汚してしまいます。

小孩子再妈妈刚洗完衣服后又马上把衣服弄脏了。

仕事片付けるそばから、次の仕事を頼まれるのでは体がいくつあっても足りない。

もっと若いうちに語学を勉強するべきだった。今は習った側から忘れてしまう。

一学就忘。 聞いてそばから忘れてしまう。(左耳进右耳出)

霸气侧漏。

 

ただ。。のみ = ただ。。だけ

 

たところで = でも

どんなに・いくら・何 でも、その結果まま。

いくら働いたところで、こう物価が高くては生活は楽にはならない。

私は才能がないからいくら練習したところで、きれいに弾ける「ひける」ようにはならない。

 

だに = だけでも = も

连。。都。。(没)

私がこのような立派な賞をいただくなどとは夢に「だに」思わなかった。

このように地球温暖化「ちきゅうおんだんか」が進むとは、30年前には想像だにしなかった。

テロで大勢の人が殺される「ころされる」なんて、考えるだに恐ろしい。

 

(沪江听力- N1语法边听边记-Page 14)

 

 

 

 

 

 

 

 

 

 

 

 

Remove all ads

名詞(の)いかんに

いかんに = 次第に (it depends...)

反义

いかんにかかわらず 

 因为A变化而产生B变化

 

いかんによって

反义

いかんによらず

 无论A怎样,B都不受影响

 

 

彼得原理

在企业或组织的等级制度里,人会因某种特质或特殊技能,令他在被擢升岛不能胜任的职位为止,相反变成组织的冗员/负资产。

 今天鹿岛老师老师分享了一篇关于Peter Principle的Computational Study,研究者采用multi agent计算模拟来验证 Peter Principle所阐述的效应,结果与Peter的观点吻合。

从通俗实用的观点来说,彼得原理的意思就是:如果机构或者组织采用了金字塔状的层级管理结构,并且对于一个个体来说,他在金字塔不同层级所能展现出的能力值是互相独立的话,那么

- 最提升企业整体效能的擢升机制是擢升那些在当前岗位表现最差的人

- 最弱化企业整体效能的擢升机制是擢升那些在当前岗位表现最好的人

看起来像是一个paradox,counter-intuitive的感觉很强。

这里面有几个重要的假设:

  1. 组织或企业是有Hierarchy的
  2. 考察的指标是企业的整体效能
  3. Peter假设:人在不同位置的能力值是独立的,不存在一致性,同源性。

转念定神一想,从high level来看这个问题其实也很简单,因为我们关心的是企业整体的效能,计算的方法是\sum{每个人的效能},那么采用Alternative Direction的思想来优化这个问题的话,其最直接的mechanism就是Greedy selection of the worst,然后让他改变(通常会变得很好,因为既然他已经在自己的这个level里做的很差了,能力的得分固然不会低,结果就是只要把他放到其他的位置,会有很大的概率其个体的表现得分高于原来的为止,那么整个组织的效能也就同时得到了优化。)

反过来,如果关注的指标不是组织的整体效能,而是局部或者个体的指标,那么现在无论是common sense的能力假设,还是Peter的能力假设,提升那些表现最差的人都不会指向指标优化。

 

[1]

[0907.0455] The Peter Principle Revisited: A Computational Study

 

Remove all ads