第一章 为什么要学习编写程序

如题所述

1. 巨大数据量:
“大数据”时代,在金融方面我们需要处理的数据量越来越大。A股票数量早已超过两千,证券投资基金的数量也已经过千,最近将中证指数公司、深证信息公司、中信标普等指数编制机构发布的各类指数也已近千。开盘价、收盘价、ROE、ROA、夏普比率、波动率……各种指标不计其数。

2.复杂的模型
随着投资标的品种的增加,股指期货指数、个股期权、分级基金等等,我们所需掌握定价模型越来越复杂,例如期权定期、Beta对冲、浮动利息债券等等。复杂的定价模型需要强大的数值计算平台的支持。

3. 避免主观臆断:
人类大脑思维具有局限性并且逻辑有时具有跳跃性,常常凭借直观感觉判读事物。例如几年前大家常见的一个量化案例“某策略赚3%止赢即获利平仓;亏损1%平仓止损,每一组止赢与止损交易可以获利1%,如果这个策略进行高频交易,将获利丰富啊!” 我们的思维忽略了一点即赚3%与赔1%的概率并非一致,如果进一步思考发现我们忽略了交易成本。

再举一个我常常使用的例子:“两个[0,1]上的均匀分布的和为什么分布?三个[0,1]上的均匀分布的和为什么分布? n个呢?” 有的读者会直接回答还是均匀分布、有的读者深思一下回答正态分布。这两个答案或许都不正确,如何验证? 我们可以通过编程的方式进行数值试验,对两个结论进行验证,如果做数值试验,那就需要编程实现。

4.实现自动化办公:
这点将是我着重与大家分享的。大多数人日常工作可能面临很多重复劳动与繁琐计算。例如:某个报表,每日(周、月)都要更新,更新逻辑很明确:增加内容、市场数据统计、附加某些计算等等。或许,你每天工作中excel或word的重复工作占据了大量的时间。如何有一种方法可以将自己从中解脱出来,我们可以有更多的时间进行创造性的工作与享受生活。假设:工作30年,每天有50%的时间在重复劳动,你的15年时间就在重复中度过了。在这里声明,重复并非不好,或许大多数工作的性质就是重复,每个人生活态度不一样,首先自己厌恶重复,有时为了生活也不得以不重复,但在重复的过程中我总是思考如果自动化。如何摆脱重复

所谓重复劳动,大多都是规则明确化的,规模包括脑力与体力两个方面。从算计角度的发展,就是机器代替人类执行重复计算或劳动的过程。自从有了计算机,大家的劳动相比之前高效许多。但是,我们或许还在计算机上进行某些重复劳动与繁琐计算,这又是为什么? 软件、硬件作为商品都是普遍适用的,基于利润或稳定性方面的考虑不会针对某件事或某人人设定,所以面对自己工作的问题,就需要自己或请人来解决。由于某些业务的复杂性(非技术上的),或许自己最明白其中的逻辑,自己编程解决或许是一条非常有效的路径。例如,金融市场数据的每日更新。同时通过Matlab程序实现,可以将自己从一定的重复劳动中解脱出来。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答