プログラミングと投資と時々オタク

自己啓発メイン。日常も。

Re:ゼロから始める投資生活 [7ヵ月目]

2021年初投稿です。(もう2月だよ…何してたんだ…)
書きたい内容は山のようにあるのですが、それはまた時間のある時に書くということで、それとは別に毎月のトレード内容とその結果をブログにまとめていくことにしました。

ということで早速1月のトレード結果と反省をしていきます。

■目次

Re:ゼロから始める投資生活 [7ヵ月目]

7ヵ月目の総資産は…すみません1月末時点で計算したかったのですが記録していなかったため2月以降実施します笑

トレード内容

f:id:kei_kei_se:20210204225449p:plain
※譲渡益税と取引手数料は含まれておりません。

反省

1月から始めたスタイルがかなりハマっていて想像以上の利益を出すことができました。まぁ全資産フルで株式にぶち込んでいるのでそれなりのリスクを取っているんですけどね。このスタイルはとにかくテクニカルで上がりそうな銘柄を見つけてきて全財産をぶち込み短期で回収するという単純な投資法です。利益が出たらその分も乗せて全額をまた次なる銘柄に投資するので「強制複利投資法」と名付けました。笑 2月は毎年下げ傾向にあるとのことなのであまり調子に乗りすぎず気を引き締めてこのスタイルを確立させていきたいと思います。今回は取引というよりもしっかり記録に残していないことのほうが反省点です。次回以降は今実践している私流の銘柄選択やチャートの見方も含めた、売買の判断に至った経緯まで発信していけたらと思います。

このくらいの分量であれば大して時間も取らないので続きそうです。それでは2月末の Re:ゼロから始める投資生活 [8ヵ月目] お楽しみにっ!

以上っ!!

Re:ゼロから始める投資生活 2020振り返り

どうも、けい(@kei_kei_se)です。

お久しぶりです。
またまた前回の投稿から1ヵ月空いてしまいました。ずっと出張だったのでそもそも家に帰っていないのですが、まぁこれも言い訳ですね、はい。。。
今回は半年が経過した投資生活の振り返りです。仕事もそうですが半期に1回くらい振り返りするのがよさそうですね。余裕があれば毎月とかでもいいかもしれませんがちょっと厳しそうです(社畜並感)
では目次です↓

■目次

Re:ゼロから始める投資生活

さて今回はタイトルの通り7月から始めた投資について振り返ってみたいと思います。知識だけインプットしてもつまらないし実践的なところはなかなか得られないので、口座開設も並行して進めてOJT的な感じで取引も始めました。文字通り知識も資金もゼロから始めた投資生活ですが、結果はいかに!?エンターテイメント感覚でお楽しみいただければと思います。

振り返り

ひとつひとつの行動を詳細に書いても需要ないと思うので月の出来事をざっくり紹介します。てか需要の話をしてしまうとこのブログ自体需要がn(吐血)

・7月
考えているだけでは始まらないので失敗したらやり直せばいいという考えで即行動!まずはSBI、ネオモバ、LINE、楽天の証券口座を開設しました。(NISA口座はSBIで開設) ざっと調べてみた感じから、SBIは外国株、ネオモバは国内のイチカブ、LINEはタイムセール、楽天はiSPEED(アプリ)で株価チェック、という感じで使っていくことにしました。

・8月
口座開設の手続きが完了したので入金や取引を実際に行っていきました。外国株も取引してみたかったのでドル転からの米国株買付もしました。
譲渡益税がどう引かれるか、とかも実際に売って利益が出ないとわからないことですよね。「外国株の譲渡益税徴収は円で行われる」とか「円貨口座出金余力が不足すると外貨円転処理される」とかも実際やってみないとなかなか気づきませんよね(経験者は語る…)

・9月
とりあえず資格でも取るか、とFP3級受験しました。結果は合格でしたが正直株のところ以外は退屈でした。もちろん節税等知っていて損はない知識ばかりなのですがやはりおもしろいと感じない部分はやる気が出ず…興味がないところを無理に勉強しても効率が悪いだけなので、目的を見失わないようにしたいですね。

・10月
この頃からTwitterでの活動が増えました。理由は単純で、絡んでくれる方が増えてきたからです。一見投資とは関係ないかもしれませんが、Twitterから得られる情報って本当に有益なものが多いんですよね。資産バケモンの方がほとんどですが、似たような境遇の方も多くモチベーション維持に繋がります。あと単純に楽しい笑 今この記事を読んでくださっている方もフォロワー様だと思います。いつもありがとうございます。これからもよろしくお願いします!

・11月
このタイミングで私の投資に関する考えが一変しました。なぜかというと「マネーの公理」を読んでしまったからです。内容や自分の考えがどのように変わったのかは前回のブログにまとめてありますので、もしよろしければ読んでみてください。
keikeise.hatenablog.com

・12月
マネーの公理で得た知識を活かして(今までよりは)積極的に売買するようになりました。手数料は気にしません。それより大きな利益が出ればそれでいいです。結果12月だけで8月から11月までの譲渡益以上の利益が得られて「この考え方でいいんだ」と自信がつきました。またSBIはメンテナンスが多く取引したいのにできないという状況が頻発したため、楽天を使うようにシフトしていくことにしました。これを機にNISA口座を楽天に移設手続きし、また一般NISAにしました。積み立て×インデックス投資はしない方向に決め、個別株×集中投資で勝負していきます。

