程式小專題 – 計算ATR #2 用csv檔建立DataFrame

在上一篇我用 python 讀了一個 csv 檔,轉換成串列後我就卡住了,因為手邊的書好像沒有繼續接著講之後怎麼操作。接著我就上網找資料,發現 pandas 似乎可以比較有效做到我想達成的目標,就且戰且走開始學習pandas啦。

本來在 kaggle.com 看到一個免費的線上教學,但總覺得不是特別容易親近,所以還是找了本中文書來看。

那就開始吧!

import numpy as np
import pandas as pd 
import os

os.getcwd() #我在哪兒?
os.chdir('D:\\Project\\ATR') #更改工作目錄到ATR資料夾

df = pd.read_csv("SE 日線.csv", usecols = list(range(7)))

'''在此可能會碰到讀取資料出現UnicodeDecodeError,我就直接用記事本另存UTF-8
用usecols來選前面七欄,用串列來選,所以需要list把range轉成串列,直白'''

df_se = df.tail(23) #用.tail(23)把最後23列挑出來 
df_se.index = range(23) #把index改成0到22

df_se#來看看長什麼樣
    日期        開盤     最高    最低     收盤    漲跌    漲跌%
0   2019/11/21  37.270  37.460  36.6438  37.230 -0.030 -0.0805
1   2019/11/22  37.020  37.570  36.5800  37.270  0.040  0.1074
2   2019/11/25  37.460  38.050  37.1200  37.370  0.100  0.2683
3   2019/11/26  37.380  38.090  37.2200  37.760  0.390  1.0436
4   2019/11/27  37.880  37.980  37.3200  37.780  0.020  0.0530
5   2019/11/29  37.720  37.720  36.8150  37.020 -0.760 -2.0116
6    2019/12/2  37.070  37.070  35.8700  36.590 -0.430 -1.1615
7    2019/12/3  35.620  37.020  35.3000  36.750  0.160  0.4373
8    2019/12/4  37.250  37.430  36.8150  37.100  0.350  0.9524
9    2019/12/5  37.540  38.300  37.0800  37.840  0.740  1.9946
10   2019/12/6  38.360  38.970  37.5600  37.810 -0.030 -0.0793
11   2019/12/9  37.885  37.995  36.7300  36.760 -1.050 -2.7770
12  2019/12/10  36.890  37.100  36.4100  36.605 -0.155 -0.4217
13  2019/12/11  36.650  36.800  36.0100  36.770  0.165  0.4508
14  2019/12/12  36.685  37.480  36.2700  37.310  0.540  1.4686
15  2019/12/13  37.290  37.675  36.6800  36.800 -0.510 -1.3669
16  2019/12/16  37.000  38.129  36.8500  38.010  1.210  3.2880
17  2019/12/17  38.430  38.480  37.7100  38.000 -0.010 -0.0263
18  2019/12/18  38.020  38.020  36.8000  37.605 -0.395 -1.0395
19  2019/12/19  37.700  39.200  37.6300  38.810  1.205  3.2044
20  2019/12/20  38.920  39.340  38.0550  39.340  0.530  1.3656
21  2019/12/23  38.700  39.360  38.5200  38.850 -0.490 -1.2456
22  2019/12/24  38.960  39.450  38.7600  39.110  0.260  0.6692

嗯,看起來挺好的,應該比上一篇的方法更適合做資料分析吧。😊

這個se的dataframe其實就是蝦皮母公司 Sea Limited 在美國掛牌的ADS過去23個交易日的數據啦!目前處在新高區間哦!😎

這個code雖然只有一咪咪,但我可是搞了老半天呀,希望 learning curve 可以更陡峭一點。很多問題可以直google找方法解決,不知道這種學習方式什麼時候可以看到 pay off😅

另外我今天發現券商軟體也有ATR,同樣可以設定不同參數,那豈不是連用excel計算ATR都是多餘的?這讓我想到了 no code movement… 學會釣魚好像比較實在一點,因為要實現no code就代表一群人在coding,獲得capability總是比較實在。還是上面那段:要多久呀😖

發表留言