1.Quant åºè¯¥å¦ä¹ åªäº Python ç¥è¯
Quant åºè¯¥å¦ä¹ åªäº Python ç¥è¯
æ°æ®åæçpython软件å ä¸è½ç®æ¯ä¸¥æ ¼çPythonç¥è¯å§ï¼ä¸¥æ ¼æ¥è¯´ï¼çç»ä½¿ç¨é£äºè½¯ä»¶å æ´å¤çè¿æ¯ä¾èµäºéèå¸åºï¼æ°çç»è®¡æ¹é¢çç¥è¯ï¼å 为软件å çAPIé常é½æ¯è¿äºé¢åç¥è¯çæ¯è¯ã
ä½ä¸ºä¸ä¸ªquant,一淘源码 è¿ä¸ªé®é¢ï¼ä¸ä¸ªè¿æ¶åçquantåºè¯¥å¦ä¹ åªäºPythonç¥è¯ï¼çå¿ è¦æ§å¨äºï¼Pythonå¨è¿ä¸ªé¢åççæ¯å¾ç«ï¼ä¸å¥ä¸è¿åçè¯è¯´âåå°è¡ä»¥åè¿è¡å¨Excelä¸ï¼ä»åä¼è¿è¡å¨Pythonä¸â ï¼å½ç¶ææ¯ä¸æ¥è®²ï¼è¿å¹¶éäºå®ï¼è¦è¯´è¿ä¸ªå¯è½æ§çåºç¡ï¼ä»ç¼ç¨è¯è¨ä¸æ¥è®²ï¼è¿å¾æ¯C/C++ï¼è¿éç说æ³æ´å¤æ¯ä½ç°å¨Pythonè¯è¨ä½ä¸ºä¸ç§ææ¥è¿ç¨æ·å±é¢çè¯è¨çæµè¡åº¦èæ¥çï¼ åæ¶å³ä¾¿ä»è¿ä¸ªæä¹ä¸æ¥è®²ï¼ç°å¨æµè¡çè¿æR, Matlab, Q(å¨ä¸äºç¥åé¶è¡å¾æµè¡)çï¼ã
以çç»ææ¡Python为ç®æ ï¼å¯ä»¥è¿æ ·æ¥å ³æ³¨Pythonï¼
Pythonæ¯ä¸é¨ä»ä¹ç¼ç¨è¯è¨ï¼å®çæ¾èä¼å¿åå£å¿åå«æ¯ä»ä¹
Pythonç¼ç¨ç¯å¢çå¿«éæ建ï¼å æ¬å 管çï¼ç°å¨pipæ£å¨è¢«æ ååï¼ï¼ç¼è¾å¨ï¼ä»¥åè°è¯å·¥å ·ï¼
Pythonæ被广æ³è®¤åçç¼ç è§èåæä½³å®è·µæ¯ä»ä¹ (e.g., ('a' + 'b') VS. ''.join(['a', 'b'], è¿ä¸ç¹è¢«å¾å¤åå¦è æ忽ç¥ï¼â为ä»ä¹ä¸å¢ï¼åæ£æç代ç è¿è¡æ£ç¡®äºãâï¼ï¼ä½æ¯å¦æå¦ä¹ è æåè±å¤ä¸ç¹æ¶é´æ¥åçè¿ä¸ªé®é¢ï¼âè½ç¶æå¤ç§éæ©ï¼ä½æ¯åªç§éæ©å¨è¿ä¸ªæ¶åæåéâï¼ï¼æè 说建ç«èµ·æ¥è¿æ ·ä¸ç§æèæ¹å¼ï¼ä½ å°å¾å¿«çè¶ è¶èªå·±ï¼æ为å«äººç¼ä¸çä¸å®¶ã)
Pythonå 建ç主è¦çæ°æ®ç±»åï¼int, long, str, tuple, list, dict, heapq, deque - å 建çæ ååºä¸å¹¶ä¸å å«åC++éé¢é£æ ·ä¸°å¯çæ°æ®ç»æï¼Search Tree, Binary Search Tree, AVL/Splay/Red Black Tree, Graphç, ä¸è¿è¿äºé线æ§çæ°æ®ç»æé½å¯ä»¥å¨PyPIä¸æ¾å°ï¼ï¼ä»¥åå®ä»¬ç常ç¨APIï¼è¿ä¹æ£æ¯Pythonçéªå ç¹ä¹ä¸ï¼å³æåçç¼ç¨æççæ¥æºï¼ã
Pythonç常ç¨æ ååºï¼Pythonæ¥æé常æç¨ååè½å®å¤çæ ååºï¼ä½¿å¾Pythonå¨å®è£ ä¹åå°±è½åºä»å¤§éé®é¢ï¼å¦å符å¤çï¼æ件系ç»ï¼HTTP, 常è§æ°æ®æ件å¤ççãè¯è¨çç»´æ¤è æ©æåºè¯¥æ¯å¸æèµäºPython以ææç模åç»ç»ç»æï¼å¯¹äºæç±»å ·ä½é®é¢é½åå¨ä¸ä¸ªæç¡®ççè³æ¯å¯ä¸ç模åï¼ä½æ¯éçè¿äºå¹´Pythonçæµè¡ï¼ç¬¬ä¸æ¹å ç大éå¢å ï¼è¿ç§åè¡·ç°å¨é¢ä¸´ä¸å°ææãç´è§çç»ææ¯ï¼å¨Python 2.Xççæ¬éï¼ä½ ä¼æ¾å°åurllib2è¿æ ·å½åç模åãç°å¨çPython 3æä½åºçä¼å¤åªåä¸å°±å æ¬å¯¹è¿äºæ¨¡åç»ç»ä¸çæ§ä¹è¿è¡æ´çãæ»çæ¥è¯´ï¼ç¨æ·ä»ç¶è¿æ¯å¯ä»¥è¿ éçåçâæ该使ç¨åªä¸ªæ¨¡åâè¿ä¸ªé常éè¦ä¸å°ç»éªçé®é¢ãï¼
Pythonçé¢å对象èå¼æä¹ä½¿ç¨ï¼å¦ä½å¨æ¤ç解ä¸å¯é çå®ç°å°è£ ï¼éç¨ï¼ç»§æ¿ï¼è¦çï¼
Pythonå¨å¤çç½ç»ç¼ç¨ä¸ç常è§æ¹æ¡ï¼å¸¸ç¨æ åå å第ä¸æ¹å ï¼è¿æ¬èº«æ¯ä¸ä¸ªä¸°å¯çè¯é¢ï¼åæ¶ä¹å ä¹ä¸å¯é¿å ï¼çç»ææ¡è¿ä¸ªè¯é¢éè¦å¤å¹´çç»éªï¼æ·±å±æ¬¡çç解æ´éè¦ç³»ç»ç计ç®æºç§å¦ç¥è¯ï¼ä½æ¯ä½ å¯ä»¥ä»å ¶ä¸æä¸ä¸ªå ·ä½çæ¹æ¡å¼å§ãPythonå 建æ åå æä¾å ä¹ææå±æ¬¡çç½ç»ç¼ç¨æ¯è¯ï¼ä½ å¯ä»¥å·¥ä½å¨ä»IPå°åºç¨çææå±é¢ãï¼
Pythonå¨å¤çCPUå¯éåè¿ç®æ¶åéç¨çæµè¡è§£å³æ¹æ¡ï¼ä»¥åå®ä»¬çå·¥ä½åç大è´æ¯ä»ä¹ï¼è¿ä¸ªç解å¯ä»¥å¸®å©ä½ 以ä¸ååºä¸åçä»ä¼å¤ç¬¬ä¸æ¹æ¹æ¡ä¸éæ©åéçåéè ãæµè¡çæ¹æ¡ä¸è¬æ¯éè¿Python <-> C/C++/Fortranäºæä½ï¼å¯è½ä¼ä½¿ç¨ä¸äºå ç¼ç¨è¯è¨ï¼æ¯å¦Cython)æ¥è¿è¡language translation/generationï¼ä¹æå¯è½ç´æ¥ä»C/C++/Fortranç¼åç软件ä¸æ¥çæäºè¿å¶ç¼ç¨çé¢æè åºç¨ç¼ç¨çé¢ï¼åå³äºçæçè¿ç¨æ¯å©ç¨äºè¿å¶æ件ï¼.lib, .soï¼è¿æ¯æºæ件ï¼ï¼çè³æ´æ°çå°è¯ä¼å©ç¨å°ä¸ä¸ªå¤é¶æ®µçæºä»£ç å¤ç管éï¼ä»Pythonæºä»£ç ï¼ä¸é´C/C++代ç ï¼åå°LLVMå°Python代ç ï¼ç®åæ¯è¾æåçæ¹æ¡ä¼¼ä¹æ¯æå°Pythonçä¸ä¸ªçæ³åéï¼å®æ¶çæ对åºçæºå¨ç ãç解è¿ä¸åçå°å¸®å©ä½ å æPythonå¨CPUå¯éè¿ç®æ¶æéå°çç¶é¢ï¼åæ¶æ认为å¦æä½ å°ä¸ºä½ æå¨çé¨é¨æ建ä¸ä¸ªåºäºPythonçæ°æ®åæå¹³å°