結果発表

さてさて、簡単にですが半年を振り返ってみました、そしていよいよその成果を発表したいと思います。
まずは入金履歴です。
f:id:kei_kei_se:20201228140653p:plain

え、半年で150万入金したの…?自分でも信じられません。(いろいろ理由はあるけれど)6月まで貯金ゼロだったのにこれだけで大満足です。節約意識が芽生えたことと株を買うことで購買欲が満たされることは、間違いなく投資を始めて2番目に良かった部分です!

次に各口座の現在です!どーん!
(米ドルや評価額は2020/12/29時点のもので計算しています。また利確した譲渡益税や手数料は反映済みです。)
f:id:kei_kei_se:20201230094951p:plain

コロナによる一時的な暴落があり、回復するのは目に見えていたとは言え初心者がこれだけプラスを得られれば十分じゃないですかね。でもこれは実力でもなんでもなくてただ単に始めたタイミングが良かっただけだと思っています。現状に満足せず貪欲に知識を利益を求めていきたいと思います。

大反省会

いかがでしたでしょうか?個人的には大満足の滑り出しです。この調子で2021年も頑張っていきたいと思います。ただ結果を確認するだけが振り返りではないのでここではもう少し細かく自身の行動を反省していきたいと思います。よかった点はサラッと、改善点を重点的に書いていきたいと思います。

【よかった点】
Twitterで多くの方と繋がることができた
・株の基本的な知識を身に付けることができた
・利益が出た
・半年続けることができた
・読書するようになった

【改善点】

・状況
とある銘柄が含み損になった
・自分の選択
ホールド
・理由
弱い銘柄ではなくすぐ回復すると予測したから
・反省点
実際に1か月後には買値まで回復し、マイナスにはならなかったがこの間資金が拘束されたことをマイナスと捉えるべきと思った。早いうちに損切りしその資金で他の銘柄を買っていれば、マイナス分を早急に取り戻すことができたかもしれない。含み損となった銘柄で取り戻そうとする(執着する)ことは初心者が陥りやすいポイントだと思う。この考え方をしっかり身に付けていきたい。また暴落に備えて逆指値でリスク回避をする必要がある。

  • 鵜呑み

・状況
Twitterである銘柄が話題になった
・自分の選択
買い
・理由
これは上がると見切り発車したから
・反省点
特に自分で何かを調べるわけでもなく余裕資金で話題の銘柄を購入した。結果少し株価上昇した後下落し、含み損となった。買った時点で勢いで行動したことを反省していたためすぐに損切りしてマイナスはわずかなものであったがメンタルと自分で考える力が足りなかった。そもそも銘柄分析ができるほどの十分な知識も経験もない。事業内容や財務状況等の企業情報や、株価の動きをしっかり分析できるようになっていきたい。ファンダメンタルよりはテクニカルを重点的に勉強していきたい。

  • 利確

・状況
とある銘柄が含み益
・自分の選択
ホールド
・理由
まだ上がると予測したから
・反省点
まだ上がると欲を出したがためにその後下落し利益が小さくなった。「早すぎるほど早く利食え」を守るべきであった。まだ早い遅いの感覚が養われていないので、やはりチャート分析の勉強に力を入れて、売り買いのタイミングを見極める力を身に付けていきたい。

  • 買い増し

・状況
とある銘柄が含み益
・自分の選択
ホールド
・理由
まだ上がると予測していたが買い増しして平均取得単価を上げたくなかった
・反省点
評価益の(+〇%)に対する憧れが強くて買い増しによる平均取得単価を上げたくないと考えてしまった。ダブルバガー、テンバガーを目指すとそういった数字を気にしてしまって行動できなくなるのも初心者が陥るポイントかと思った。目的は「資産を増やす」ことであると肝に銘じて見た目にこだわらないようにしたい。

まとめ

最後に全体のまとめです。記事の中でも触れましたが時期が良かっただけで実力ではないというのが現実です。ただ結果的には節約意識が持てたことや株を買うことによって購買欲が満たされること、扱う金額が大きくなって利益も大きくなってきたこと(損も大きくなる)など大きな収穫が得られました。これからはより一層根拠のある選択をして思い通りの取引ができるように知識と経験を積んでいきます。新型コロナウイルスの流行によっていろいろと不自由はありますが、そのおかげで投資に出会い、そしてみなさまと出会うことができました。人生において間違いなく転機となるこの出来事が自分にとってプラスの転機となるように頑張っていきたいと思います。2020年はお世話になりました。2021年もどうぞよろしくお願いします!

それではまた来年。みなさまよいお年を!

以上っ!!

名著「マネーの公理」を読んで

どうも、けい(@kei_kei_se)です。

お久しぶりです。
またまた前回の投稿からこんなに時間が経ってしまいました。まぁ結局このブログも独り言感がハンパないのでモチベが上がらないのも事実なのですが…(涙)読者がいるってすごいことですよね。どうすれば集客できるのか…マーケティングブランディングの勉強もしてみたいという思いが強まっている今日この頃です。(まず真っ先にやらなければいけない分野な気もしますが…)

 

今回はタイトルにある通り、名著「マネーの公理」を読んで心に響いたフレーズや、それを受けて今後自分はどんな投資スタイルにしていこうかと考えたことを書いていきます。(こういうのって著作権ひっかからないよね?)

