雑記

Pythonで資産管理 ① Pythonを触ってみる

投稿日:

当ブログではエクセルでの資産管理を卒業し、pythonでの資産管理を行なっています。

当ブログでは作成しているチャートとかもソースコードを公開していたりするのですが、そもそもpythonの導入部分に触れなきゃ意味がないよねと最近思いはじめました。

なので、Pythonを導入する部分と、私がやっている資産管理の方法を2回に分けて紹介します。

スポンサーリンク




Pythonとは何か?

python(パイソン)とはプログラム言語の一種です。

かの有名なGoogleでは三種の神器としてPythonが使われていることが有名ですね。

また、最近ではパイソンエンジニアはプログラム言語別の平均年収のトップだったりもしますので、エンジニアで高年収を目指したいならPythonを身につけてデータサイエンティストを目指すと良いでしょう。

特徴はスクリプト言語でコンパイルが不要な点、コードがシンプルで読みやすい点、データ分析系のライブラリが豊富な点から人気の言語です。また、pythonはシンプルなので小中学校のプログラミング教育に使われるようにもなってきています。

Pythonのここがすごい!

1.環境構築が瞬殺

まず、pythonの最も感動した点はこれです。

新入社員時代にJAVAでシバかれた私としては、pythonの環境構築の簡単さには涙がでます。

慣れれば15分以内に、ダウンロードからインストールして、プログラムを書き始められるくらい楽に素早く環境構築ができます。

JAVAのようにeclipsの設定でシバかれ、Tomcatの404エラーと2日格闘するような苦労は必要ありません。

2.統計・最適化・機械学習のライブラリがめっちゃ豊富

一般に、統計系のライブラリを駆使して分析しようとすると、選択肢はRかpythonになります。(Rもプログラミング言語です)

ですが、最近では大体の統計系のライブラリはpythonでも用意されており、機械学習系に至っては、ほとんどpython系のライブラリの方が進化が早いので、拘りがなければ汎用性が高いのでpythonを覚えておく方が良いと思います。

Rとpythonの最大の違いは、Rは主にデータ分析のために用いられるプログラミング言語ですが、Pythonは汎用的なプログラミング言語だという点です。

したがって、機械学習などで作成したAIをアプリ化してサービス開発をしようとしたら、Pythonだと機械学習などのデータ分析とアプリケーション開発が一気通貫でできて便利です。

3. Jupyter notebook が使いやすい

Jupyter notebookがインタラクティブにデータ分析でき、可読性も高くとても便利です。

まぁこれはpython以外でもRとかでも使えるのですが、とりあえずめっちゃ便利です。

Pythonの概要

pythonの構造を図示すると以下のようになります。Rなどもほとんど同じ構造ですね。

下図のとおり、pythonを満足に動かせるようにするためには、まずpython本体をPCにインストールした上で、ライブラリもインストールしておく必要があります。

Pythonの導入

1.AnacondaでPython諸々をインストールする。

実は上図の環境を手軽にインストールする方法が用意されています。

そのなもAnaconda(アナコンダ)です。面倒なので当ブログではAnacondaを利用したPythonのインストール方法には触れませんので、Anacondaでググっていただければ解説サイトがいくつもあるのでそちらを参照ください。

Anacondaというアプリをダウンロードして、PCにインストールしたら、「Python」、「Jupyter notebook」、「データ分析時に最低限必要となるライブラリ群」が一発で導入できます。

ちなみにPythonは3.x系のインストールをオススメします。※当ブログで公開しているソースコードはPython2.x系では動きません。

2.Anaconda に含まれていないライブラリをインストールする

有名どころのライブラリはAnacondaで標準装備されていますが、たまに標準で入っていないライブラリもあります。

その場合は、個別にインストールする必要があります。

基本的なインストール方法は、コマンドプロンプト(macならターミナル)を立ち上げ、以下のようにコマンドを流すだけです。

 「 pip3 install ライブラリ名 」

便利なライブラリ群の紹介

いくつか便利なライブラリを紹介します。

  • pandas:表データを扱うためのライブラリ。Rでいうデータフレーム。
  • pandas-datareader:株価を自動取得できるライブラリ。Anacondaには含まれていない。
  • Numpy:行列計算を簡単に行うライブラリ。機械学習やディープラーニング時には必須。
  • matplotlib:グラフを綺麗に出力するためのライブラリ。Rのggplot的な書き口。
  • scikit-learn:サイキットラーン。機械学習のライブラリ。色々簡単にできる。
  • chainer:日本のPFNが作ったディープラーニングライブラリ。
  • scrypy:スクレイピングができる。

Jupyter notebookでハローワールドしてみる

アナコンダをインストールしたらpythonのインストールは完了です。jupyterでハローワールドしてみましょう。

1.アナコンダナビゲーターを立ち上げ、Jupyter notebookを選択。

ブラウザで↓こんな画面が開かれるので、適当な作業フォルダに移動します。
(私はdropbox配下に適当に作ってます。)

この画面で、右上のNewからnotebookのPython3を選択すると新しいnotebookが作成されます。

2. Jupyterでハローワールド

新しいnotebookがこんな感じで開く。タイトルは適当につけます。 

jupyterは1行ごとに実行して結果を確認することができるのが便利です。

まさにノートのようにダラダラとソースが書けます。

下図のようにハローワールドを書いてみます。
ソースを書いたら、Shift + Enterで実行すると、ソースの下に実行結果が出力されます。

3.ライブラリをインポートして使ってみる。

次にライブラリをインポートして使ってみます。

適当なデータを用意するのが面倒なので、今回はscikit-learnのライブラリに標準で入っているirisデータセットを使うことにします。

ライブラリのインポート方式は2種類くらいあり、fromから始まるものと、importから始まるものがあります。

インポートするライブラリによって記載が違うため、つどググってコピペすればOKです。

まず、scikit-learnからデータセットをインポートします。

次によく使うpandasをインポートしてみます。

importしたpandasをpdと名付け、pdを呼び出すことでデータフレームを生成したり、色々な操作をしたりします。

今回は、dfにirisデータを突っ込んだデータフレームを生成してみます。

 

最後にirisデータを突っ込んだdfを表からグラフに変換してみます。

下図でグラフを描画するためにmatplotlibをインポートしてヒストグラムを描いてみます。

まとめ

今回は、私が最近勉強しているpythonの導入からちょっと動かすところまでを紹介してみました。

pythonで資産が管理できるようになるとブログ用のグラフ作成などが時短できるので便利なのでおすすめです。

次回はpythonを使って自身のポートフォリオの運用利回りをどのように計算しているかを紹介します。

 







-雑記
-,

Copyright© ただの しかばね のようだ。 , 2018 All Rights Reserved Powered by AFFINGER4.