啥?他一個人寫了個價值100萬的軟體,卻用來開源了!

語言: CN / TW / HK

Dromara開源社群裡有這麼一款專業軟體,作者Kevin笑稱這軟體得估值百萬。今天小編就帶大家一起來看看,這究竟是個什麼玩意兒。

以下是小編與作者Kevin的對話摘錄。


小編:這究竟是個啥軟體啊?

Kevin:專業術語叫量化交易軟體。說人話就是,一個可以程式設計、並通過程式化執行交易邏輯,從而實現在期貨、股票、外匯市場上進行買賣交易的軟體。

小編:嗯,聽上去好像很厲害的樣子。真的能值100萬麼?

Kevin:呵呵,其實一個軟體值多少錢,得看你的估值模型。一般來講,比較容易理解的估算模型有兩種:一種是以投入成本估算的模型,比如一個軟體投入了多少人多少工時,總花費成本是多少錢,那這個軟體就值多少錢;還有一種是以它所帶來的收入現金流來估算的模型,比如一年可以賣100萬。

小編:那你這個是按哪一種演算法呢?

Kevin:其實都差不多。業界比較有名的付費商業軟體,一般都是在1萬元/年左右的價格。那麼100萬也就100個使用者而已。要是按投入成本算,我的工時費還是蠻高的,具體就不告訴你了,哈哈。

 

 

小編:當時是怎麼會想到開發這麼個東西呢?

Kevin:首先是興趣。我很久之前就在想,怎麼可以把交易邏輯寫成程式,然後可以自動化執行。直到2015年才接觸到了上面提到的那些商業軟體。當時就買了來用,當時的1萬塊跟現在都不是一個概念,我可以說是咬著牙來買的。後來折騰了一年,交易上也沒掙到什麼錢,再加上這麼貴的軟體成本,就沒繼續買了。後來也瞭解到了一些其他的開源方案,一般都是用PYTHON開發的。我當時也試用了一下,感覺也不太好用。再後來接觸到了一個用JAVA寫的專案,因為我本身是做JAVA相關的開發的嘛,所以就特別感興趣。但那個專案的作者沒有提供足夠的文件,對使用者不太友好。結果我把心一橫,求人不如求己嘛,就開始基於那個JAVA專案改造成自己心目中的樣子。到目前為止,已經迭代了四個版本了。

小編:現在都有哪些功能了?

Kevin:剛才提到的那些商業軟體提供的功能,我這軟體都能實現了。比如編寫交易邏輯、執行交易邏輯、做歷史回測、程式執行監控臺等等。理論上說,那些商業軟體能做的,我這也能做;他們做不了的,我這也能做。

小編:一路走來,迭代了四個版本,中途遇到過一些什麼困難麼?

Kevin:個人覺得最難的莫過於軟體建模。因為平時我們一般在公司做業務程式碼開發,大部分人都是做資訊系統的開發,基本上都是面向資料庫程式設計的。一般的資訊系統的資料流,無非就是從介面流到資料庫,又或者把請求轉發到第三方的服務去,再把響應結果從第三方服務轉回去前臺。而這個交易平臺,資料庫只是一個輔助角色,很多計算要在執行時記憶體處理的,所以需要定義很多模型。最難的是,這玩意兒完全是要靠憑空定義出來的,沒有一些最佳實踐給你參考。所以要通過不斷的嘗試與迭代,才能找到一些比較好的設計方案。有幾次都讓我差點想放棄不做了。

小編:那後來是怎麼堅持下來的呢?

Kevin:很多時候就是太累了,才會萌生放棄的想法,然後不斷自問我究竟是在折騰啥呢?每次我意識到自己這麼喪的時候,我就去睡覺。睡醒一覺有了精神,很多之前沒想通的問題就有了新的思路。就是這麼堅持下來的。

小編:為什麼選擇走開源這條路呢?

Kevin:一開始我其實沒考慮太多,就是覺得有個自己的開源專案是件很酷的事情。但這一路走來,我也在不斷反思這個問題,尤其是像log4j事件,給我觸動挺大的。作者不單貢獻了自己的時間,還招來了社群的一頓罵,這開源專案要是都這樣做,以後都沒人願意做開源了。所以現在我覺得開源專案必須要有商業閉環,才能實現長久的發展。其實我們是已經有現成的模式可以參考的。開源專案本身就好比抖音上的網紅,本質上就是網紅模式。通過開源專案作為流量入口,把公域流量轉化成私域流量,只要有流量就有變現的可能。這就是開源專案的商業化模式。

小編:那未來你這專案大概會怎麼走呢?

Kevin:我這專案的定位是針對入門級的量化交易愛好者的,使用者需要有一些程式設計基礎,也需要一些交易經驗。目前我們的社群也有百來人吧,基本上都是這類人群為主。同時我也希望有更多志同道合的朋友來加入我們。我希望打造出一個生態,讓每個社群的夥伴都能有所收穫。比如有的在這裡學會了做量化交易最終能從市場上賺到錢,有的提升了技術水平在職場上把錢賺回來,有的能從中找到一些付費服務機會為其他人提供服務等等。最後,我也分享一下專案的官網 (opens new window),方便大家做更進一步的瞭解。


這個專案英文名叫 Northstar 代表北極星,喻意它可以幫我們在交易領域指明方向;中文名叫 盈富,寓意著盈滿則富。

專案面向的是單租戶場景的個人應用軟體,採用了 B/S 架構去解決交易平臺會部署在雲伺服器7x24地執行的需求。專案主程式採用了JAVA + springboot的技術棧,前端監控臺則採用js + vue的技術棧。

專案有三大精彩亮點:

  1. 專案的可擴充套件性設計:作者針對量化交易軟體的特點,提供了高度可擴充套件的程式架構,使得使用者可以按自己的需求自行擴充套件,輕鬆對接不同交易所的介面,以及實現不同型別的交易策略。
  2. 使用者程式設計介面的簡化設計:作者巧妙地採用了函數語言程式設計模型,極大地簡化了使用者編寫交易策略的難度。
  3. 交易平臺的抽象模型設計:作者通過這個專案的磨鍊,大大提升了系統架構設計能力,技術水平上升了一個數量級。

更多亮點歡迎各位自行挖掘。

附上專案的地址:

官網地址:https://northstar-doc-1gwbhfxd522a1168-1310148562.ap-shanghai.app.tcloudbase.com/ (opens new window)

倉庫地址:https://gitee.com/dromara/northstar(opens new window)

開源不易,歡迎點贊支援!