かなりざっくり言うと、この本は儲けるための12のルール(公理)を具体例と合わせて紹介していく内容になっています。中には多くの投資家が実践している投資法と全く逆の方法を提案する場面もありこれまた興味深く非常に勉強になりました。

結局は自分の目的に合わせた投資法を見つけて実践していくことが大事だと思うので、一つの参考としてご覧頂ければと思います。

 

■目次

第一の公理ーリスクについて

「大きなお金を投資しなければ金持ちにはなれない」

「安定を求めたら一生貧乏人のまま」

「金持ちになる機会を失っている」

「リスクを楽しむ」

分散投資の誘惑に負けないこと」

 

個人的にはかなりグサっと刺さりましたね。。。この第一の公理はインデックス投資や高配当株への投資を否定しています。給料だけでは一生金持ちにはなれない。であるならばリスクを楽しみつつ将来のテンバガー候補に集中投下だと言っています。もちろんお小遣い稼ぎ程度に考えているのであればそれもいいと思います。ただ、私はアーリーリタイアしたいと思っていますし、さっさと大金稼いで海外で優雅に暮らしたい(と密かに思っている)のでやはり周りと同じような安定に逃げてはダメだと感じました。当然ですが無謀な賭けに出ることを推奨しているわけではありません。自分のリスク許容度をしっかり考えておき、何にどれだけ投資するかはしっかり調査分析して判断する必要があります。無難な投資(それも大事だけど)だけでは私の目的は果たせないと感じました。宝探しをする感覚で未来のGAFAを発掘していきたいと思います。

 

 

第二の公理ー強欲について

「常に早すぎるほど早く利食え」

「一度売った株式の株価をチェックしてはいけない」

「あらかじめどれだけの利益が欲しいかを決めておく」

「終わったことを自分に納得させるための優れた方法は、何かしらのご褒美を用意すること」

 

第二の公理は心理的な戦術が大事であることに気づかされます。「まだ上がるかも」という期待のもとで売るタイミングを逃した経験はみなさんが経験されていることと思います。未来のことは誰にもわからないので適当なタイミングで利益確定しましょう、というお話しです。この時に大事なのは考え方で、売った株の株価がどうなったのかは気にせず、利益が得られたことに満足するべきです。また事前にどの程度利益が出たら売るのかを決めてしまうのも手ですね。そして、株を売ったタイミングで利益の一部を自分のために使ってあげたいと思います。

 

第三の公理ー希望について

「船が沈み始めたら祈るな。飛び込め。」

「自分が保有している間につけた最高値から10~15%下落したら売れ」

「待つことが賢い選択であることはほとんどない」

 

第三の公理では損切りの大切さがわかります。損切りはすることのメリットよりしないことのデメリットを考えた方がよさそうです。誰もが考えるであろう「損切りした後に高騰するかもしれない」という考えが判断を鈍らせます。これを乗り切るためには「投資が低迷している間にそのお金を他の投資に回して稼ぐことができる」と考えるほかなさそうです。いつか上がるかもという期待のもとで寝かせておくと、投資資金に余裕がある場合を除き身動きが取れなくなってしまいます。損を納得して受け入れることを学ぶ方が投資家としては賢い選択だと思います。ということで小さな損失は受け入れ、逆指値注文しておきます。

 

第四の公理-予測について

「未来のことは誰にもわからない」

「人の予想を聞く習慣から抜け出さないといけない」

 

第四の公理では予測するなという内容が書かれています。私はPython使って株価予測しようと思っていたのでいきなりプログラミングの目的がひとつ失われました。現時点で起こりつつあることと、目の前で起きている事実からすぐに反応することが大事であるとのことです。つまり将来予測ではなく、現状をよく分析しろということですかね。ということでPythonは分析に活用することに決めました。今までの勉強(大して進んでいないけど)が無駄にならなくてよかった(笑)自分に自信がないとSNSですぐ有識者の意見聞いてしまうんですよね。これもよくないなと改めて思いました。投資は自己責任。これに尽きますね。自分でしっかり考えて投資していきたいと思います。

 

第五の公理ーパターンについて

「お金の世界にはパターンはなく、無秩序で混沌としている」

「秩序がないところに秩序を見出すな」

 

第五の公理は第四の公理に続きパターンはない(から予測できない)という内容です。もし何か共通の事柄が判明したとしてもそれは単なる偶然であり、次同じことが起こる保証はないとはっきり断言しています。人間は「前回こうだったから今回もこうなるはずだ」と自分の都合の良い方向に考えてしまう癖があるので、その催眠術にかからないように気をつけたいですね。過去のパターンを信じず、今の状況を冷静に分析し、行動に移すという能力が必要そうです。

 

第六の公理ー機動力について

「根を下ろしてはいけない」

「慣れ親しんだ心地よい状態を求めるほど、投機家としての成功は小さいものになる」

「物に愛着を感じてはいけない」

 

第六の公理は現状に落ち着くことのデメリットについて書かれています。ちょっとずつ株価が上がっている銘柄をずっと保有しているのはとても心地のよいものだし、少しその伸びが停滞していても、「そのうちまた上がるだろう」という気持ちで保有してしまう気がしますが、ここではそんな気持ちを「愛着を感じるな」で一蹴してしまいます。少しでも停滞したら「早すぎるほど早く利食い」して次の銘柄へ投資せよとのことです。愛着は生き物だけに感じることとして、機動力確保した方が大きな成功が得られそうです。売却した銘柄が再び高騰したとしても「一度売った銘柄の株価はチェックしてはいけない」ので気づきませんね♪(無理)一番初めに買った「エムスリー」はダブルバガー目前で非常に思い入れのある銘柄なのですが、バイバイ(売買)できるか不安です(涙)

 

