kharuka2016のブログ

日々の出来事を書き留めておくブログ

実践データ解析- 株式市場その1-

目次

前提条件

  • OS:Windows 10 64-bit, version 1607

  • Anaconda 4.4.0(Python 3.6 version 64-bit)インストール

実践データ解析 目次

1. タイタニックその1

kharuka2016.hatenablog.com

2. タイタニックその2

kharuka2016.hatenablog.com

3. タイタニックその3

kharuka2016.hatenablog.com

4. タイタニックその4

kharuka2016.hatenablog.com

5. 株式市場のデータ解析入門

6. 株式市場その1

7. 株式市場その2

8. 株式市場その3

9. 株式市場その4

10. 株式市場その5

11. 選挙とデータ解析

12. 選挙その1

13. 選挙その2

14. 選挙その3

株式市場その1

1. コマンドプロンプトでJupyter Notebookを起動します。

jupyter notebook

2. 写経したソースコードGitHub Repositoryを参照してください。

github.com

3. 課題

3.1. 株価の時間による変化を見てみる。
3.2. 日ごとの変動を可視化する。
3.3. 移動平均を計算する
3.4. 複数の株価の終値の相関を計算する
3.4. 複数の株価の変動の関係を見る
3.5. 特定の株のリスクを計算する
3.6. シミュレーションを使った未来の予測

4. 補足

4.1. from pandas.io.data import DataReaderの箇所で以下のエラーがでます。

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-3-94408a55e554> in <module>()
----> 1 from pandas.io.data import DataReader

