2017年09月30日

ノンプログラマーがPythonを初めて数か月の軌跡

ノンプログラマーがPythonを数か月触ってきました。ということで現時点でのまとめのようなエントリーです。下記で紹介する順番で実施していけば飽きずに初心者がPythonを段階的に触っていけるのではないかと思います。

前提条件

自分の技術レベルとしては下記となります。
・エンジニアだけれどプログラマーではない
・perlはログ解析のために触ったことがある
・CGIを触るのは初めて

まずは文法から


文法は「退屈なことはPythonにやらせよう」「実践力を身につける Pythonの教科書」の前半部分の文法の箇所を読んだり問題を解いて勉強しました。また、後からですが「PyQ」も1ヶ月間だけ受講しました。書籍だけだと文法は飽きてくるので「PyQ」をもっと先に実施しておけば良かったと思いました。

Webから注文履歴の取得


文法だけだと飽きてくるのでネットで注文した履歴の取得を次に実施しました。まずはじめは「Pythonクローリング&スクレイピング -データ収集・解析のための実践開発ガイド」のコードの拡張から始めました。requestsとかbeautifulsoupあたりを触りました。
以前に書いたのですが、家計管理上、毎月の自分が使った分は分類でまとめたEXCEL...
続いてSeleniumを用いてヨドバシの注文履歴を取得するコードを作成しました。自動でブラウザが動く様子を見るのは楽しかったです。
Amazon注文履歴取得の時にも書きましたが、家計管理上、毎月の自分が使った分は...

EXCELファイル操作

退屈なことはPythonにやらせよう」の12章を参考にしてSBI証券の保有資産データのEXCELグラフ作成を実施しました。EXCELだと実際の業務でも使うことがあるので、うまく使いこなせると良いなーと思いながら触っていました。
Python関連を連続して書いているけれど、投資に関連する内容も!ということでS...

PDFファイル操作

退屈なことはPythonにやらせよう」の13章を参考にしてPDFのTEXT解析を実施しました。今度本を自炊するときにはこのスクリプトを本活用したいと思っています。
結構前に本があふれて困っているという話をしましたが、売却するのではなく手元にデー...

簡単なCGIの作成

このページでも使用しているブログカード作成するために初めてCGIにチャレンジしました。CGI周りは「実践力を身につける Pythonの教科書」を参考にしています。車輪の再発明な感じかもしれませんが、実際にCGIを作って使うというプロセスを踏めたので楽しかったです。
WordPressやはてな等でよく見る「ブログカード」があります。多分↓な感じな...

Flaskを用いてWebアプリの作成

Flask+Tweepyでリツイート情報の取得

簡単なCGIが作れるようになったので、FlaskでWebアプリを作成することにしました。Flaskの前にDjangoに挑戦したのですが、初めて触るフレームワークにDjangoは無謀でした……。最終的にレンタルサーバのXREA上にデプロイしています。
「ツイートの「公式RT直後のツイート」と「コメント付RT」の抜き出し」ですが、前...

Flask+matplotlibで取得情報のグラフ化

続いて、日経平均やValuのデータを取得してきてmatplotlibでグラフ作成して描写することに挑戦しました。このあたりは一度Flaskを触ると同じような感じでWebアプリを作成することが出来るようになりました。
特定の株の証券コードを入力すると基準日からの騰落率を日経平均とともに折れ線グラフ...
最近、何かと話題のVALUですが、カテゴリーごとに情報を見てみたいと思いpyth...

環境構築について

レンタルサーバー上でのPython環境構築は羽陽曲折あったのですが、最終的にanacondaをベースとした環境に落ち着きました。(XREA Plusの有料プランを使っています)
【解決編】と銘打ってもXreaPlusの有料プランにしただけなのですが、一応+α...

参考図書と今後

エントリーでの途中でも触れていますが、主に下記の書籍を参考にしてPython学習を進めてきました。今後はSQLとかscikit-learnあたりに触れてみたいと思います。

実践力を身につける Pythonの教科書

  • 単行本(ソフトカバー)
  • – 2016/10/26
  • クジラ飛行机 (著)