第七の公理ー直観について

「直観は説明できるのであれば信頼できる」

「直観と希望を混同するな」

「自分が望まない結果を示唆する直観は信頼する傾向が強い」

 

第七の公理では直観についての内容です。直観とは不思議なもので確固たる事実に基づいていなくてもそれが的中することがあります。ここでは、自分の直観を一生懸命に無視するでもなく、むやみに頼るでもなく、程よい距離感で付き合うためのルールが紹介されています。自分が起こってほしいことが起こるという直観は希望と混同している可能性が大いにあるため、懐疑的であるべきですね。

 

第八の公理ー宗教とオカルトについて

占星術が当たるのであればすべての占星術師は金持ちであろう」

「迷信を追い払う必要はない。適当なところに置くことができれば楽しめる」

 

第八の公理では宗教について書かれています。このあたりは自分にはあんまり関係ないかな…興味ある方はぜひ!(疲れた笑)

 

第九の公理ー楽観と悲観について

「楽観は最高を期待することを意味する」

「楽観のみで行動してはならない」

 

第九の公理は楽観と悲観についての内容です。個人的には楽観がかなり当てはまりそうで恐ろしかったです。よくも悪くもポジティブなので「なんとかなる」精神で生きていますが、やはりリスクを背負っている以上、最悪のパターンもしっかり頭にいれて行動しないといけないなと改めて感じました。楽観的な気分になったらそのいい気分が事実によって正当化できるかどうか考え、判断しなければいけません。それだけでなく、自分が今楽観的な気分かどうか、に自分で気づけるようになる必要があります。ある意味自己分析ですね。銘柄分析だけでなく己も分析せよ、というメッセージだと読み取れました。

 

第十の公理ーコンセンサスについて

「大多数の意見は無視しろ」

「自分自身で納得するまで他人の意見を無視する」

「投機の流行を追うな」

「何かを買う最高の時は、誰もそれを望まないときである」

 

第十の公理はコンセンサス(複数の人による意見の一致)についてです。投資は後追いでは勝てません。既に話題になっているものに手を出してもカモにされるだけだろう。ということですね。SNSが普及しあらゆる人の意見が簡単に見える時代になってしまったため、これは非常に難しい部分だと思います。一度でもバズったら勝ちみたいな流れがあるので、コンセンサスは更に大きな障壁になりそうです。これを逆にチャンスと捉え、みんなが「手を出すな」という銘柄に手を出してみるのも面白そうですね。周りの意見に流されないように注意しつつ、皆が手放し割安となった銘柄を虎視眈々と狙いつつ集中投下、がベストなのかなぁと思います。もちろんその前に集中投下に値する銘柄であるかの分析は必要ですけどね。

 

第十一の公理ー執着ついて

「もし最初にうまくいかなければ忘れろ」

「難平買いで悪い投資を何とかしようとするな」

 

第十一の公理は執着についてです。この公理はなんと「ナンピン」を否定します。平均取得単価を下げることができる魔法のような手法ですが、これは選択の幅を狭め、利益が得られる機会を減らす行為とのことです。難平買いするお金でもっと他の有望株に手を出す方向で調整したいと思います。含み損をその銘柄で回収したくなる気持ちはわかるし、平均取得単価が下がることで含み損の割合が減ることは精神的にかなり助かりますが、その心地よさからは卒業しなければいけなそうです。

 

第十二の公理ー計画について

「長期計画は将来を管理できるという危険な確信を引き起こす」

「長期投資を避けよ」

「心地よい状態にどっぷりとつかった感覚を与えてくれる」

 

第十二の公理は計画についてです。この公理もなかなか衝撃的で「長期投資」を否定します。一部の長期投資家が見たら怒りで狂いそうですね。ただ、私個人の感想としては考えるのをやめないことが大事であると読み取りました。長期投資のよいところは株価が落ちても(どうせ売らないので)気にならず精神的な楽であること、配当や優待による恩恵があることだと思いますが、この状態が危険であると警鐘を鳴らしています。私も優待や配当目当てで持っている銘柄はありますが、どちらかというと既に資産がある人の戦略ですよね。ただ貯金するよりはいいかもしれませんが、私の給料ではこの方法ではお金持ちにはなれなそうです。よって長期投資はしない方向で行こうと思います。優待でもらえるはずだったものは、投資で増やした資産の一部で買っちゃおう作戦です。(できるとは言っていない)

 

まとめ

1個ずつ感想書いてるとめちゃめちゃ長いですね…ブログ史上最長になってしまいました。兎にも角にも名著だけあって本当に勉強になり、私の投資家としてのレベルが心なしか少しだけ上がった気がします。ここで学んだことをこれからのスタイルに反映し、柔軟に対応していきたいと思います。他の投資本も読んでより自分のスタイルをブラッシュアップしていこうと思います。この点も「自分の投資ルールを守ること」という多くの投資家が発信している内容と異なりますね。ルールを決めてしまうとそれに縛られてしまって保守的になってしまいそうなので私には合いません。コンセンサスを無視する第十の公理を早速実践してきます。このままだと異端児が誕生しそうな予感です。

 

