啥?他一个人写了个价值100万的软件,却用来开源了!

·  阅读 220
啥?他一个人写了个价值100万的软件,却用来开源了!

啥?他一个人写了个价值100万的软件,却用来开源了!

Dromara开源社区里有这么一款专业软件,作者Kevin笑称这软件得估值百万。今天小编就带大家一起来看看,这究竟是个什么玩意儿。
以下是小编与作者Kevin的对话摘录。


小编:这究竟是个啥软件啊?

Kevin:专业术语叫量化交易软件。说人话就是,一个可以编程、并通过程序化执行交易逻辑,从而实现在期货、股票、外汇市场上进行买卖交易的软件。

小编:嗯,听上去好像很厉害的样子。真的能值100万么?

Kevin:呵呵,其实一个软件值多少钱,得看你的估值模型。一般来讲,比较容易理解的估算模型有两种:一种是以投入成本估算的模型,比如一个软件投入了多少人多少工时,总花费成本是多少钱,那这个软件就值多少钱;还有一种是以它所带来的收入现金流来估算的模型,比如一年可以卖100万。

小编:那你这个是按哪一种算法呢?

Kevin:其实都差不多。业界比较有名的付费商业软件,一般都是在1万元/年左右的价格。那么100万也就100个用户而已。要是按投入成本算,我的工时费还是蛮高的,具体就不告诉你了,哈哈。

file file

小编:当时是怎么会想到开发这么个东西呢?

Kevin:首先是兴趣。我很久之前就在想,怎么可以把交易逻辑写成程序,然后可以自动化执行。直到2015年才接触到了上面提到的那些商业软件。当时就买了来用,当时的1万块跟现在都不是一个概念,我可以说是咬着牙来买的。后来折腾了一年,交易上也没挣到什么钱,再加上这么贵的软件成本,就没继续买了。后来也了解到了一些其他的开源方案,一般都是用PYTHON开发的。我当时也试用了一下,感觉也不太好用。再后来接触到了一个用JAVA写的项目,因为我本身是做JAVA相关的开发的嘛,所以就特别感兴趣。但那个项目的作者没有提供足够的文档,对用户不太友好。结果我把心一横,求人不如求己嘛,就开始基于那个JAVA项目改造成自己心目中的样子。到目前为止,已经迭代了四个版本了。

小编:现在都有哪些功能了?

Kevin:刚才提到的那些商业软件提供的功能,我这软件都能实现了。比如编写交易逻辑、执行交易逻辑、做历史回测、程序运行监控台等等。理论上说,那些商业软件能做的,我这也能做;他们做不了的,我这也能做。

小编:一路走来,迭代了四个版本,中途遇到过一些什么困难么?

Kevin:个人觉得最难的莫过于软件建模。因为平时我们一般在公司做业务代码开发,大部分人都是做信息系统的开发,基本上都是面向数据库编程的。一般的信息系统的数据流,无非就是从接口流到数据库,又或者把请求转发到第三方的服务去,再把响应结果从第三方服务转回去前台。而这个交易平台,数据库只是一个辅助角色,很多计算要在运行时内存处理的,所以需要定义很多模型。最难的是,这玩意儿完全是要靠凭空定义出来的,没有一些最佳实践给你参考。所以要通过不断的尝试与迭代,才能找到一些比较好的设计方案。有几次都让我差点想放弃不做了。

小编:那后来是怎么坚持下来的呢?

Kevin:很多时候就是太累了,才会萌生放弃的想法,然后不断自问我究竟是在折腾啥呢?每次我意识到自己这么丧的时候,我就去睡觉。睡醒一觉有了精神,很多之前没想通的问题就有了新的思路。就是这么坚持下来的。

小编:为什么选择走开源这条路呢?

Kevin:一开始我其实没考虑太多,就是觉得有个自己的开源项目是件很酷的事情。但这一路走来,我也在不断反思这个问题,尤其是像log4j事件,给我触动挺大的。作者不单贡献了自己的时间,还招来了社区的一顿骂,这开源项目要是都这样做,以后都没人愿意做开源了。所以现在我觉得开源项目必须要有商业闭环,才能实现长久的发展。其实我们是已经有现成的模式可以参考的。开源项目本身就好比抖音上的网红,本质上就是网红模式。通过开源项目作为流量入口,把公域流量转化成私域流量,只要有流量就有变现的可能。这就是开源项目的商业化模式。

小编:那未来你这项目大概会怎么走呢?

Kevin:我这项目的定位是针对入门级的量化交易爱好者的,用户需要有一些编程基础,也需要一些交易经验。目前我们的社群也有百来人吧,基本上都是这类人群为主。同时我也希望有更多志同道合的朋友来加入我们。我希望打造出一个生态,让每个社群的伙伴都能有所收获。比如有的在这里学会了做量化交易最终能从市场上赚到钱,有的提升了技术水平在职场上把钱赚回来,有的能从中找到一些付费服务机会为其他人提供服务等等。最后,我也分享一下项目的官网,方便大家做更进一步的了解。


这个项目英文名叫 Northstar 代表北极星,喻意它可以帮我们在交易领域指明方向;中文名叫 盈富,寓意着盈满则富。

项目面向的是单租户场景的个人应用软件,采用了 B/S 架构去解决交易平台会部署在云服务器7x24地运行的需求。项目主程序采用了JAVA + springboot的技术栈,前端监控台则采用js + vue的技术栈。

项目有三大精彩亮点:

  1. 项目的可扩展性设计:作者针对量化交易软件的特点,提供了高度可扩展的程序架构,使得用户可以按自己的需求自行扩展,轻松对接不同交易所的接口,以及实现不同类型的交易策略。
  2. 用户编程接口的简化设计:作者巧妙地采用了函数式编程模型,极大地简化了用户编写交易策略的难度。
  3. 交易平台的抽象模型设计:作者通过这个项目的磨炼,大大提升了系统架构设计能力,技术水平上升了一个数量级。

更多亮点欢迎各位自行挖掘。

附上项目的地址: 官网地址:northstar-doc-1gwbhfxd522a1168-1310148562.ap-shanghai.app.tcloudbase.com/
仓库地址:gitee.com/dromara/nor…

开源不易,欢迎点赞支持!

分类:
代码人生
标签:
收藏成功!
已添加到「」, 点击更改