整理一些有趣的 %magic quant
理論篇:
Time series Data: Pandas庫基礎分析——詳解時間序列的處理_慕課手記
Volatility:
Markov Chain:
Arch & Garch:
Factor model:
benchmark
Market impact model
Trading: 怎樣做比特幣期貨?
Crypto守護者:比特幣交易策略系列文章目錄
期貨交易策略回測,收益率曲線,手續費。
TWAP:
Take Average of Open, High, Low and Close values of each individual 10 bars。 Say it a1,a2,a3…。。a10
Take average of a1 to a10。 TWAP= (a1+a2+a3………。。+a10)/10
寫碼篇(編寫module,class以及package):
很多modules有With
__future__
import,和python 版本有關,比如division,可更精確。
風險分析:R 包編寫
Quantopian risk management:
Instability of Estimates
最佳化資料結構:Ordereddict(), Dataframe, array, etc。
函式和module像搭建樂高一樣,精密組裝起來。
groupby object是個比較頑固的孩子: apply, agg, etc.
思考:generic is key & built-in function is value
decorator:wrapper;abstract factory
@ decoratorname(parameters, parameters)
def abc
def abc inherit decorator
global variable
Class: what variable should be class parameter, hasattr()
pythonic: Reduce, map, filter, list & dictionary comprehension。
Functools import reduce
df_merged = reduce(lambda left,right: pd。merge(left,right,on=[‘DATE’],
how=‘outer’), data_frames)
Error throw。。
numpy: vectorize instead of for loop:
implementation with np。cumsum and np。arange
確認過眼神,多看看github上寫的codes、那些大牛們的碼,思路和寫法對我做專案還是很有用的。寫的時候查詢python標準庫也是學習built in methods的好辦法。
##論那些教科書一樣的存在==
python process signals
design pattern
莫煩:為什麼用 Numpy 還是慢, 你用對了嗎?
SQL:機器之心:構建AI前的資料準備,SQL要比Python強SQL:
Multithreading & multiprocessing: 當跑資料跑到哭
用queue和thread有時候不容易嵌入code中,concurrent。futures中的executor(map)。
pool:
pool。apply_async(f, (args,))
p = Process(target=f, args=(‘bob’,))
p。start()
p。join()
同時開ipython cluster8個engine + pool = multiprocessing。Pool(PROCESSES)
cpu。count()
usually map a function to several objects。
Error Throw:
try:
except IndexError:
Py version:
visual studio code, Unit test in python: if _
name
__ = ‘main’
資料庫:寫connector連線到sql:
很多時候是用query,python裡注意資料結構轉換就很容易。
cursor的class值得研究:
cursor。fetchall; result = cursor。executemany(sql_insert_query, records_to_insert)
CPP:
資料視覺化:
時間序列分析以及作圖(plotly非常強大以及漂亮):fasouto/awesome-dataviz時間序列分析以及作圖(plotly非常強大以及漂亮):
可以對應選擇讀者想看的時間軸: 我看到max drawdown和rolling mdd的圖和時間軸時,讓某美到窒息。
一些細節:ipython的圖顯示在html或者本地
Go Package: 介面整潔美觀,是一個很好的tutorial,包括圖的種類也很全面。
Button和interactive plot,自定義輸入parameter的值,得到相應的結果,還可以放大拉近圖:
下拉選單點點點,slider嘩嘩滑。
所用工具是jupyter,(拯救自己的整理癖,實在編寫的檔和函式版本太多了QAQ)強烈安利一個jupyter的魔法工具,nbextensions_configurator:
https://
github。com/Jupyter-cont
rib/jupyter_nbextensions_configurator
安裝之後可以隱藏某些程式碼,比如設定了 %env的環境係數隱藏起來。比如用在了連結資料庫sql的username,用os。environ。get(‘USER’)代替。
其中有個目錄的按鈕,可以顯示側邊目錄。我學習一個github資源,用兩個json files和css file修改了側邊目錄大小,滾動,etc:
https://
github。com/cqcn1991/Win
d-Speed-Analysis
code_prettify的小錘子也很好用呀,knock knock code,讓它變得規範整潔起來~
UI & 資料庫 & 視覺化介面(成熟產品):
Python連線sql的碼,cursor很好用,class在python有詳細解說。下達命令就可以獲取資料。如果資料量大,考慮運用mutithreading或者
https://
github。com/ipython/ipyp
arallel
。在jupyter的選單介面有個IPython parallel computing clusters,一鍵點起可以選多個engine跑。
當然也可以選擇在python裡跑mysqlshell的command,但巨慢無比。。。
表格:
我一直思考除了python dataframe和形成html外有什麼做美觀報告表格的。
有個包叫qgrid:
https://
github。com/quantopian/q
grid
Dashboard:
蘇克1900:比 Matplotlib 和 Pyecharts 逼格更高的視覺化神器
寫在後面的log日誌:
想活著。靠譜:認真負責&靈活
喜歡被人critique:雖然一時心情很down但特珍惜有效反饋,能進步,後會有自我滿足
思考。本來就喜歡找些問題來思考。工作從實用性、全面思考最有效。做出來的成果,解決了什麼問題。
萬里長城今猶在
5。 今天深感博弈論意義重大,畢竟經濟基礎決定上層建築。有部分人對博弈論下定義是完全基於理性判斷。
感覺心理學在經濟行為和博弈論中佔有很大成分。比如風險厭惡,資訊不對成的模型呈凸函式。譬如人趨利避害,而規避風險的常規性決定了傾向variance小而mean差不多的bet(unfair coin flip)。市場參與者不是總會純粹理性判斷。小組合作成員和老闆的喜好感觀,會影響願不願意幫助你。
中帶連坐效應。
一個人存在的意義的餅圖裡,最大的那一塊、價值。工作裡,類似給公司創造的價值。給自己創造的存在感。