最後に「マネーの公理」で学んだことを反映した私の投資スタイルをまとめて終わりにしたいと思います。まだ初心者故一部のお金を全財産に見立ててお試しで実践してみます。

・投資先を最大6銘柄に絞り集中投資する

・利益25%を達成したら利確する(基本は従うが伸びを見て判断する)

・1カ月株価が動かなかったら売却し投資先を変える

・取得以降の最高値から20%下落したら損切りする

・愛着を持たない執着しない

・直観で動いてみる(この投資スタイルが直観をもとにしている気もする)

・大多数(他人)の意見は無視して自分の考えに従い投資する

・長期投資(つみたて)はしない(※検討中)

 

この投資スタイルだとどのタイミングで何を買うかの判断ができないのでこれからはその部分(分析方法、買い判断)について勉強していきたいと思います。書き出すと課題がはっきりしていいですね。

 

この記事がみなさんの投資において少しでも役に立ったら幸いです。

「マネーの公理」勉強になるだけでなく単純に本としておもしろいのでもしまだ読んだことのない方がいらっしゃったらぜひ手に取ってみてください。(ここでリンク貼って広告収入を得ることを目指すべきなんだろうな)

それではまた次回お会いしましょう~

以上っ!!

Pythonによる自動Tweet(その2) 完

どうも、けい(@kei_kei_se)です。

