A. 未來十年Python的前景會怎樣
Python是一款流行的計算機編程語言,具有簡單、易學、免費、開源、可移植、可擴展、可嵌入以及面向對象等特點,擁有強大的庫,簡潔的幾行代碼即可實現強大的功能,應用范圍廣泛,可廣泛應用於以下領域:
1. Web開發
最火的Python web框架Django,支持非同步高並發的Tornado框架,短小精悍的flask,bottle,Django官方的標語把Django定義為the framework for perfectionist with deadlines(大意是一個為完全主義者開發的高效率web框架)
2. 網路編程
支持高並發的Twisted網路框架,py3引入的asyncio使非同步編程變的非常簡單
3. 爬蟲開發
爬蟲領域,Python幾乎是霸主地位,Scrapy/Request/BeautifuSoap/urllib等,想爬啥就爬啥
4. 雲計算開發
目前最火最知名的雲計算框架就是OpenStack,Python現在的火,很大一部分就是因為雲計算市場近幾年的爆發
5. 人工智慧
MASA和Google早期大量使用Python,為什麼Python積累了豐富的科學運算庫,當AI時代來臨後,Python從眾多編程語言中脫穎而出,各種人工智慧演算法都基於Python編寫,由其PyTorch之後,Python作為AI時代頭牌語言的位置基本確立!
6. 自動化運維
問問中國的每個運維人員,運維人員必須會的語言是什麼?10個人詳細會給你一個相同的答案,它的名字叫Python
7. 金融分析
金融公司使用的很多分析程序、高頻交易軟體就是用的Python,目前,Python是金融分析、量化交易領域里用得最多的語言
8. 科學運算
97年開始,NASA就在大量使用Python在進行各種復雜的科學運算,隨著NumPy,SciPy,Matplotlib,Enthought librarys等眾多程序庫的開發,使得Python越來越適合做科學計算、繪制高質量的2D和3D圖像。和科學計算領域最流行的商業軟體Matlab相比,Python是一門通用的程序設計語言,比Matlab所採用的腳本語言的應用范圍更廣泛
9. 游戲開發
在網路游戲開發中Python也有很多應用。相比Lua or C++,Python比Lua有更高階的抽象能力,可以用更少的代碼描述游戲業務邏輯,與Lua相比,Python更適合作為一種Host語言,即程序的入口點是在Python那一端會比較好,然後用C/C++在非常必要的時候寫一些擴展。Python非常適合編寫1萬行以上的項目,而且能夠很好的把網游項目的規模控制在10萬行代碼以內。
10. 桌面軟體
雖然大家很少使用桌面軟體了,但是Python在圖形界面開發上也很強大,你可以用tkinter/PyQT框架開發各種桌面軟體!
B. Python 做高頻交易系統適合哪個級別的延遲
知乎文章轉載請註明: 目前國內的高頻交易系統的延遲做到了什麼水平? | 知乎精選 關鍵字: 交易 , 高頻交易(HFT) , 期貨交易 , 量化交易 , 交易系統
C. 什麼是高頻交易系統
1、高頻交易系統概述
高頻交易是指從那些人們無法利用的極為短暫的市場變化中尋求獲利的計算機化交易。
比如,某種證券買入價和賣出價差價的微小變化,或者某隻股票在不同交易所之間的微小價差。
這種交易的速度如此之快,以至於有些交易機構將自己的「伺服器群組」(server farms) 安置到了離交易所的計算機很近的地方,以縮短交易指令到達交易所的距離。
2、高頻交易系統特點
(1)交易指令完全由電腦發送,對市場數據的響應延時在微秒級,有的甚至是納秒級;
(2)系統由專用的軟、硬體組成;
(3)系統的硬體需要放在離交易所主機很近的位置上,所謂 co-location。
3、高頻交易的兩大核心要素
(1)一是產生高頻交易信號的交易策略;
(2)二是優化交易執行過程的演算法。
1、高頻交易系統的特點
高頻系統是一種非常有特點的計算機應用。在輸入和輸出層面,數據比較簡單。
輸入用的都是市場行情數據,用的是Tick級別,甚至是更細顆粒度,比如用order book上數據。
輸出就是報單到交易所,執行層面上頻率會比較高,有可能會大量、頻繁地向交易所報單。系統運行時處理的信號源是交易所播報的實時行情,要求用最快的速度對信號進行拆解、計算和輸出,對於系統的實時計算能力的要求也比較高。
同時,一般高頻交易系統從邏輯的層面上來說是比較簡單的。
2、編程語言的選擇
目前,高頻交易系統最主流的是C/C++語言。
這是一種優點及其很顯著的語言。相比依賴虛擬機的JAVA和Python而言,C/C++是一種非常接近底層硬體的開發語言,對硬體操控的控制度、靈活度都超過其他語言,在性能上的把控力會更強。
但是,其語法相當復雜,比較難學,沒有受過系統編程訓練的開發者,掌握起來比較困難。
同時,使用C/C++編程也可以獲得及其優越的性能,這對於高頻交易系統來說,就非常重要了!並且,國內大多數的交易所提供的都是C++級別的類庫,只有用C++進行開發,才能方便進行系統對接。
D. python主要可以做什麼
Python幾乎無所不能,通俗易懂、容易入門、功能強大,學習後可以從事以下工作崗位:
1. Web開發
最火的Python web框架Django,支持非同步高並發的Tornado框架,短小精悍的flask,bottle,Django官方的標語把Django定義為the framework for perfectionist with deadlines(大意是一個為完全主義者開發的高效率web框架)
2. 網路編程
支持高並發的Twisted網路框架,py3引入的asyncio使非同步編程變的非常簡單
3. 爬蟲開發
爬蟲領域,Python幾乎是霸主地位,Scrapy/Request/BeautifuSoap/urllib等,想爬啥就爬啥
4. 雲計算開發
目前最火最知名的雲計算框架就是OpenStack,Python現在的火,很大一部分就是因為雲計算市場近幾年的爆發
5. 人工智慧
MASA和Google早期大量使用Python,為什麼Python積累了豐富的科學運算庫,當AI時代來臨後,Python從眾多編程語言中脫穎而出,各種人工智慧演算法都基於Python編寫,由其PyTorch之後,Python作為AI時代頭牌語言的位置基本確立!
6. 自動化運維
問問中國的每個運維人員,運維人員必須會的語言是什麼?10個人詳細會給你一個相同的答案,它的名字叫Python
7. 金融分析
金融公司使用的很多分析程序、高頻交易軟體就是用的Python,目前,Python是金融分析、量化交易領域里用的最多的語言
8. 科學運算
97年開始,NASA就在大量使用Python在進行各種復雜的科學運算,隨著NumPy,SciPy,Matplotlib,Enthought librarys等眾多程序庫的開發,使得Python越來越適合做科學計算、繪制高質量的2D和3D圖像。和科學計算領域最流行的商業軟體Matlab相比,Python是一門通用的程序設計語言,比Matlab所採用的腳本語言的應用范圍更廣泛
9. 游戲開發
在網路游戲開發中Python也有很多應用。相比Lua or C++,Python比Lua有更高階的抽象能力,可以用更少的代碼描述游戲業務邏輯,與Lua相比,Python更適合作為一種Host語言,即程序的入口點是在Python那一端會比較好,然後用C/C++在非常必要的時候寫一些擴展。Python非常適合編寫1萬行以上的項目,而且能夠很好的把網游項目的規模控制在10萬行代碼以內。
10. 桌面軟體
雖然大家很少使用桌面軟體了,但是Python在圖形界面開發上也很強大,你可以用tkinter/PyQT框架開發各種桌面軟體!
E. Python適合做什麼
從語言的角度上來看,除了極少的領域之外,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強大,學習後可以從事以下工作崗位:
1. Web開發
最火的Python web框架Django,支持非同步高並發的Tornado框架,短小精悍的flask,bottle,Django官方的標語把Django定義為the framework for perfectionist with deadlines(大意是一個為完全主義者開發的高效率web框架)
2. 網路編程
支持高並發的Twisted網路框架,py3引入的asyncio使非同步編程變的非常簡單
3. 爬蟲開發
爬蟲領域,Python幾乎是霸主地位,Scrapy/Request/BeautifuSoap/urllib等,想爬啥就爬啥
4. 雲計算開發
目前最火最知名的雲計算框架就是OpenStack,Python現在的火,很大一部分就是因為雲計算市場近幾年的爆發
5. 人工智慧
MASA和Google早期大量使用Python,為什麼Python積累了豐富的科學運算庫,當AI時代來臨後,Python從眾多編程語言中脫穎而出,各種人工智慧演算法都基於Python編寫,由其PyTorch之後,Python作為AI時代頭牌語言的位置基本確立!
6. 自動化運維
問問中國的每個運維人員,運維人員必須會的語言是什麼?10個人詳細會給你一個相同的答案,它的名字叫Python
7. 金融分析
金融公司使用的很多分析程序、高頻交易軟體就是用的Python,目前,Python是金融分析、量化交易領域里用的最多的語言
8. 科學運算
97年開始,NASA就在大量使用Python在進行各種復雜的科學運算,隨著NumPy,SciPy,Matplotlib,Enthought librarys等眾多程序庫的開發,使得Python越來越適合做科學計算、繪制高質量的2D和3D圖像。和科學計算領域最流行的商業軟體Matlab相比,Python是一門通用的程序設計語言,比Matlab所採用的腳本語言的應用范圍更廣泛
9. 游戲開發
在網路游戲開發中Python也有很多應用。相比Lua or C++,Python比Lua有更高階的抽象能力,可以用更少的代碼描述游戲業務邏輯,與Lua相比,Python更適合作為一種Host語言,即程序的入口點是在Python那一端會比較好,然後用C/C++在非常必要的時候寫一些擴展。Python非常適合編寫1萬行以上的項目,而且能夠很好的把網游項目的規模控制在10萬行代碼以內。
10. 桌面軟體
雖然大家很少使用桌面軟體了,但是Python在圖形界面開發上也很強大,你可以用tkinter/PyQT框架開發各種桌面軟體!
F. python都可以干什麼
Python是一款流行的計算機編程語言,具有簡單、易學、免費、開源、可移植、可擴展、可嵌入以及面向對象等特點,擁有強大的庫,簡潔的幾行代碼即可實現強大的功能,應用范圍廣泛,可廣泛應用於以下領域:
1. Web開發
最火的Python
web框架Django,支持非同步高並發的Tornado框架,短小精悍的flask,bottle,Django官方的標語把Django定義為the
framework for perfectionist with deadlines(大意是一個為完全主義者開發的高效率web框架)
2. 網路編程
支持高並發的Twisted網路框架,py3引入的asyncio使非同步編程變的非常簡單
3. 爬蟲開發
爬蟲領域,Python幾乎是霸主地位,Scrapy/Request/BeautifuSoap/urllib等,想爬啥就爬啥
4. 雲計算開發
目前最火最知名的雲計算框架就是OpenStack,Python現在的火,很大一部分就是因為雲計算市場近幾年的爆發
5. 人工智慧
MASA和Google早期大量使用Python,為什麼Python積累了豐富的科學運算庫,當AI時代來臨後,Python從眾多編程語言中脫穎而出,各種人工智慧演算法都基於Python編寫,由其PyTorch之後,Python作為AI時代頭牌語言的位置基本確立!
6. 自動化運維
問問中國的每個運維人員,運維人員必須會的語言是什麼?10個人詳細會給你一個相同的答案,它的名字叫Python
7. 金融分析
金融公司使用的很多分析程序、高頻交易軟體就是用的Python,目前,Python是金融分析、量化交易領域里用的最多的語言
8. 科學運算
97年開始,NASA就在大量使用Python在進行各種復雜的科學運算,隨著NumPy,SciPy,Matplotlib,Enthought
librarys等眾多程序庫的開發,使得Python越來越適合做科學計算、繪制高質量的2D和3D圖像。和科學計算領域最流行的商業軟體Matlab相比,Python是一門通用的程序設計語言,比Matlab所採用的腳本語言的應用范圍更廣泛
9. 游戲開發
在網路游戲開發中Python也有很多應用。相比Lua or
C++,Python比Lua有更高階的抽象能力,可以用更少的代碼描述游戲業務邏輯,與Lua相比,Python更適合作為一種Host語言,即程序的入口點是在Python那一端會比較好,然後用C/C++在非常必要的時候寫一些擴展。Python非常適合編寫1萬行以上的項目,而且能夠很好的把網游項目的規模控制在10萬行代碼以內。
10. 桌面軟體
雖然大家很少使用桌面軟體了,但是Python在圖形界面開發上也很強大,你可以用tkinter/PyQT框架開發各種桌面軟體!
G. 金融工程現在用python多嗎
對於不同的quant崗位,使用的軟體大不相同。
如果是做定價模型的,可能最經常用的是matlab,因為語言簡單,擴展包優良。對於不需要對時間有要求的衍生品定價,最為適合。
如果是做高頻交易,最常用的是C++,因為速度快。有很多的高頻公司,都有自己寫的底層包,並為此花了大量的人力和物力去維護。
如果是寫盈利模型的,會更多的選擇R。R裡面有很多前沿的統計模型包。對於統計分析和時間序列處理非常強大。但是擴展包沒有matlab的穩定。
對於Python 而言,更像是一種全能的編程需要。無論是網路抓包,統計分析,還是數值分析,都有還算不錯的方案。但是,在專業領域方面,還是弱於上邊提到的語言。
其實在不同的金融公司,有著不同的語言使用傳統,有的喜歡C++,有的喜歡C#,有的喜歡Java。但是對於一個成熟的公司而言,需要對這些語言都提供良好的支持。畢竟一個好的trader是十分難得的,難道就因為使用語言的不同就拒絕能讓他發財的人才么?
其實,軟體只是一個載體,思想才是最核心的。我工作的地方,大家都用VBA。交易的時候,滿屏的Excel。只要能完成工作,誰管你用什麼語言。
H. 現在學好python能幹什麼
python可以做什麼
1 首先,最基本的功能就是藉助python中自帶的科學計算包Numpy、padas、matplotlib等,完成復雜的數據分析。
看到這里有沒有想學習python的沖動呢,如果你是新手,想學習python又苦於沒有好的學習資源,那麼小編給你提供一個免費獲取30G的python學習資源包,關注我們實驗室的微信公眾號,回復「菜鳥起飛」,即刻免費獲取資源!
I. Python 做高頻交易系統適合哪個級別的延遲
比較現實的說是1ms級別的,如果你用python現成的library(urlib, request)接收數據至少有100us級別的延遲,一般交易系統需要多線程,python的GIL又會增加延遲,而且交易最忙的時候因為處理大量數據,python的GC更容易發生。用C或Cython寫核心部分不能提高很多,因為python的延遲是因為language design而不是computation造成的。當然這些問題可以改進,比如自己做一套tcp連接程序什麼的,不過這些恐怕並不比寫c++更容易。
另外上面的回答里的時間測試不一定有代表性,在一個簡單的loop測時間的話compiler和CPU會做很多你想不到的事情,結果會和真實值差很多。