# Fintech 2023 作業一 - 作業相關重要規範 - 作業於10月15號晚上23:59截止,接著自10月16號至12月22號止,會根據同學的交易策略對當日做買賣判斷。 - 單次myStrategy的運算時間以1秒為限。 - 作業繳交格式及注意事項(2023/10/18 編輯) - 請繳交<學號>.zip,例如:R12345678.zip,內容資料夾結構如下: ``` R12345678.zip └─ /R12345678 ├─ myStrategy.py ├─ report.pdf └── /src ├─ model.py ├─ model.pt (or *.ckpt, *.pkl, ...) └─ other source code ``` - 解壓縮後應該會是以學號命名的資料夾,不符合者會斟酌扣分。 - 必須包含 myStrategy.py 以及 report.pdf,且名稱需符合格式,不符合者會斟酌扣分。 - myStrategy.py 內需要有實作好的 myStrategy(pastPriceVec, currentPrice),助教會去呼叫這個 function,若助教無法執行,則會視嚴重程度扣分。 - 若需要使用 src 內的檔案,請善用以下兩種方式 ``` import os file_path = os.path.abspath(os.getcwd()) file_path = os.path.dirname(os.path.realpath(__file__)) src_path = os.path.join(file_path, 'src') ``` - 請避免上傳無關的檔案。 - 作業批改環境 - 請參考[這裡](https://hackmd.io/@9SdN0kGHRzSrh7VKaILAlg/SyEvQWbla)。 ## Q & A ### 交易策略程式以及輸入資料相關 * Q. 輸入資料格式? A. 傳入的歷史股價會從 2019/01/02 開始到預測日當天。以開始預測的第一天(10/16)為例,pastPriceVec 將會是 2019/01/02 - 2023/10/13 的收盤價,而 currentPrice 會是 2023/10/16 當天的收盤價。到最後一天(12/22)的時候,pastPriceVec 會含有 2019/01/02 - 2023/12/21 的收盤價,而 currentPrice 會是 2023/12/22 當天的收盤價。 * Q. 必須先買才能賣嗎? A. 對,必須先持有股票才能賣。 * Q. function 參數沒告訴我我有幾張股票跟多少錢我要怎麼買賣 ? A. 每次操作都是全買或全賣,簡化參數不考慮持有金額或股票,需要考慮的就只有從過往到當日收盤價。 * Q. 是否可以使用talib套件做為指標分析的工具? A. 可以,版本後續會列於套件hackmd文件中。 * Q. 輸入myStrategy.py的歷史股價和當前價是什麼格式,list, numpy array 或 pandas array? A. 可以從範例的rrEstimate.py去測試並得知輸入的資料type 分別為 <class ‘numpy.ndarray’> <class ‘numpy.float64’> ### ML相關方法和問題 * Q. pytorch 會支援gpu執行還是cpu執行 A. GPU * Q. pytorch要讀的pretrain參數檔如何上傳使用 A. 依照作業繳交格式,請以相對路徑使用上傳的模型參數 Reminder: 如果有使用到NN模型,請在 myStategy function 內自行 initialize,載入模型的時間也會算進執行時間當中 ### 作弊相關 * Q. 用 global variable 或其他作弊方法抓到所有價格 A. 作業截止後回測期間每日根據當日 Adj. Close 計算當日買賣決策,約2個月後再直接以歷史股價回測所有決策的報酬率。
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.