お久しぶりです。
私事ではございますが、社畜しすぎてついに社畜の呼吸の使い手になってしまいました。これからは社畜柱目指して日々仕事も自己啓発も頑張っていきたいと思いますのでどうぞ生温かい目で見守ってやってください。さてさて、今回はだいぶ日が空いてしまいましたが前回の続きで"Pythonによる自動Tweet(その2)"でございます。前回はTwitterをdeveloper登録するところまでで力尽きました(笑 この記事から見てくださっている方がもしいらっしゃったらぜひ前回の記事から読んでいただければと思います!
keikeise.hatenablog.com

 

■目次

認証情報の取得

まずは以下のサイトからDeveloper Portalにログインします。

https://developer.twitter.com/en/apps/

サイドバーの[Project & Apps] -> [Over View] と進み、画面中央の [Standalone Apps]の[+ Create App]をクリックしてください。するとApp nameを聞かれるので適当に設定しましょう。私は"auto_tweet_kei_kei_se"としました。
f:id:kei_kei_se:20201025210402p:plain

作成したAppの[Keys and Token]からAPI Key & SecretとAccess Token & Secretの4つをメモし以下のように1つの.pyファイルを作成します。
私はconfig.pyとして作成しました。環境はAnacondaでspyderを使用しています。

CONSUMER_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx'
CONSUMER_SECRET = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx'
ACCESS_TOKEN_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx'
ACCESS_TOKEN_SECRET = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx'

メインプログラム作成

次に自動Tweetするメインプログラムを作成します。
プログラム実行時に自動で呟くことができればOKです。

from config import CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN_KEY, ACCESS_TOKEN_SECRET # config..pyから認証情報読み込み
from requests_oauthlib import OAuth1Session # 外部サイトアクセスのためのライブラリ
from http import HTTPStatus # エラー処理のためのライブラリ

def auto_tweet(body):
    # 認証処理
    twitter = OAuth1Session(
        CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN_KEY, ACCESS_TOKEN_SECRET
    )
    # ツイート処理
    res = twitter.post("https://api.twitter.com/1.1/statuses/update.json", params={"status": body})
    print(res)

    # エラー処理
    if res.status_code == HTTPStatus.OK:
        print("Successfuly posted")
    else:
        print(f"Failed: {res.status_code}")

def main():
    body = "Auto tweet test"
    auto_tweet(body)


if __name__ == '__main__':
    main()

さてこれを実行してみると。。。
f:id:kei_kei_se:20201025215147p:plain
f:id:kei_kei_se:20201025214608p:plain
"", "Successfully posted"が出力され無事ツイートされました!よかった!
ちなみに Response の Statusが400番台でエラーが出ている場合はURLや認証情報が怪しいので確認してみてください。

まとめ

いかがでしたでしょーかっ!?
目的であったPythonによる自動Tweetを無事実装することができました。
このプログラムは最終目標である”気になる銘柄の価格変動を監視&分析し、買い時、売り時を判定して自動でツイート(通知)してくれる機能の実装”の通知の部分で活躍してもらう予定です。ということで次回からは”気になる銘柄の価格変動の監視”ということでスクレイピングに入っていきたいと思います。今回の記事に関して不明点、気になる点等ございましたらお気軽にコメントください。またTwitterのフォローも大歓迎ですのでぜひお願いしマース!

以上っ!!

Pythonによる自動Tweet(その1)

どうも、けい(@kei_kei_se)です。

実は2日連続で記事を書いているのですが、昨日書いたやつはちょっと失敗だったので温存おくことにしました。
告知はしていませんが、公開はしているのでご興味があれば読んでみてください。
keikeise.hatenablog.com

今回からPythonによる自動Tweetについてやっていきます。
本来であれば「Tweet自動化できました」まで記載したかったのですが、Twitter APIを使用するためにdeveloper account の申請をしなければならず、審査が完了しないとできない&申請は全て英語 ということもあり、予想より疲れたので一旦ここまでで1記事にしようと思います。私史上初の連載形式、わくわくです。


■目次

計画

自動ツイートで何するのって話ですが、私は株価をスクレイピングして、分析して、分析結果をツイートまでを自動でできるようにしたいなぁと計画しています。そうすれば私のような本業×投資のゆるゆる投資家は毎回様々なサイトでチェックしなくてもTwitterだけチェックしていれば必要な情報を得ることができます。そしてこれはただの一例にすぎず、その他の情報と連携してあらゆる用途で活用できる非常に応用の利く機能になると思っています。スクレイピング×分析×ツイートでほんとにいろいろなことができると思っているのでツールとして活用できるようになるまで勉強もかねて構築していきたいと思います。
いきなり出てきた"スクレイピング"についても自動ツイートのあとに取り組もうと思っている内容なので、もうしばらくお待ちください。
いずれにしても、Pythonの勉強にはなるので、やって損はないだろうなぁということで取り組んでいきます。

developer account の申請

以下のサイトから申請をしていきます。
Use Cases, Tutorials, & Documentation | Twitter Developer

手順1
画面右上の [sign in] をクリックしてTwitterアカウントのIDとPWを入力
ログイン後、再び上記リンクを開きアイコン横の [apply] をクリック

f:id:kei_kei_se:20201004235853p:plain
sign in

手順2
[Apply for a developer account] をクリック

f:id:kei_kei_se:20201004235917p:plain
apply

手順3
開発者ツールを使う目的を選択
(私は [Hobbyist] の [Making a bot] を選択)

f:id:kei_kei_se:20201005000109p:plain
select

手順4
アカウント情報を記入しNextをクリック
(電話番号, メールアドレス, 国籍, アカウントID)

f:id:kei_kei_se:20201005000305p:plain
information

手順5
利用目的を英語で記入しNextをクリック
(該当しないものはNoを選択することで目的の記入を省略できる。最低何語以上の指定があるので面倒。)

f:id:kei_kei_se:20201005000513p:plain
purpose

手順6
申請完了

f:id:kei_kei_se:20201005001200p:plain
send

手順7
上記リンクをもう一度開き右上に[Developer Portal] が現れていたらOK
この記事書いている間に審査通っていました笑
入ってみたらこんな感じ↓

f:id:kei_kei_se:20201005001228p:plain
OK

めでたくDeveloper Accountになりましたので次回はこの続きということでプラグラム作成に入っていきたいと思いマース!
以上っ!!

【重要&参加者募集!!】コミュニティ作成したいんだけど・・・

どうも、けい(@kei_kei_se)です。

最近は仕事が忙しく、全くブログが更新できていませんでした(言い訳)。
ようやく落ち着いた休日が得られたのでこうしてPCに向かっています。
偉い!自分!!

さてさて、ブログとして書きたいネタはたくさんあるものの、如何せん取り組む時間がなく、思いついてもなかなか行動に起こせていない現状ではありますが、
「こんなことできたら楽しそうだし勉強にもなって一石二鳥じゃないか!?」という企画を考えましたので、今回はその企画について紹介したいと思います。

もちろん企画というだけあって、私一人では成立しないものです。
この記事は、私が考えた企画について知っていただき、その中で興味を持っていただいた方に「参加したい」と思っていただくことがゴールです。
ということで、私のミッションは"皆さんにこの企画に参加するという行動を起こしていただくこと”であり、そのためには"如何に多くの方に知っていただけるか、如何に企画の魅力を伝えられるか"が鍵となります。
またこの企画は私の思いつきから生まれたものであり、完成系ではありませんので、「こんな企画なら参加したい」というご意見も大歓迎です。
それでは、参ります。


目次

内容

今回考えた企画を一言で表すと"お悩み討論会"です。
そしてそれが気楽にできる"コミュニティの作成"です。
まぁ普通と言えば普通ですね・・・笑
詳細は以下の通りです。

【テーマ】
・みんなの(主に仕事に関する)悩み事について議論する
・1回の開催で1テーマについて議論する ※テーマ選定方法は今後運用しながら決定していく

【時間】
・1時間(仮) ※運用しながら臨機応変に対応する

【日程】
・週1回(仮) ※運用しながら臨機応変に対応する

【参加資格】
・差別/偏見/誹謗中傷しないこと
・年齢性別職種不問 ※学生さんも大歓迎


【形式】
・オンラインビデオ会議 ※プライバシー保護のためビデオなしも可


これだけだとパッとしないかもしれないので一応例を挙げておきます。

【テーマ】
・仕事でわからない部分をどこまで自分で調べて考えていつ質問すればいいか

【背景】
・わからない部分を質問すると「そんなこと自分で考えろ」と言われる
・わからないまま悩んでいると「わからないなら質問しろ」と言われる

【参加者】
新入社員(22歳)、若手社員(26歳)、中間管理職(40歳)、大学生(20歳)

【討論】
約1時間

【結論】
・調べた結果わかった部分とわからなかった部分を明確にしてから質問する
・質問の仕方を工夫する
・一番初め(仕事をもらった段階)に期限をはっきりさせておく

【議事録】
・ブログの1記事としてこれらの討論会をアップする
 →同じ悩みを持つ人に役立ててもらう
 →討論会の内容を把握してもらい、次回以降参加してみたいと思ってもらう
 →討論の中で導けなかった回答について意見をもらう

いかがでしょうか?イメージはわきましたか?
こんな感じでできればなと思っています。
この討論によるメリットはそれぞれの立場で以下のようなことが挙げられると思います。

【新入社員】
・過去の先輩方の体験が聞ける
・今後の仕事の進め方がわかる
・先輩社員と良好な関係が築ける

【若手社員】
・新入社員がどのような悩みを持っているかわかる
・どのように指導するのがよいかわかる

【中間管理職】
・部下がどのような悩みを持っているかわかる
・どのように指導するのがよいかわかる

【大学生】
・自分が働いているときのイメージが湧く
・就活(面接や業種選択)に活かせる

特にデメリットが思いつかないんです。
とてもいい企画な気がしませんか?笑(自画自賛)

唯一にして最大の問題は"果たして参加者が集まるのか"ですね・・・(滝汗

背景と目的

さて、次にこの企画を思いつくに至った背景と目的を説明します。
以下の箇条書きで示します。

【背景】
・楽しいことが好き(重要)
ベンチャー企業に出向し様々な経歴の方と仕事するようになった
・働く地域も職種も変わり漠然とした不安や悩みがある
・コロナの影響もあり人とのコミュニケーションの機会が減った
・気軽に話せるコミュニティが欲しい

【目的】
・楽しむ(1番重要)
・より多くの人と交流し自分の知らない世界(業種、世代)を知る
・安心できてかつ楽しいコミュニティを作る
・抱えている不安や悩みを少しでも和らげる

メリット

先程それぞれの参加者の立場からメリットを挙げましたが全体として以下のメリットがあると考えています。
・異業種の文化を知ることができる
→学生であれば進路や就活の参考になり、社会人であれば今後の業務や転職に活かすことができます。

・不安や悩みを和らげることができる
→実際に問題が関係するかどうかに関わらず、気軽に相談できるコミュニティがひとつあるだけで安心感が得られます。

・伝える力や考える力が鍛えられる
→討論をすることで自分の思考の整理ができたり、うまく伝えられるように練習する機会にもなります。

最後に

正直私の人望では参加者を集められる自信が全くありません。笑
既存のコミュニティに入るのってなかなか勇気が必要かと思いますが、立ち上げの今の段階であれば初期メンバーとして居心地の良いコミュニティにすることも可能だと思います。また討論会の実施にもTwitter等のSNSを通して、共通の趣味で盛り上がり様々な雑談を楽しめればいいなと思っています。討論会には参加せずコミュニティにだけ参加して雑談を楽しむでもいいと思います。このコミュニティでの出会いをきっかけに更に他のコミュニティへの参加があってもいいと思います(むしろそれが本望)。とにかく自由に、より人生を楽しむためだけのコミュニティ作成を目指します。

小さなコミュニティでも全然よいと思っていますが、さすがに私1人だけでは成立しないので、少しでもご興味があればぜひご参加を検討ください。
よろしくお願いします。

以上っ!!

【python】自動販売機のシステムを考える

どうも、けい( @kei_kei_se )です。
今回はプログラミング初心者向けに実例を交えて機能開発について書いてみたいと思います。
あまり優先度は高くなかったのですが、気が向いたので・・・
タイトルにもある通り、自動販売機のシステムを構築してみましょう。
勉強中の言語であるpythonでやりたいと思いますが、考え方はどれも同じなのであまり言語にとらわれる必要はないと思います。

■目次

1. はじめに

3. 実践⇐メイン(忙しい人はここだけでおk)

4. まとめ


では参りましょう。

1. はじめに

この記事を読んでもらいたい人
・何かプログラムで作ってみたい
・ソフトウェア(機能)開発がどんな感じが知りたい

また、私も勉強中の身であるため、間違いやもっと良い方法等ありましたらぜひコメントください。

2. 開発プロセス

『ソフトウェア開発 プロセス』でネット検索すると様々な記事がヒットしますが、今回はV字プロセスという手法で行っていきたいと思います。理由はまぁ私が実際の仕事でも使っている手法だからです。このお話しだけでも書こうと思えば余裕で1記事書けてしまうので、詳細はまたの機会にしてサラッといきたいと思います。私が記事にするのはいつになるかわかりませんので、気になる方は調べてみてください。笑

簡単に言うと
要件定義→基本設計→機能設計→詳細設計→実装→単体テスト結合テスト→総合テスト
といった流れで開発を進めていくことです。
言葉だけだとイマイチよくわからないと思うので次の章で実例を交えてやっていきます。
※今回はソフトウェア開発なのでハードの要件は無視します。

3. 実践

それではメイントピックです。
実際にプロセスに従って自動販売機のシステムを構築していきたいと思います。

・要件定義

まず始めに要件定義です。 そもそもなぜ自動販売機を作るのか、を考えるところです。

・人件費を削減すること

本来はもっと深堀りしますが、簡単に言えばこれでしょう。

・基本設計

次に基本設計です。
ここでは自動販売機に求める機能を定義していきます。
最初から難しく考えるとあとで詰まってしまうのでまずはシンプルに行きましょう。
実際に利用する手順に沿って書き出していくといいと思います。

自動販売機に求める機能
・お金を受け取る
・提供可能な飲み物を表示する
(・選択された飲み物を提供する ※ハード要件)
・お釣りを返す

まぁこんな感じですかね。

・機能設計

次に機能設計です。
基本設計で考えたことを機能に落とし込みます。
できればこの段階でプログラム作成を意識した形にしておくといいと思います。
具体的にはプログラムのコメントを作成するイメージです。

・お金を受け取る
→投入金額をカウントする
・提供可能な飲み物を表示する
→飲み物のリストを作る
・お釣りを返す
→投入金額から購入分を差し引く

ソフト単体で作るのでちょっと実際と違う部分もありますがこんな感じでいきましょう。

・詳細設計

ここでは機能設計で考えたことを文字通り詳細化します。
今回はシンプルで既に詳細化できているため割愛します。

・実装

では設計した内容を具体的に形にしていきましょう。
いきなり全部盛りだとエラーばっかで嫌になるのでプロトタイプを作ってちょいちょい足していくのがいいと思います。
ということでプロトタイプ↓

drink = 120 #飲み物の価格設定

x = input('お金を入れてください。\n') #投入金額入力

y = int(int(x) - drink) #お釣り計算

print('お釣りは %d 円です'。 % y)#お釣り出力

出力

お金を入れてください。
200
お釣りは 80 円です。


まぁこれだけでも自動販売機としてはいいのかなと思いますがさすがに寂しいので機能拡張していきましょう。

飲み物の種類を増やしてそれぞれ価格設定をします。
何が選択されたかを表示します。
またユーザー側が入力する機能を作る場合は、設定以外のものが入力されたときにエラー判定する機能もセットで用意しましょう。

ver2

drink = {'Water':100, 'Tea':120, 'Cola':150, 'Monster':200} #飲み物の価格設定

x = input('お金を入れてください。\n') #投入金額入力

if False == x.isdigit(): #金額が入力されなかったら
    print('金額を入力してください。')
    
else: #それ以外(金額が入力されたら)
    print('\n',drink) #飲み物の一覧を表示
    
    select = input('購入する商品を選んでください。\n') #飲み物選択
    
    try:
        z = drink[select] #選択した飲み物の価格格納
        
    except(KeyError): #リストにないものが入力されたら
        print('%s はありません。' %select)
    
    else: #それ以外(リストにあるものが選択されたら)
        y = int(int(x) - z) #お釣り計算
        
        if y > 0: #お釣りがプラスなら
            print('\n%s を選択しました。 お釣りは %d 円です。' % (select, y)) #お釣り出力
        
        else: #それ以外(お釣りがマイナス)
            print('金額が不足しています。')

出力(正常)

 {'Water': 100, 'Tea': 120, 'Cola': 150, 'Monster': 200}

購入する商品を選んでください。
Tea

Tea を選択しました。 お釣りは 80 円です。

いい感じにできましたね。
せっかくエラー対処も考えたのでそのパターンも実行させてみましょう。

出力(リスト以外のものを入力)

お金を入れてください。
200

 {'Water': 100, 'Tea': 120, 'Cola': 150, 'Monster': 200}

購入する商品を選んでください。
soda
soda はありません。

できてますね。
では最後に金額以外のものを入力してみましょう。

出力(金額以外のものを入力)

お金を入れてください。
money
金額を入力してください。

はい。こんな感じです。
システム構築で注意しなければならないのは以下2点ですかね。
①抜け漏れがないこと
②エラー時には最初に戻れるようにしておくこと(無限ループに入らないようにする)

今回は割愛しますがしっかりテストする場合はすべてのパターンを検証する必要があります。
(例で実行したTea以外でもやる、大きな金額を入力する、負の値を入れてみる等々)

もし少しでもおもしろいなと思っていただけたのであれば以下のことに挑戦してみてください。
とてもいい勉強になると思います。

・お釣りが100円以上ある場合にもう1度購入できるようにする
例:まだ購入しますか?
  はい→購入する商品を選んでください
  いいえ→お釣り

・お釣りを具体的にする
例:お釣り〇円で100円〇枚、50円〇枚、10円〇枚です)
  枚数が最小になるように(10円10枚×, 100円1枚〇)

その他にも当たり(スロット)の機能をつけたり、支払方法(現金、電子マネー)とかの機能をつけてみるのもおもしろいかもですね。
ぜひぜひトライしてみてください。

4. まとめ

いかがでしたでしょうか?
プログラムをただ作るだけだと目的を見失いがちですが、自動販売機という身近なもので考えてみるとイメージしやすかったのではないでしょうか。また今回は開発プロセスに従って進めたので、実務に近いような体験ができるような内容になっていたかなぁと思います。このプロセスはその他の様々な機能開発でも使える技ですので、ぜひ他のシステムを自分で構築してみてください。 また話は変わりますが個人的には機能開発で一番大切なのは「プログラムを組めるようになること」ではなく「どんな機能を実装すればよくなるか」を考えることだと思います。目的と手段が逆にならないように・・・というやつですね。プログラミングはあくまで手段なので目的意識をしっかり持って取り組んでいきましょう。機能を考える上で大事なのが使う側の立場になって考えることです。どういうシステムだと使う側は便利と感じるかを常に考える癖をつけておくとプログラミング能力は別として十分活躍できる優秀な人材になれると思います。冒頭にも書きましたが私の勉強している身ですので、お互い優秀な人材目指して頑張っていきましょう。不明点や質問等あればコメントでもTwitterでもなんでもいつでも聞いて下さい。
ではではまた次回~