posted by くまなべ at 20:00 | Comment(0) | TrackBack(0) | Python

2017年09月26日

【解決編】pyenv(anaconda)によるレンタルサーバー(XREA)上のPython環境構築

【解決編】と銘打ってもレンタルサーバーをXREA Plus(有料プラン)にしただけなのですが、一応+αで対応したので、だめだった対策と合わせて残しておきます。

最終的な方法

1.XREA PLUSに申し込んで容量を拡張する

2.pyenvを使ってanaconda3-4.4.0をインストールする
2-1.pyenvをgitからインストールする
> git clone https://github.com/yyuu/pyenv.git ~/.pyenv
2-2.下記を記載したbashrcを作成してbash上にてsourceする
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
export TMPDIR="$HOME/tmp"
export PYTHON_PATH=./
eval "$(pyenv init -)"
2-3.anaconda(色々なモジュールを含んだ環境パッケージ)をインストールする
> pyenv install anaconda3-4.4.0
3.SystemのpythonでTweepyをローカルにインストールして3.6用にシンボリックリンクを張る
> python3.5 -m pip install tweepy --user
> pwd
/virtual/kumanabe/.local/lib
> ln -s python3.5 python3.6

NGだった方法

試行錯誤中に試してみてNGだった方法です。

[XREA Plus]
anacondaインストール後にanacondaのpythonでTweepyをインストール
⇒pipのversionが最新のため/etcへのアクセスが発生してRoot権限が必要となりNG

[XREA Plus/Free]
minicondaインストール後に必要なmoduleをインストール
⇒後からインストールすると結局容量が膨れ上がるので手間だけかかるのでNG

まっさらなpythonから必要なmoduleをインストール
⇒revisionの依存関係のためか、うまく動作してくれずNG

[さくらインターネット]
スタンダードプランでanacondaをインストール
⇒FreeBSDのためanacondaでのインストールはNG

というわけで

最終的にXREAにお金を払うことになりそうです。約2500円/年なので、1年pythonの勉強用に払ってみたいと思います。Freeで使用しているときに、たまに前触れもなく数日間SSHでloginできなくなるのが不安ですが……。あと、ファイル数制限がFreeでもPlusでも120000なのでanacondaをインストールしただけでギリギリ状態です。おそらく毎日警告メールが届くことになりそうです。

20170926_xrea_file.png
posted by くまなべ at 21:00 | Comment(0) | TrackBack(0) | Python

2017年09月23日

pyenvによるレンタルサーバー(XREA)上のPython環境構築

レンタルサーバーのxrea.com上のCGIでseabornを使いたかったのですが、今までpipでseabornをインストールしようとしてもエラーが発生していました。pyenvで環境を構築することで一時的に問題が解決しました。

「一時的」の理由は最後に乗せています……

環境構築手順

1.pyenvをgitからインストールする
> git clone https://github.com/yyuu/pyenv.git ~/.pyenv
2.下記を記載したbashrcを作成してbash上にてsourceする
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
export TMPDIR="$HOME/tmp"
export PYTHON_PATH=./
eval "$(pyenv init -)"
3.anaconda(色々なモジュールを含んだ環境パッケージ)をインストールする
pyenv install anaconda3-4.4.0

スクリプト側の対応

Flaskで構築しているCGIの場合、app.pyとindex.cgiの両方のpythonのパスをpyenvのパスにします(自分は後者を変更するのを忘れていて、はまりました)
#!/virtual/kumanabe/.pyenv/versions/anaconda3-4.4.0/bin/python
<<中略>>
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
import seaborn as sns

修正後の表示

以前作成した「日経平均&個別株の騰落率グラフ生成」はmatplotlibでグラフを描画していましたが、下記の様なseabornによる描画に変わりました。

20170922_stockFlask.png


「日経平均&個別株の騰落率グラフ生成」の以前の記事は下記となります。
特定の株の証券コードを入力すると基準日からの騰落率を日経平均とともに折れ線グラフ...
というわけで、前回の説明に引き続いて日経平均&個別株の騰落率グラフ生成ページの詳...

ところがどっこい