C:\Users\<user name>\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\io\data.py in <module>()
      1 raise ImportError(
----> 2     "The pandas.io.data module is moved to a separate package "
      3     "(pandas-datareader). After installing the pandas-datareader package "
      4     "(https://github.com/pydata/pandas-datareader), you can change "
      5     "the import ``from pandas.io import data, wb`` to "

ImportError: The pandas.io.data module is moved to a separate package (pandas-datareader). After installing the pandas-datareader package (https://github.com/pydata/pandas-datareader), you can change the import ``from pandas.io import data, wb`` to ``from pandas_datareader import data, wb``.

4.2. エラーの指示通り pandas-datareader をインストールし、from pandas.io.data import DataReaderからfrom pandas_datareader import dataに修正します。

4.3. 修正方法が間違っているようなので更に次のようにimport pandas_datareader.data as webと修正します。

4.4. yahooから株価を取得する箇所も修正します。

修正前

for stock in tech_list:
    globals()[stock] = DataReader(stock,'yahoo',start,end)

修正後

for stock in tech_list:
    globals()[stock] = web.DataReader(stock,'yahoo',start,end)

4.5. しかし以下のようなエラーが出ます。困った。いろいろ調べていると現在yahoofinanceは使えないらしいです。

ConnectionError: HTTPSConnectionPool(host='finance.yahoo.com', port=443): Max retries exceeded with url: /quote/AAPL/history (Caused by NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x00000196A6B83C50>: Failed to establish a new connection: [WinError 10060] 接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。または接続済みのホストが応答しなかったため、確立された接続は失敗しました。',))

4.6. googlefinnanceで挑戦してみます。

4.6.1. googlefinance 0.7からtar.gzをダウンロードし、Anacondaのインストールフォルダ配下pkgsでファイルを解凍します。

例:

C:\Users\<user name>\AppData\Local\Continuum\Anaconda3\pkgs\googlefinance-0.7

4.6.2 ファイル解凍した後、googlefinance-0.7ディレクトリに移動します。

cd C:\Users\<user name>\AppData\Local\Continuum\Anaconda3\pkgs\googlefinance-0.7

4.6.3 パッケージをインストールします。

python setup.py install

4.6.4 googlefinanceの使い方がよくわからないため保留。

4.7. Anacondaのインストールパス配下にあるC:\Users\<user name>\AppData\Local\Continuum\Anaconda3\Lib\urllibのrequest.pyにプロキシの設定を試みるもエラー解消せず。

import urllib.request
proxy_support = urllib.request.ProxyHandler({'http': 'http://<proxy server name>:<port number>'},
                                            {'https': 'https://<proxy server name>:<port number>'})
opener = urllib.request.build_opener(proxy_support)
urllib.request.install_opener(opener)

4.8. URLからデータを引っ張ってくるのを諦め、stooqからcsvファイルをダウンロードし対処しました。なんだかなー、、、

入門 Python 3

入門 Python 3

参考:

  • udemy 実践Pythonデータサイエンス

www.udemy.com

Pythonスタートブック

Pythonスタートブック

実践データ解析- 株式市場のデータ解析入門-

目次

前提条件

  • OS:Windows 10 64-bit, version 1607

  • Anaconda 4.4.0(Python 3.6 version 64-bit)インストール

実践データ解析 目次

1. タイタニックその1

kharuka2016.hatenablog.com

2. タイタニックその2

kharuka2016.hatenablog.com

3. タイタニックその3

kharuka2016.hatenablog.com

4. タイタニックその4

kharuka2016.hatenablog.com

5. 株式市場のデータ解析入門

6. 株式市場その1

7. 株式市場その2

8. 株式市場その3

9. 株式市場その4

10. 株式市場その5

11. 選挙とデータ解析

12. 選挙その1

13. 選挙その2

14. 選挙その3

株式市場のデータ解析入門

1. コマンドプロンプトでJupyter Notebookを起動します。

jupyter notebook

2. 写経したソースコードGitHub Repositoryを参照してください。

なし。

3. 課題

3.1. 株価の時間による変化を見てみる。
3.2. 日ごとの変動を可視化する。
3.3. 移動平均を計算する
3.4. 複数の株価の終値の相関を計算する
3.4. 複数の株価の変動の関係を見る
3.5. 特定の株のリスクを計算する
3.6. シミュレーションを使った未来の予測

4. 補足

4.1. コメント

このレクチャーでリスク管理が学べるのですね。投資家は必見ですね。

入門 Python 3

入門 Python 3

参考:

  • udemy 実践Pythonデータサイエンス

www.udemy.com

Pythonスタートブック

Pythonスタートブック

実践データ解析-タイタニックその4-

入門 Python 3

入門 Python 3

目次

前提条件

  • OS:Windows 10 64-bit, version 1607

  • Anaconda 4.4.0(Python 3.6 version 64-bit)インストール

実践データ解析 目次

1. タイタニックその1

2. タイタニックその2

3. タイタニックその3

4. タイタニックその4

5. 株式市場のデータ解析入門

6. 株式市場その1

7. 株式市場その2

8. 株式市場その3

9. 株式市場その4

10. 株式市場その5

11. 選挙とデータ解析

12. 選挙その1

13. 選挙その2

14. 選挙その3

タイタニックその4

1. Kaggleの以下リンクからtrain.csvをダウンロードし、Jupyter Notebookを起動するフォルダーに配置します。

Titanic: Machine Learning from Disaster | Kaggle

2. コマンドプロンプトでJupyter Notebookを起動します。

jupyter notebook

3. 写経したソースコードGitHub Repositoryを参照してください。

github.com

4. 目標

4.1. タイタニック号の乗客はどのような人達だったのか?
  • 男性が多かった。

  • 3等客室の男性が非常に多かった。

  • 3等客室になるにつれ子供の乗客数が多かった。

  • 21歳と30歳の乗客が多かった。

  • 乗客の平均年齢は29.7歳であった。

  • 子供の乗客数が一番少なかった。

  • 2~3歳の子供の乗客数が多かった。

  • 年齢が高くなるにつれ客室の等級も上がっていた。

  • Qから乗船した客は3等客室の人が多かった。

4.2. それぞれの乗客はどのデッキにいたか?また、それは客室の種類とどのような関係にあったか?
  • 各乗客のいたデッキ
Cabin  
0  C
1  C
2  E
3  G
4  C
5  D
6  A
7  C
8  B
9  D
10 B
11 C
12 B
13 C
14 F
15 F
16 C
17 E
18 A
19 D
20 D
21 C
22 B
23 E
24 D
25 F
26 D
27 C
28 B
29 F
... ...
174    E
175    B
176    B
177    D
178    E
179    F
180    B
181    B
182    D
183    B
184    D
185    B
186    A
187    E
188    B
189    B
190    E
191    B
192    E
193    C
194    C
195    D
196    E
197    D
198    A
199    D
200    B
201    C
202    B
203    C
204 rows × 1 columns 
  • 3等客室の乗客はBとCデッキに集まっていた。

  • 1等客室の乗客はCデッキに集まっていた。

  • Cデッキはカジノのフロア若しくはダンスフロア?

4.3. 乗客は主にどこから来たのか?
  • Sから乗船した客が多かった。
4.4. 家族連れか、単身者か?
  • 家族連れよりも単身者の方が多かった。
4.5. 沈没からの生還者には、どのような要因があったのか?
  • 1等客室の乗客の生存率が高かった。

  • 女性・子供の生存率が高かった。

  • 年齢が若いほど生存率が高かった。

4.6. 乗客が居たデッキは生存率と関係あるか?また、その答えは感覚的な答えと合うだろうか?
  • ある。1、2等客室の乗客はGデッキ寄りの方が生存率が高く3等客室の乗客はGデッキ寄りの方が生存率が低い。

  • 合う。1、2等客室の乗客を優先して救助したため、3等客室の乗客は逃げ遅れたと思われる。

4.7. 家族連れであることは、事故からの生還率を上げているだろうか?
  • 家族連れの方が生存率が高い。

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

参考:

  • udemy 実践Pythonデータサイエンス

www.udemy.com

Pythonスタートブック

Pythonスタートブック

実践データ解析-タイタニックその3-

入門 Python 3

入門 Python 3

目次

前提条件

  • OS:Windows 10 64-bit, version 1607

  • Anaconda 4.4.0(Python 3.6 version 64-bit)インストール

実践データ解析 目次

1. タイタニックその1

2. タイタニックその2

3. タイタニックその3

4. タイタニックその4

5. 株式市場のデータ解析入門

6. 株式市場その1

7. 株式市場その2

8. 株式市場その3

9. 株式市場その4

10. 株式市場その5

11. 選挙とデータ解析

12. 選挙その1

13. 選挙その2

14. 選挙その3

タイタニックその3

1. Kaggleの以下リンクからtrain.csvをダウンロードし、Jupyter Notebookを起動するフォルダーに配置します。

Titanic: Machine Learning from Disaster | Kaggle

2. コマンドプロンプトでJupyter Notebookを起動します。

jupyter notebook

3. 写経したソースコードGitHub Repositoryを参照してください。

github.com

4. 目標

4.1. タイタニック号の乗客はどのような人達だったのか?
4.2. それぞれの乗客はどのデッキにいたか?また、それは客室の種類とどのような関係にあったか?
4.3. 乗客は主にどこから来たのか?
4.4. 家族連れか、単身者か?
4.5. 沈没からの生還者には、どのような要因があったのか?

5 補足

5.1 このままのコードだと警告が出ます。

titanic_df['Alone'].loc[titanic_df['Alone'] >0] = 'With Family'
titanic_df['Alone'].loc[titanic_df['Alone'] == 0] = 'Alone'

Out:

C:\Users\<user name>\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\core\indexing.py:179: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  self._setitem_with_indexer(indexer, value)

5.2 警告が出るのを回避する方法

pd.options.mode.chained_assignment = None
titanic_df['Alone'].loc[titanic_df['Alone'] >0] = 'With Family'
titanic_df['Alone'].loc[titanic_df['Alone'] == 0] = 'Alone'

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

参考:

  • udemy 実践Pythonデータサイエンス

www.udemy.com

Pythonスタートブック

Pythonスタートブック

実践データ解析-タイタニックその2-

入門 Python 3

入門 Python 3

目次

前提条件

  • OS:Windows 10 64-bit, version 1607

  • Anaconda 4.4.0(Python 3.6 version 64-bit)インストール

実践データ解析 目次

1. タイタニックその1

2. タイタニックその2

3. タイタニックその3

4. タイタニックその4

5. 株式市場のデータ解析入門

6. 株式市場その1

7. 株式市場その2

8. 株式市場その3

9. 株式市場その4

10. 株式市場その5

11. 選挙とデータ解析

12. 選挙その1

13. 選挙その2

14. 選挙その3

タイタニックその2

1. Kaggleの以下リンクからtrain.csvをダウンロードし、Jupyter Notebookを起動するフォルダーに配置します。

Titanic: Machine Learning from Disaster | Kaggle

2. コマンドプロンプトでJupyter Notebookを起動します。

jupyter notebook

3. 写経したソースコードGitHub Repositoryを参照してください。

github.com

4. 目標

4.1. タイタニック号の乗客はどのような人達だったのか?
4.2. それぞれの乗客はどのデッキにいたか?また、それは客室の種類とどのような関係にあったか?
4.3. 乗客は主にどこから来たのか?
4.4. 家族連れか、単身者か?
4.5. 沈没からの生還者には、どのような要因があったのか?

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

参考:

  • udemy 実践Pythonデータサイエンス

www.udemy.com

  • Choosing Colormaps Matplotlib

Choosing Colormaps — Matplotlib 2.0.2 documentation

Pythonスタートブック

Pythonスタートブック

実践データ解析-タイタニックその1-

入門 Python 3

入門 Python 3

目次

前提条件

  • OS:Windows 10 64-bit, version 1607

  • Anaconda 4.4.0(Python 3.6 version 64-bit)インストール

実践データ解析 目次

1. タイタニックその1

2. タイタニックその2

3. タイタニックその3

4. タイタニックその4

5. 株式市場のデータ解析入門

6. 株式市場その1

7. 株式市場その2

8. 株式市場その3

9. 株式市場その4

10. 株式市場その5

11. 選挙とデータ解析

12. 選挙その1

13. 選挙その2

14. 選挙その3

タイタニックその1

1. Kaggleの以下リンクからtrain.csvをダウンロードし、Jupyter Notebookを起動するフォルダーに配置します。

Titanic: Machine Learning from Disaster | Kaggle

2. コマンドプロンプトでJupyter Notebookを起動します。

jupyter notebook

3. 写経したソースコードGitHub Repositoryを参照してください。

github.com

4. 目標

4.1. タイタニック号の乗客はどのような人達だったのか?
4.2. それぞれの乗客はどのデッキにいたか?また、それは客室の種類とどのような関係にあったか?
4.3. 乗客は主にどこから来たのか?
4.4. 家族連れか、単身者か?
4.5. 沈没からの生還者には、どのような要因があったのか?

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

参考:

  • udemy 実践Pythonデータサイエンス

www.udemy.com

Pythonスタートブック

Pythonスタートブック

Mac ショートカットキー一覧(自分が良く使うものまとめ)2017/10/23 Update

目次

背景

Macの使用頻度が高くなってきたので、Mac ショートカットキー一覧を作成しました。これでMac作業もサクサク?

Mac ショートカットキー 一覧

ショートカットキー ショートカット内容 備考
command + X 切り取り:選択した項目を切り取り、クリップボードにコピーします。
command + C コピー:選択した項目をクリップボードにコピーします。このショートカットは、Finder 内のファイルに対しても使えます。
command + V ペースト:クリップボードの内容を現在の書類または App にペーストします。このショートカットは、Finder 内のファイルに対しても使えます。
command + Z 取り消す:直前のコマンドを取り消します。その後で、「command + shift + Z」キーを押してやり直す (取り消しコマンドを取り消す) こともできます。一部の App では、複数のコマンドを取り消したり、やり直したりすることが可能です。
command + A すべてを選択:項目をすべて選択します。
command + F 検索:書類内の項目を検索します。または、「検索」ウインドウを開きます。
command + S 保存:現在の書類を保存します。
command + Q 終了:App を終了します。
comannd + Tab 画面切り替え
control + tab tab替え ブラウザ内
control + shift + 電源ボタンまたはcontrol + shift + メディア取り出しキー ディスプレイをスリープ状態にします。
command + L URL をハイライト表示 Google Chrome
command+ T 新規タブを開く ブラウザ内
command + W 閉じる:最前面のウインドウを閉じます。App のウインドウをすべて閉じるには、「command + option + W」キーを押します。
command + Shift + D タイムスタンプを入力 要アプリのインストールとショートカットキーのカスタマイズ。詳細は参考をご参照ください。
control + option + command + 電源ボタンまたはcontrol + option + command + メディア取り出しキー すべての App を終了し、Mac をシステム終了します。開いている書類の変更内容が未保存の場合は、保存するかどうかを確認するメッセージが表示されます。

参考

Macのショートカットキー (Sengen Books)

Macのショートカットキー (Sengen Books)