# 简介

# Pro版项目介绍

Northstar 是一款一站式的交易工具。它能够进行实盘交易(包括手工交易、半自动交易、全自动交易),也可以进行模拟盘交易,还可以进行历史行情复盘、(手工或半自动)交易策略演练、(全自动)交易策略回测等众多功能。

Northstar分为两大版本,一是社区版 (opens new window),二就是目前这个Pro版。

它们的定位略有不同,功能也有所差异:

  • 社区版是Northstar的初阶版本。它探索了一个量化交易平台从零到一的产品迭代过程,功能主要以全自动或半自动交易为主。目前功能与架构基本稳定,仅做bug修复,不再有新功能开发,可当作学习之用;
  • Pro版是Northstar的进阶版本,是社区版的持续迭代。作者在交易实践过程中发现,一个全自动的交易策略并非一日之功,它往往需要有一个从手工交易,到半自动化交易,最后才能变成全自动的一个迭代过程。因此,不同于社区版的只专注于将交易自动化,Pro版本专注的是提供策略研发生命周期中所需要的工具,通过场景化(例如重现历史行情)、可视化(例如提供多图同列)、智能化(例如引入AI助手,待开发)来帮助用户更好地开发自己的“交易系统”(这里说的系统,不是软件层面的概念,而是逻辑系统化的概念)。这,便是Pro版本的设计理念与定位。

# 开源之困

需要强调的是,Pro版不再走开源路线。所谓不开源,就是不直接提供源代码,用户不能自行修改主程序框架性的内容,不能自行编译程序。

之所以做出这样的决定,是因为在开源社区实践中发现,并没有多少用户对程序的功能有实质性的代码贡献,更多的也只是提一些功能建议;相反,开源给用户带来了很多额外的麻烦,也给我本人带来了很多不必要的麻烦,比如用户喜欢拿源代码自行编译,但又不熟悉环境搭建,导致会遇到各种状况。如果不提供源码,不允许用户自行编译,就能大大减少此类麻烦。

我也能理解,很多用户本身也是程序员背景的,源码能给用户提供一定的学习价值,同时也能提升用户的信任度。因此,我采取了一些折衷方案:就是不对源码进行加密,允许用户通过反编译工具来从一定程度上,了解程序内部的原理。

对于有二次开发需求的用户,则需要付费购买源代码。毕竟,用户如果需要一个更好用的工具,得让开发者自己能赚到钱,才能让团队发展壮大,然后才能在更短的时间内用到更多的好功能。

# 新手之困

对于Northstar的新用户来讲,最困惑的应该是它给人的第一感觉与平时常见的股票期货软件都不一样。这里需要特别说明一下。

用户首次登陆后(不包括演示示例 (opens new window),因为演示版会保留其他用户的修改),一般看到的各个面板都是空空的一片。这是因为一切的一切都需要用户自行进行初始化配置。

先看程序的架构设计图: 总体架构图

其中可以看到蓝色虚线框部分代表主程序,用户要配置的是图中左右两边的部分:

  • 要连接的交易所网关是哪些(目前已经对接好的有国内期货的CTP、币圈的币安、外盘的老虎证券)
  • 要订阅的实时行情或者历史行情来自哪里,分别要订阅哪些合约或品种的行情(有某些历史行情还要额外购买才能使用)
  • 要配置一个交易网关来与实际的账户一一关联
  • 如果要进行自动化交易,还要配置自动化模组的信息(什么交易策略在哪个账户上交易,绑定哪些品种的行情进行策略计算)

有了以上的这些初始化配置,才能开始您的Northstar交易之旅。

# 文档说明

由于Pro版的核心功能与社区版有重叠,且文档效果不如短视频,因此为了简化文档,Pro版本不再赘述,如有需要可参考社区版文档 (opens new window)。更多的使用教程将以短视频的方式呈现。

# 版本说明

本项目采用迭代式开发模式,迭代的节奏大概是每个月一个版本。为了用户更好地理解版本号含义,本文特此说明一下。

版本号采用通用的语义版本号:x.y.z,其中:

  • x,代表重大变更,包括接口、技术栈、架构等变更;
  • y,代表功能迭代,比如新增某项功能;
  • z,代表示例代码补充、工具类补充、BUG修复等等;

此外,里程碑版本发布前还会采用 betaRC 等后缀名标记,比如按版本号排序如下:
8.0.1 > 8.0.0-RC2 > 8.0.0-RC1 > 8.0.0-beta2 > 8.0.0-beta

其中版本号不带后缀的为发布版,带后缀的为公测版。