CGIにアクセスできなくなってしまいました。おそらくanacondaの容量が1G越えのためxrea.com(フリー)の容量制限を超えてしまったためと思われます。もう少し頑張ってみたいと思います。

追記:【解決編】は下記のエントリーとなります。
【解決編】と銘打ってもXreaPlusの有料プランにしただけなのですが、一応+α...
posted by くまなべ at 20:00 | Comment(0) | TrackBack(0) | Python

2017年09月20日

週刊ダイヤモンド9/23 株&投信 超理解

今週の週刊ダイヤモンドは 株&投資信託の特集となっています。株や仮想通貨の説明もありますが、初心者向けの投資信託による積み立ての話も載っているので読んでみました。

見出し

紙面でインデックス投資家に関係ありそうな箇所は下記となります。
【株&投信 超理解】
 【Part 1】 「長期・分散・少額」投資のススメ
  不透明相場にも負けない 長期のコツコツ積み立て
   藤野英人(レオス・キャピタルワークス代表取締役社長)インタビュー
   渋澤 健(コモンズ投信取締役会長)インタビュー
   中野晴啓(セゾン投信代表取締役社長)インタビュー
  【対談】 楠木 建(一橋大学大学院教授)×ジョン・R・アルカイヤ(ディメンショナル・ジャパン・リミテッドCEO)
  【Column】 兜町で注目「きんゆう女子。」 地味な証券街を彩る新風
  福田 猛(ファイナンシャルスタンダード代表取締役)インタビュー

 【Part 2】 1000円単位で始める資産形成入門
  【初級者向け】 資産形成の具体的なプロセスを知る 長期運用の実践の基本とは
  【Column】 アクティブかインデックスか “疑似アクティブ”にご用心
  【Column】 森長官の逆鱗に触れて撃沈 資金流出に転じた毎月分配型
  【つみたてNISA】 信託報酬「最安値」&新商品が続々登場 “お墨付き”投信を徹底分析
  【iDeCo(個人型確定拠出年金)】 NISAよりも先に検討すべき! 実は隠れた“最強”投資法
  【初心者向け関連書籍リスト】 知恵をつけて資産形成に役立てたい
  【中級者向け】 つみたてNISAでは物足りない人は 優良なアクティブも選択肢に
  【Column】 話題集める「ESG」投資 月内に関連ETFも上場へ

内容&感想

最近ではおなじみとなった金融庁森長官の従来の金融機関の批判発言から始まり、長期で複利の力を借りて資産形成することの重要さを伝える内容となっています。

年率3%の運用する場合、「30代で4万円/月」「40代で5万円/月」「50代で6万円/月」の投資で60歳で2800万の金融資産に到達し、95歳まで資産が残る計算となるグラフが印象的です。

初級者向けに、「つみたてNISA」,「NISA」,「iDeCo」,「生命保険」,「定期預金」,「財形」の特徴の比較もあり、どの制度を使うと良いかの簡単な説明もあります。ただ、3%を紙面で強調するのであれば一般的な3%のポートフォリオも明記しておいた方が初心者に分かり易いかなと思います。

つみたてNISAに認定された投信一覧も載っています。どうでも良い事ですが、eMAXISの8均等は「Slimバランス」と「バランス」の2種類がつみたてNISA対象となっているのですね。これから始めるのであれば「Slimバランス」一択だと思うのですが……。

今後の対応として

投資を始めるのであれば早い方が良いし、iDeCoは60まで引き出せないことを除けば最良の選択肢だと思います。

リスク資産に拒否反応がある嫁さんもiDeCoやつみたてNISAであれば受け入れてくれるのではないかと思います。これらの仕組みを説明してiDeCo(もしくはつみたてNISA)に加入してもらえるように説得してみたいと思います。


posted by くまなべ at 20:00 | Comment(0) | TrackBack(0) | インデックス投資

2017年09月17日

ローソンの楽天バリアブルキャンペーン



詳細

  • 対象店舗:ローソン
  • 期間:2017/9/12~2017/9/25
  • 購入金額:10001円
  • プレゼントポイント:700ポイント

楽天ポイントの使い道


