プラグラミングって聞くと、なんか難しそう。
って思っている人多いですよね?
もちろん目的もなく、ただ単純に参考書読んだところで難しいに決まってます。
ただ、こんなことを自動で出来たら良いなと思うことありませんか?
それをプログラミングを使って、効率化してみましょう。
この間私はpythonという、
最近知名度の上がってきているプログラミング言語の
利用環境を導入してみました。

【超入門】話題のプログラミング言語Pythonをインストールしてみた
ネットサービスやWebアプリケーションの開発言語として利用されているpython(パイソン)。そのPythonの開発環境をwindows10環境にインストールしてみました。このページでは、そのPythonのインストール手順の一部始終を紹介します。
このプログラミングを使って、今回株注文額の計算プログラムを作ってみました。
こんなもの作れば、毎週サイトを見ながら計算していた株注文の計算が
1分もかからず完了しました。
今回は私が実際に作成してみたプログラミングコードを紹介します。
pythonを使ったプログラミングに関する参考書
今回pythonを使ったプログラミング作成に関しては
導入部分として、この本を使いました。
章ごとに演習問題があって、自分の理解度に合わせて読み進められます。
プログラミングを使って実現すること
今回私が実践したのは、株の注文額・株数計算のプログラムです。
私は最近不動産(REIT)ETFの一つである
iシェアーズ・コア Jリート ETF(1476)の定額買付を進めています。
この他にもリートETFはあるのですが、このETFを選んだのは
- 楽天銀行で売買手数料がゼロ
- 1株単位から買付可能
というメリットがあって、
リートETF初心者の私にとっては最適であるためです。
このETF買付に際して、私の中では、
- 1週間ごとに定額で買い付ける
- 1週間で買付出来なかったら、次週はその額を上乗せして買い付ける
- 注文価格は1週間平均値を99%した値にする
をルールとしています。
このなかの3.はテクニカルチャートの画面を映して計算しているのですが、
いちいち設定を変えたりしないといけなくて面倒でした。
この作業が効率化できればと思って、
今回pythonを使って注文価格と注文株数を計算するプログラムを作ってみました。
作ったpythonコード
実際に作ったコードは下記のとおりです。
- import pandas
- code=input(“購入対象のコード番号は(iシェアーズコアリートは1476)?”)
- url=”https://www.nikkei.com/nkd/company/history/dprice/?scode={}&ba=1″.format(code)
- frame = pandas.read_html(url)[0]
- kabuka_sum=0
- str_n=input(“何日間平均をベースにしますか?”)
- n=int(str_n)
- m=0
- for i in range(0,n):
- if frame.loc[i][6]==”–“:
- i=i+1
- k=float(frame.loc[i][6])
- m=m+1
- kabuka_sum+=k
- kabuka=kabuka_sum/m
- str_tsumitate=input(“積立額は?”)
- tsumitate=float(str_tsumitate)
- buy_value=int(float(round(kabuka*0.99,0)))
- kuchisu=int(round(tsumitate/buy_value,0))
- print(“注文価格は{:,}円,注文口数は{:,}株,費用は{:,}円”.format(buy_value,kuchisu,buy_value*kuchisu))
2行目にコードを任意入力できるようにして、
他の株でも計算できるようにアレンジしています。
3行目・4行目が日経HPに掲載されている
対象株の1ヶ月間の株価データを取得するコードになっています。
また10行目は先日発生した東証の終日売買停止の影響で
株価データに--が記載されていて、
このままだとエラーになるので、
それを避けるために記述してます。
プログラムを作成してみた感想
実際に作ったコードは株価データ取得の部分以外は
過去に勉強していたC言語の知識があれば、そこまで難しくなく記述できました。
問題は株価データ取得の部分です。
今回のプログラムの肝といえる部分ですが、
なかなかうまく行かず、google検索を多用して何とか完成させました。
この株価取得の部分はWebスクレーピングと呼ばれるものらしく、
非常に面白い技術なので、これから少しずつ勉強していきたいと思います。
このように、漠然とプログラミングを勉強してみたいと思うのではなく、
なにか自分が楽にしてみたいという作業をプログラミングしてみれば
スキルアップへの近道になると思います。
コメント