課程綱要

課程安排

  1. 課程簡介
  2. Python
    1. 入門
    2. 設計
    3. 物件導向
  3. 抽樣
    1. 簡介
    2. 設計
      1. 亂數
      2. 重組
    3. 資料模擬與分佈檢定
      1. 常態
      2. 二元
    4. 資料庫抽樣
      1. 讀取 CSV
      2. 繪圖
      3. 物件導向
      4. 回歸分析
  4. 案例情境 (一)
    1. 說明
    2. 讀取資料檔
    3. 計算振幅與各期比率
    4. 計算殘差值
    5. 分組討論

 

  1. 雲端資料庫
    1. 簡介
    2. 設計
    3. 分析
  2. 資料檢索
    1. 簡介
    2. 工具
    3. 設計
  3. 案例情境 (二)
    1. 說明
    2. 分組討論
  4. 期末作業
    1. 常態分佈
  5. 網站設計 (web2py)

分析環境

  1. Python
  2. Java
  3. Solr

範例


# -*- coding: utf-8 -*-
# 產生隨機數值組
import numpy as np # 產生 1 個亂數 a = np.random.random_sample() print(a, type(a)) # 產生 1 個介於 u~v 之間亂數 u = 2 v = 7 a = (v - u) * np.random.random_sample() + u print(a, type(a)) # 產生 1 組 n 個亂數 n = 5 a = np.random.random_sample(n) print(a, type(a)) print(a.sum(), a.mean(), a.std()) # 產生 2 維 rowCount*colCount 個亂數 rowCount = 3 colCount = 5 a = np.random.random_sample((rowCount, colCount)) print(a, type(a)) # 計算每列 for row in range(0, rowCount): print(row, a[row,:].sum(), a[row,:].mean(), a[row,:].std()) # 計算每欄 for col in range(0, colCount): print(col, a[:,col].sum(), a[:,col].mean(), a[:,col].std())
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# -*- coding: utf-8 -*-

import codecs

stockFileName = '/Users/richlee/Documents/Stocks-X.csv'

f = codecs.open(stockFileName, 'r', encoding='utf-8')

a = f.readlines()

aDate = []
aHigh = []
aLow = []
aOpen = []
aClose = []
aVol = []
aAdjClose = []

for row in a[2:]:
    _row = row.strip()
    _fields = _row.split(',')
    
    aDate.append(_fields[0])
    aHigh.append([float(_fields[1]), float(_fields[7])])
    aLow.append([float(_fields[2]), float(_fields[8])])
    aOpen.append([float(_fields[3]), float(_fields[9])])
    aClose.append([float(_fields[4]), float(_fields[10])])
    aVol.append([float(_fields[5]), float(_fields[11])])
    aAdjClose.append([float(_fields[6]), float(_fields[12])])

for row in range(0, len(aClose)):
    _fields = aClose[row]
    print('%s\t%.3f\t%.3f' % (aDate[row], _fields[0], _fields[1]))

i = 0
for _fields in aClose:
    print('%s\t%.3f\t%.3f' % (aDate[i], _fields[0], _fields[1]))
    i += 1   
    
f.close()
ċ
KBirdy.py
(2k)
李智,
2015年10月26日 上午6:12
ċ
SP500.csv
(1164k)
李智,
2015年10月26日 上午2:00
Ċ
李智,
2015年12月21日 上午12:56