ちょうど楽天で嫁さんの服を買って期間限定ポイントが減ってきたので、楽天モバイル支払い用に追加で購入してみたいと思います。あと、期間限定ポイントなので楽天証券で投資信託は買えないので注意ですね。

posted by くまなべ at 20:00 | Comment(0) | TrackBack(0) | キャンペーン

2017年09月16日

VALUのカテゴリごとの詳細情報取得(Python)

最近、何かと話題のVALUですが、カテゴリーごとに情報を見てみたいと思いpythonによるCGIを作成してみました。とりあえず、完璧でなくても動いたところからデプロイしてみました。

(注:最初のURLは間違っていてCGIのページに飛びませんでした)

出来ること&使い方

1.情報を取得したいカテゴリーを選択
2.時価総額の上位の表示数を選択
3.「Show Detail」ボタンを押す
4.待つ(毎回スクレイピングをしているので数分待つこともあります)
5.指定したカテゴリーの相関グラフと時価総額の上位を表示

具体的には下記の図のような感じになります。

20170916_valu_intro.png

気が向いたら、機能追加をしてみようと思います。
posted by くまなべ at 20:00 | Comment(0) | TrackBack(0) | Python

2017年09月13日

「いらすとや」さんのWebサイトのスクレイピングで一括ダウンロード

computer_search_kensaku.png

みなさんおなじみの「いらすとや」さんですが、Pythonによる機械学習の勉強にイラストを使わせてもらいたいなーと思いました。まずは教師データが必要になるので、とりあえず画像データをスクレイピングするPythonのコードを作成しました。

コマンドと結果

コマンドの仕様としては、引数に「検索ワード」と「最大取得数」を渡すようにしました。
 > python.exe irasutoya_down.py インターネット 200

すると下記の様にひたすら画像がダウンロードされていきます。

http://4.bp.blogspot.com/-zTvzECyWEsk/VwIjHWMdszI/AAAAAAAA5e4/W_kAnVythXoHGzGO3AkgrHImS3cpvMiuQ/s800/internet_kanki_man1.png
http://4.bp.blogspot.com/-RK1r8J9kF_c/VwIjHdTzFVI/AAAAAAAA5e8/_N9Xhc0JtM0DLsHLU5eqhqxkk8lQ-aZSQ/s800/internet_kanki_man2.png
http://2.bp.blogspot.com/-llDpo-3-K7k/VwIjHt4UonI/AAAAAAAA5fA/PWpKhDKWK7IvwmC4yuyBZ8b4L4sXoZVMw/s800/internet_kanki_woman1.png
http://4.bp.blogspot.com/-IxWKND4JML8/VwIjILi7wFI/AAAAAAAA5fE/lgjzp6DwT6cVJKTZI5dOQe-AHX4hGDaYw/s800/internet_kanki_woman2.png

<<中略>>

http://2.bp.blogspot.com/-beSfKCyewTk/Udy6lPRVwhI/AAAAAAAAWI8/uNDgJL6OC3I/s800/computer_family.png
http://2.bp.blogspot.com/-KwGSRNHzsVA/UbVvOo58z5I/AAAAAAAAUsc/y2sh_GfnPQ8/s800/computer_wireless.png

フォルダにも下記のように保存されていきます。

20170916_irasutoya_0.jpg

続いて、コードになります。

続きを読む
posted by くまなべ at 08:00 | Comment(0) | TrackBack(0) | Python

2017年09月11日

7ネットで本を買うなら月曜日がお得&レビューで追加のポイントも

