这其实是一篇很短的代码入门。

代码在很大程度上是一种工具,在我们做量化分析的过程中主要作为辅助,但是熟练地敲代码和接触代码的世界也是非常重要的。所以我希望大家在代码方面可以将自己作为半个程序猿看待。接下来我介绍一下我这两节课的大纲:

  • Choice金融终端
  • GitHub
  • Python(这一节分点会非常多)
  • Machine learning
  • 一个程序猿的自我修养

Machine learning

机器学习是一门通过编程让计算机从数据中进行学习的科学(和艺术)。下面是一个稍微通用一点的定义:

机器学习是一个研究领域,让计算机无须进行明确编程就具备学习能力。——亚瑟·萨缪尔(Arthur Samuel),1959

更工程化的概念:

一个计算机程序利用经验E来学习任务T,性能是P,如果针对任务T的性能P随着经验E不断增长,则称为机器学习。——汤姆·米切尔(Tom Mitchell),1997

例如,垃圾邮件过滤器就是一个机器学习程序,它可以根据垃圾邮件(比如,用户标记的垃圾邮件)和普通邮件(非垃圾邮件,也称作ham)学习标记垃圾邮件。系统用来进行学习的样例称作训练集。每个训练样例称作训练实例(或样本)。在这个示例中,任务T就是标记新邮件是否是垃圾邮件,经验E是训练数据,性能P需要定义。例如,可以使用正确分类邮件的比例。这个性能指标称为准确率,通常用在分类任务中。如果你只下载了一份维基百科的副本,虽然你的计算机有了很多数据,但不会在任何工作中变得聪明起来。因此,下载一份维基百科的副本不是机器学习。

由于这是一门入门的指导,所以大家只需要指导机器学习是一门让计算机自我学习的学科,其数学理论支持非常坚实,而其实际应用也十分常见,例如人脸识别,自动驾驶,甚至你的手机淘宝的首页推荐。

后面的学习中我们会学到如何使用Python进行机器学习的代码编写,要用到TensorFlow或者Pytorch框架,在此大家先有一个印象即可。

GitHub

GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。

通俗的来讲,github是程序猿的知乎,是国外版的CSDN,国内外的很多大牛(例如在机器学习Machine learning和强化学习Reinforcement learning)和一些比较吊的项目组都会在上面公开自己的某些源码,一般来说是免费的,相较于国内的CSDN,算是比较pure的论坛。