從零構建區塊鏈量化交易平臺課程總結-思維模型和方法論提煉

一、前言

零零散散大概花了半年時間終於把自己這三年的區塊鏈量化交易實踐總結成了一門課程,總共十一章、61節課,包含了Java後端、Web前端、APP移動端的開發過程和整套項目源碼。從一開始的軟件安裝、數據庫建表、代碼編寫,到最後金融知識的講解。也算是總結了自己在軟件開發領域、金融領域的部分知識技能。如果你感興趣的話,可以點擊鏈接購買:https://edu.csdn.net/course/detail/25822

二、感悟

這裏簡單提煉下,自己在軟件項目開發和量化交易中所用到的思維模型和方法論。

1、框架型思維

在軟件開發中框架思維是比較常用的,現在的軟件開發基本都是先搭建好一個框架,測試好沒問題後,再開始填充相應的功能模塊。

框架的好處是確定了基本公用模塊後,能根據自己的業務需求進行伸展和收縮;同時也減少了代碼的冗餘,提高了開發效率和開發人員的協同合作。

現在的軟件開發基本都是屬於框架開發模式,這樣做的好處就是很多人可以同時參與一個項目,並且互不干擾,簡化了繁瑣的過程,規範化了處理流程。

當然框架也有侷限性,任何事物都存在多面性。因爲框架規範化事物處理邏輯,相當於制定了規則,如果要使用框架,就必須按照規則來執行,這就喪失了相對的靈活性和自由度

這點在該項目中的代碼生成模塊就體現出來了,因爲我想要直接生成前後端的代碼,減少開發量,就是直接建立規範化的代碼模板,使用模板引擎來直接生成代碼,這樣我就不用重複開發類似功能了,開發效率是大大提升了。

但也存在問題,就是我想更改某個方法時不好操作,一改就會破壞其規範性。但解決方法總比問題多,後面我增加其框架的可擴展性,添加特殊功能方法手寫的模式就解決了。

當然實際生活中,我們也可以運用框架性思維的特性來改善我們的生活,提高工作效率。

我們先明白框架的特性:

1、框架提供可重用的公共模塊。

2、框架把繁瑣的過程簡單化。

3、框架把處理流程規範化。

根據這些特性,我們就可以使用它了,比如說,你想完整的輸出一個像模像樣的東西,比如一份報告、一門課程,一篇文章等等,可以使用框架思維,使用框架思維的一種工具就是思維導圖,就像我下面的課程大綱一樣,它能讓我抓住整個課程的整體。其他的例子就不再一一例舉。

2、對策學思維

在沒有接觸到金融交易前,我幾乎沒有認真瞭解過關於對策學的東西,自己也沒有想過什麼概率思維。一直不斷的去學習、瞭解,才知道自己不懂概率思維、策略思維。

對策學,是一門涉及到人類一切生活領域裏的科學。所爲對策,是指主題在和客體的交往過程中,由於客體業已發生了變化,主體爲了求得自身的生存和發展,繼續保持和客體的平衡狀態,遂依靠自身的主觀能動性,提出的目的旨在對付已經變化的客體的方針、政策、辦法和措施等等。

之所以要了解對策學的知識,是源自金融交易本身是要根據行情做出決策,以應對不同的變化來達到盈利,並且這點在我們的量化交易策略的開發中是要考慮到的。當然對策學的相關知識在其實我們也是在生活中很常用的,只是我們自己沒有發覺而已,在經濟學學科分支有一個博弈論,其實也稱爲對策論(Game Theory)還有一個名稱是運籌學。大家可以自己去搜索瞭解,這裏就不再介紹了。相關的學術論文請查看文末鏈接。

分享個在對策學中常用的一種分析方法:“向前展望,倒後推理。”

向前展望:決策前,預測對方的行爲以及行爲的結果。

倒後推理:明確最終目標,往後倒推逐漸確定策略。

 

3、在方法層面,我們對於信息的獲取,儘量獲取到一手信息,減少通過第三方獲取信息。

這點的重要性常常體現在我們遇到bug時的處理環節。大部分人寫代碼時遇到問題,首先是複製問題,然後百度搜索,看看別人是如何處理的,在看看自己的情況。我在剛開始學習軟件開發時也是這樣操作的,後面遇到百度上也沒人提供解決方法的問題,於是就自己去看官方的文檔,解決了。

有時發現官方文檔裏面已經包含絕大數我們會遇到的問題的處理方法。

就像這個項目的APP端開發中用到的Ionic框架,一部分問題是搜索不到的,因爲我是採用最新版的,即使搜到了也不是最新版的。去看官方文檔的話,會發現其實官方已經給出瞭解決方法。

當然,導致我們不能直接去看原生文檔的一個原因,可能是語言問題。

在軟件開發領域,大部分官方文檔都是英文文檔,比如SpringBoot、Maven等等。能用英語看懂官方文檔可能是絕大數國內程序員的天花板。

還有一個可能是邏輯思考能力不足,這點我自己也是存在,記得再剛畢業去找工作時,去了一家外企公司面試。進去後直接給了一份英文的邏輯思維能力測試題,我自己測試的結果是沒有通過。但這不影響我去提高自己的邏輯思維能力,只要不放棄就一定會有進步。

 

三、項目信息

整個課程的大綱我就直接用思維導圖列出來了,或者你也可以直接點擊鏈接(https://edu.csdn.net/course/detail/25822)查看課程的目錄:

簡單說下整套系統所用到技術框架:

1、Java後端:

SpringBoot2.2.4、SpringSecurity5.2.1、MyBatisPlus3.3.1、JJwt0.9.1、Maven。

2、數據庫:

PostgreSQL12.1。

3、Web前端:

Vue CLI4.2.0、Vue2.6.11、 VueRouter3.1.5、Axios0.19.2、ElementUI2.13.0、Echarts4.6.0。

4、APP移動端:

Ionic CLI、Ionic、Angular、TypeScript、Cordova、Cordova CLI

因爲一個人開發的話主要是考慮工作量和效率,所以APP端就採用WebApp的混合開發模式。

全部看下來可以說是一個人完成了全部開發,也算是全棧開發了,哈哈。

下圖是大概的系統功能模塊圖:

功能模塊主要是分爲基礎功能模塊,交易任務策略管理模塊,安全模塊。整個系統去除了我以前開發的多餘功能,只留下了精簡實用的功能。

下面是系統的WEB端界面截圖:

下面是APP端的界面圖:

 

下面是APP的夜間模式:

最後簡單說明下軟件開發和金融市場交易都是屬於實踐領域,需要自己實際去動手操作,纔算學習,才能掌握相應的技能。

祝一路順風!課程鏈接:https://edu.csdn.net/course/detail/25822


參考文獻:

1、https://www.jianshu.com/p/5a6d7efed329

2、https://blog.csdn.net/hawksoft/article/details/87910842

3、https://www.jianshu.com/p/a05e8d16559e

4、https://www.doc88.com/p-0562542090557.html

5、https://www.ixueshu.com/document/dbd5fac680c53666318947a18e7f9386.html

6、http://xueshu.baidu.com/usercenter/paper/show?paperid=cd7c77ae4cb63144efe43608c292e8dd

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章