7ネットで本を月曜日に500円以上の本を購入すると50円分のポイントを還元するキャンペーンを実施しています。というわけで、下記の小説を買ってみました。下記のリンク先はAmazonですが(^^;



詳細

応募方法

1.月曜日(9/4,11,18,25)に対象カテゴリの本を500円(税抜)以上注文する
2.10月10日(火)までに商品を受取る
3.商品の受取り後〜10月末までにポイントが付与される

対象カテゴリー

「文学・小説」「文庫・新書」「ビジネス・新書」「語学・辞典」「コンピュータ・IT」「教育」「暮らし・健康」「子供・絵本」(注:雑誌は対象外)

500円ちょうど購入できれば約1割ポイントが付くので、そのあたりの価格帯の本を買うのであればお得ですね。

更にレビューポイントも!

9月中に本・コミックのレビューを投稿すると50ポイントもらえるキャンペーンも実施しています。合計100ポイント貰えるので、さらにお得になります。


ちなみに美奈川さんと言えば

音楽などの芸術関連や競艇・スタントマン・動物園の飼育員などのお仕事ものの小説を書いている方です。

1冊だけ過去の作品をお勧めするとすると「スプラッシュ! 」になります。競艇ものですが競艇を詳しく知らなくても臨場感あふれた描写で楽しめますし、謎めいたヒロインの内面がよくわからなくてヤキモキする感じを主人公と一体となって楽しめると思います。



posted by くまなべ at 08:00 | Comment(0) | TrackBack(0) | キャンペーン

2017年09月09日

Android端末の売却とipod touchの購入

家に1台はiOS端末が欲しいなーということでiosysで販売している中古の【第五世代】iPod touchを購入しました。なんと初めて購入したApple製品になります。(注:今は値上がりしているみたいですけれど、自分が購入した時は7777円でした)

20170815_SP_0.jpg

それと引き換えに古いAndroid端末を売却してきました。

スマホ売却時の注意点ですが、NFC(多分マックのクーポンアプリ)を使ってしまっていると、スマホの買い取り価格が最低ランクになってしまいました。まあ、古い端末なのでランクが高くても数百円なのですが。
20170815_SP_1.jpg

あと、意外と使い勝手が良いのはSonyTablet Pかもしれません。子供がプリキュアの公式動画を見るのに重宝しそうなのでAndroid4ですが売却せずに持っています。折り畳み2画面なのでノートPCのようにtabletだけで画面が見やすい角度に調整できます。まあ、見過ぎるのも問題なのでコントロールが難しいですが。

20170909_stp.jpg


ちなみに家にはガラケーはまだあるのですけどね。昔のとがっていたころのauのガラケーは面白かった……
posted by くまなべ at 20:00 | Comment(0) | TrackBack(0) | 日記

2017年09月08日

確定拠出年金統計資料を読んでみた

NIKKEI STYLEに確定拠出年金の統計資料に触れている記事があったので元ネタの方も読んでみました。


確定拠出年金統計資料で気になった点

まずは、企業年金連合会のこちらのページから元ネタの資料をダウンロードすることが出来ます。NIKKEI STYLEで話題となっていた貯金・保険の割合以外にも次のような情報が載っていました。

■男女の割合

企業型より個人型の方が女性の割合が大きくなっています。ただし、双方共に男性の割合が7割を超えています。このグラフを見ていると、女性の加入率の低さが伺えて自分の嫁さんにもiDeCoを薦めたくなってしまいます。普通の株式や投資信託だと拒否反応を起こすのですが、国の制度の一環として説明すれば納得してもらえそうです。

企業型
20170908_FM_ki.jpg

個人型
20170908_FM_ko.jpg


■1人あたり資産額

みんな気になる一人当たりの資産額ですが、年代別の資料は企業型しかなかったので企業型のみ載せてみました。

30代で80万、40台で190万、50代で340万といったところでしょうか。自分の場合は転職時に確定給付年金を移管しているのでもう少し多くなっています。その分だけ通常の退職金が少なくなるということではあるのですが……。
20170908_shisan_ki.jpg

■アクティブとパッシブの割合

企業型・個人型を比較すると個人型の方がアクティブを選択されているみたいです。得にバランス型投信については個人型でアクティブの方が大幅に上回っています。自分は企業型ですが、バランス型のアクティブはラインナップになかった気がするので、選べる投資信託の種類が影響を及ぼしているのではないかと思います。

企業型
20170908_pass_act_ki.jpg

個人型
20170908_pass_act_ko.jpg

企業型だと同じ会社の人のパフォーマンスが分かるのですが、さすがに統計資料に載せるのは無理なのかもしれませんね。一番そこが気になる点かもしれませんが。
posted by くまなべ at 08:00 | Comment(0) | TrackBack(0) | インデックス投資