- 登入
- 註冊
2015 年以來 Python 在全球的討論度急速上升,老實說 Python 就其他程式語言相比的確好學很多,在數據分析及機器學習的部分更是屌打其他語言。
所以大家不用擔心沒程式背景,網路上也有非常多的 documents 可以參考,開發效率更是高得嚇人,你敢相信短短三行程式碼就可以做量化分析嗎?
程式語言依是否接近核心 Hardware 區分成高低等語言,越接近底層核心屬於低等語言,離底層核心越遠的則為高等語言。
低等語言的語法通常艱澀難懂,寫法非常複雜,好處是執行速度相當快,因為程式碼完全依據功能所開發,相反地高等語言語法非常簡單易懂,短短 3 行就可以達到低等語言需要寫數十行甚至數百行程式碼的功能,缺點是執行速度較低等語言慢,但單就開發效率而言仍屬高等語言佔據優勢。
因為開發時間可能差 1 到 2 小時,但執行速度上可能只慢 3~5 秒,這也是我們之所以選擇用 Python 作為學習的程式語言的原因。
#str (字串)
a = 'apple'
# int (整數)
x = 30
# float (小數點)
y = 4.5
# list
l = [2,3,4,5,6]
# dict
d = {'apple':10,'orange':30}
# bool (布林訊號:True / False)
condition = True
class Animal():
def __init__(self, name):
self.name = name
x = Animal("dog")
print(x.name)
>>> dog
class Account:
def __init__(self,name,number):
self.name = name
self.number = number
self.balance = 0
def deposit(self,amount):
if amount<0:
raise '輸入錯誤'
self.balance += amount
def withdraw(self,amount):
if amount<=self.balance:
self.balance -= amount
else:
raise RuntimeError('餘額不足')
account = Account('Andy','123–456–789') # 輸入使用者名稱 & 電話號碼
account.deposit(100) # 存入100元
account.withdraw(30) # 提出30元
account.balance # 目前存款
>>> 70
# syntactic sugar 快寫法
class Animal:
def __init__(self, barking):
self.barking = barking
def bark(self):
print("Bark~")
@Animal
def dog():
print("woof~")
@Animal
def cat():
print("meow~")
x = dog
x.barking()
>>> woof~
import requests
try:
res = requests.get(url)
except:
print('爬蟲失敗,請稍後再試')
import pandas as pd
# def 寫法
def str_to_numeric(s):
f = pd.to_numeric(str(s))
return f
df = str_to_numeric(df)
# lambda 寫法
df = df.applymap(lambda s:pd.to_numeric(str(s)))
# list 寫法
l = []
for x in df:
if x>0:
l.append('red')
else:
l.append('green')
# list 縮寫法
['red' if x>0 else 'green' for x in df]
Series
import pandas as pd
date = pd.date_range('2022-01-01','2022-01-05')
s = pd.Series([111,124,131,126,121],index=date
>>>
2022-01-01 111
2022-01-02 124
2022-01-03 131
2022-01-04 126
2022-01-05 121
Freq: D, dtype: int64
DataFrame
import pandas as pd
date = pd.date_range('2021-01-05','2021-01-09')
df = pd.DataFrame({
'data1':[120,123,122,127,130],
'data2':[31,33,37,34,29]
},index=date)
>>>
data1 data2
2021-01-05 120 31
2021-01-06 123 33
2021-01-07 122 37
2021-01-08 127 34
2021-01-09 130 29
一路複習下來有沒有感受到 Python 語法的強大呢?特別是資料科學家必學的 pandas 應用,礙於篇幅我們就不特別深入去探討,其實大部分的時候也是需要用到才會去查程式寫法,所以大家不用強迫自己一定要背起來所有的功能!
最後大家如果對於pandas有興趣的話可以參考 《資料科學家的 pandas 實戰手冊:掌握 40 個實用數據技巧》 ,裡面有更多厲害的功能給大家自行去挖掘囉!
我學過AI
可以傳給我Python 交易課程嗎
謝謝
已經在另外一個留言中回覆囉
我有Anconda3想跟您學Python程式交易
請您教我 謝謝🙏
Hi
可以參考我們的【系列課程】第一次用 Python 理財就上手|量化交易進階班(數據處理+精準選股+績效驗證+資產配置+視覺化)