2016年3月23日水曜日

ヤフー!から取ってきた株価データの分割が面倒なので分割調整後の四本値を出すフィルタ

これはちょっとどうしていいのかよくわかんないので
間に合わせのスクリプト書いた。

#!/usr/bin/perl
use strict;
use warnings;
my @lines = <>;
my $adj=1;
my $adj2=1;
my $spltday="";
for my $line (@lines){
  if ($line=~/\d\d\d\d\/\d\d?\/\d\d?,\D*(\d+\.?\d*)[^0-9\.,]+(\d+\.?\d*)\D*/){
    $adj = $adj2;
    $adj2 = $adj * ((0+$1)/(0+$2));
    $line =~/^(\d+\/\d+\/\d+)\D/;
    $spltday = $1;
    next;
  }
  
  my @cols = split(/,/,$line);
  if ($cols[0] ne $spltday){
    $adj = $adj2;
  }
  map{ $_ *= $adj;}@cols[1..4];
  if ($adj > 0){
   $cols[5]/= $adj;
  }
  print "".join(",",@cols[0..6]);
    #print $line;
}


#アドじゃスタ

こうやって、ひとつひとつ地道に自動化するのである。


株価データのゼロパディング

日付データはややこしい。

区切りが /だったり、ドットだったり 無かったり ハイフンだったりして、PCに処理させるのが面倒くさい。

自分が使う日付データは

yyyy/mm/dd にしよう。

yahoo から取ってきたデータだと
1995/9/26 とかなっているので、変換しないといけない。

面倒なので取ってきた時点でsed かます。

sed -e "s/\/\([0-9]\)/\/0\1/g" -e "s/\/0\([0-9][0-9]\)/\/\1/g"

これで固定かされて、cut コマンドとかも使いやすい感じになるはず。

スクリプトってほんの些細な想定外で止まっちゃって、母性本能くすぶらないよね全く。


2016年3月20日日曜日

エクセルマクロを使わずに ヤフー! ファイナンス から過去の株価データをCSVに落とす方法

ヤフー!ファイナンス VIP倶楽部に入ると時系列CSVデータは取得できますが、

VIP倶楽部は月1980円。

決して高くない。特に、株で成功した人にとっては全くもって必要経費である。

Yahoo!ファイナンスVIP倶楽部

しかし、2000円もあれば艦これのドックを増やさなければならない。2カ月もあればさらに母港の増設もできる。お金が無いのである。なければ無いでどうにかなっちゃうと言えばどうにかなるのだが、自分でどうにかするのがどれほど面倒だかをご覧ください。

プロになりたければツールを選ばないとタイヘンという悪い見本をお見せしたい。
ちなみにエクセルの転がってるマクロを使えば一発という事はすでに知っているのである。

俺はバッドアイデアの泉と呼ばれたオトコ。

車輪を2度開発はしないが、パンツ位なら自作してもいい覚悟なんやで。

まあ、黙ってみてなさい。やればできる子なのである。

ただ、EXCELのマクロがどういう動作をしているのかというと実際にたような動作をしています。

1.CYGWINをインストール

説明はCygwinのページにお任せする。

2.wget をインストール

Cygwin からSetup.exeを実行して


上のSearch するテキストに wget を入れ web のジャンル の wget を Install にして次へを押しまくる。

次=>6まで読み飛ばしてください。

3.yahoo のページで調べたい銘柄を表示する。

例えば、1570を調べてみる。

とりあえず↓みたいな画面に行く。


4.1983 1 1 NEXT!






5.ページ番号を500くらいにしてみて、ページ数を計算する。


URL いじってエンター


6.cygwin shell で実行するコマンドを考える。。。って3~5のステップ要らんかった。


yget なる俺様スクリプトを考える。

#!/bin/bash
url="http://info.finance.yahoo.co.jp/history/?code=$1&sy=$2&sm=$3&sd=$4&ey=$5&em=$6&ed=$7&tm=d&p="
i=1
while wget -O- $url$i |sed -n -e '/^<\/tr><tr[^>]*><td[^>]*>....年/p' |sed -e "s/[,日]//g" -e "s/[ 年月]/\//g" -e "s/<tr[^>]*><td[^>]*>/\n/g" -e "s/<\/\?[^>]\+>/,/g" -e "s/,\+/,/g" -e "s/,\+\s/\n/g" -e "s/,\+$/\n/g" | sed -e "/^$/d" |grep ","
do
 i=`expr $i + 1`
done

さすが、バッドアイデアの泉
yget <-バグあります。スイマセン <tr><td>のところ <tr[^>]*><td[^>]*>デス。
どうだ6行である。
何やら恐ろし気な While 以降のパイプライン。
意地でもテンポラリファイルを使いたくなかったのである。

さすが、艦これをBANされた経験もある男。

使い方は

C60M1@C60M1-PC ~/tmpdir
$ ./yget 1570.t 1983 1 1 2016 3 18  >1570t.csv

あら、案外、使えるわ。
エクセルマクロをOpenOffice用に改変しなくて済んだ。

え?エクセル?メインマシンはUWSCスクリプトが動いてて今使えないっす。

もう一台エクセルを買うお金なんてあるわけないよね。

2016年3月15日火曜日

株のアラート機能を Raspberry PI で実現する(2) 他力本願で最速でpostfix から gmail 経由でメールを送る方法

メール関係ブザマな状態オレのRaspberryPI


ここは┐(´∀`)┌ヤレヤレ日記なので興味ない人はスキップの方向でお願いします。

むかし、何かの拍子に設定しようとしたpostfixの設定が残っていて
やり直そうとしたものの、あまりにもmain.cfがぐちゃぐちゃになっており
仕方ないから、postfixを再インストールする事を決意した。

ところが、ぐちゃぐちゃ過ぎて、postfix の停止に失敗する。
再インストールもできない状態に。

起動には成功したのだから、起動中に何かしらイランことをしてしまったのだろう。
めんどいので、いったん/usr/sbin/postfix をテキトーにリネームして
reboot後、/usr/sbin/postfix に戻したのち

apt-get install postfix をやり直してみた。
がやっぱり
[....] Starting Postfix Mail Transport Agent: postfixpostfix: fatal: bad string length 0 < 1: sendmail_path = Failed

みたいなメッセージが出る。
まだいらないものが残ってるのかも。

apt-get remove postfix
cd /etc/postfix/ 
rm -r *
apt-get install postfix

やっぱり自分用のサーバーって何をやってもいいからいいね。 
管理者は悲鳴を上げるようなことが誰の許可も要らないからね。
こんなに面白いのに5000円程度というRaspberryPIは最高である。

最速でRaspberryPIからpostfix で gmail 経由でメールを送る方法

いろんなサイトがあったのだけど、どのサイトを見てもよくわからなかった。
結局ある結論に達した。
考えてもわからないならそのままやってみようと。。。
超絶他力本願。情報源の検索順位が上がってくれればそれでいい。
今、postfix が入っていない状態だとする。

やるべき事はまず
Postfixを使ってGmailアカウントのメールを送る [Server software]

忠実に何も変えずに実行するだけなのです。(おい。

# vi /etc/postfix/sasl_auth
--
[smtp.gmail.com]:587  example@gmail.com:password

だけはちゃんと変えてください。自分のアカウント情報を入れること。

ただし、自分がうっかり間違えたポイントだけ書いとく。

1.main.cf の 行の真ん中で #を入れていたら、途中で止まるので #以下を削除

2.# postfix  /etc/postfix/sasl_auth
 のところは postfix じゃなく postmap を使うべし
  (情報源にも書いてあるが、うっかり読み飛ばしていた

テスト

# mail hoge@hoge
Subject: hoge
Hoge
.
hoge@hoge 部分はケータイアドレスにでもかえとく

ところが…Gmailに文句を言われる

最近は、ログイン試行をブロックしたと言われてしまうようです。
https://www.google.com/settings/security/lesssecureapps
で解除しておくと大丈夫な様子。
更にセキュリティにちゃんと対応させることも可能なのだろうけど、
やり方がわからない。使えないよりは使えるほうが10000倍は良いので、
また時間があれば、そのあたり挑戦してみようかと思う。

確かに不明のヤツにログインを許したくはないのだけど、RPIは使いたい。
どうしようもないんで、普通の人用のアカウント以外に
RPI用にGmail アカウント一個取っとくってのはどうだろうか。
http://serverfault.com/questions/662568/why-does-gmail-block-my-postfix-relay
それにしてもどうも、GoogleはGmailにサードパーティ製メーラを使われたくないらしい。
いつか、gmailが使えなくなったらどうしよう…。何か代替があればいいのだけどな。

株のアラート機能を Raspberry PI で実現する(1) 何がしたいか。

久しぶりに株で遊んでいて、株ブログ的ななにかもちょろちょろいじっています。

収益発生する予定はほぼありませんが、やっぱりなかなか楽しいものですね。

オトコのロマンであります。

で、やっぱり、興味が横道にそれる事に関しては、なかなかの才能を持っている事を自負している私なのですが、ある株を見ているときに気づいたのです。

この銘柄の出来高が急増するときトレンドが転換するのではないか?

わからない人が居るといけないので一応説明しておきますが、出来高は取引量の事です。

なぜだかは判らないのですが、出来高が一気に増えた次の瞬間相場の空気が変わる事があるのです。

まあ、実際どの銘柄かは恥ずかしいので言いませんが、だったら、出来高をウォッチしておけば、利益を得る事が可能かもしれないなあと思いました。

しかししかし、俺はもう一つのオトコのロマン「艦隊これくしょん」に忙しい提督としての顔も持っているのであります。

2足のワラジは履けません。艦娘に申し訳が立ちません。

そんなに一日中株なんて見てらんないわけです。

じゃあ、どうしようと思ったわけです。

ひとつの当たり前の解はSBI証券に口座を持つことです。

SBI証券はたぶん手数料もまあまあ安かった記憶がありますが、(アフィリ記事じゃないのでテキトー)

どうもアラート機能が充実していて出来高をトリガにリアルタイムでメールが送れるということなので、
もうこれだけで十分なのです。

しかし、現在無職の(提督という仕事がありますが)俺にとって、なんとなく新たにSBI証券に、口座申請書を出して口座を作ってもらうのはなんだか恥ずかしいのであります。

じゃあ、自分で(というか他力本願でググれば)なんとかなるんじゃないかと、思い始め、このページをまとめてみる決意をしました。

現時点ではできるかどうかよくわかっていません。

2016年3月5日土曜日

UNIXでじわじわ来る言葉とは

TeraTerm で Raspbery PI に接続し、大量のWavファイルをMP3に変換する作業をやっていて寝ていたら途中で勝手に落ちていて作業が中断されてしまっていた。

調べたら簡単なハナシであった。

せとっちの備忘録(技術系)TeraTermがすぐ落ちることへの対策

をみる
設定⇒TCP/IP⇒自動的にウィンドウを閉じる。なるほづ。

今後 でかい時間を要するコマンドは上記対策に加えて、
Screen を使うっす。
Screen を使った場合、途中で落ちても再度やり直すことができる。
Screen -r

「Screenがめっちゃ便利」という言葉は最初は意味が解らなかったのだけど
だんだん実感できるようになる。そして自らもScreenの伝道師になっていく。

UNIXでじわじわ来る言葉といったら「Screenがめっちゃ便利」

UNIXあるある。

2016年3月4日金曜日

ケースで学ぶマーケティングの教科書を読んだ

ケースで学ぶマーケティングの教科書
死ぬほどつまらん。事例に一切共感できない。
脳内劇場を無理矢理みさされているような。わずかに内容っぽい部分は既知であり。エグザンプルはすべてステマかパブ記事の類のようであった。


まれにみるしょうもない本だけど評価が高いのはナゼ?

今更 Android SDK 再入門

ちょっと作りたいジョークソフトがあって、
勉強しよっと。思いっきりナンセンスなソフト作りたい。

図書館で借りてきたのは少し本が古い。



さすがにアマゾンで古書は一円だなあ。

新しいバージョンも出ている。 とりあえず、古い方も全部読んでみるかな。

ああ、プログラム久しぶりだ。

アイデア勝負なんで、難度は低めのハズなんだけどネ

2016年3月3日木曜日

board というサービスってどうか

登録無料だったので【board(ボード)】 というサービスに登録してみた。

登録自体は一瞬で終わるというか、Google+のアカウントがそのまま使える。

TOP画面fps の小さい ノスタルジックな映像がバックグラウンドで流れててカワイイ。ただ、文字数が少なくていまひとつピンと来なくて、とりあえずログインして中を探ったほうがはやそうなので、しばらくうろうろしてみた。

どうやら、写真や絵をふんだんに使ったいい感じの本がネット上で持てるサービスらしい。なんか手書きとかもできて、画像編集ソフト並みの表現力はあるのかもしれない。デジタルアルバムに最適っぽい。

じゃあ、オイラのようにメインにテキストベースで生きている人はどうすればいいのか?
と心配になってきて、とりあえず空のブックを作ってみたけど、文字を入力することは問題ないみたい。でも絵のないフォントがやけに綺麗なページにニーズが無いので、ちょっと絵心取得からはじめないといけないな。
ま、フォントとか好きだけどさ。

もし才能があったらオンラインで共有できるお絵かき帳みたいな使い方もできるんだろうな。

絵が描けなくても、写真が取れなくても、アートに造詣があるのであれば自分の視点で感想を言い合えるのでいいかもしれない。
少し発展して、Amazonのパブリッシャーと連携したり、有料化のヴィジョンも提供できたりすると夢見がちな人々の心をくすぐるのになあと思った。まだ、全部見れてないから、あるのかどうなのかわからないけど。

ま、とにかく写真はいつかやりますよ。ネットで生きていくには必要なんで。
デジカメとかGIMPか勉強して出直したい。ペットとかの写真もあげたいな。ペット居ないので人のペットを激写してあげたりして練習からスタートだな。

商用利用はNGなので、「俺、boardっていうの作ってます」とか、boardの中で「実はなになにもやってます」、程度のアピールするくらいが限界だと思う。

だけど、このボードというシステムどう考えてもチラシやブックレットを作るのに超絶便利そうで、たぶん追加のソフト無くてもそこそこのクオリティのチラシができるんじゃないかとさえ思うのでもったいない気はする。一方で
激安!!とか黄色の破れ吹き出しみたいな、ボードばかりになったら雰囲気丸つぶれなんでトレードオフというか、その運営の決定も納得はできるんですけど。技術的には商用で利用したいというニーズはあるでしょうネ。

 

2016年3月2日水曜日

ミニマリストになる方法

ぼくたちに、もうモノは必要ない。 - 断捨離からミニマリストへ

 

↑の本を読むと、オークション代行業の話が出てくる。
自分はものすごく少額ではあるけど、アマゾンに出品をやっていて面倒だと思う事も多い。

まあ、値段を決めたりするのも面倒だし、落札されるとメールがくるのですが、見落とすと悪評につながるので、毎日Seller centralにログインしなくてはいけないなど。ちゃんと値段つけようと思うとオークファン 何かも利用しないといけない。

その点オークション代行を利用すると何のストレスも溜まらない。
今の流れはそうなってるのか。

オークション代行のサイト神戸オークション出品方法
おまかせ、特急、こだわりコースがあるみたいだが、基本的にアズケッパで良いらしい。あまり部屋にモノがあふれてくるならそれもいいかもしれないな。

ただ、必要ないという主張の本を買ってしまうのは若干矛盾している気がせんでもない。

2016年3月1日火曜日

「モテる販売員になって銀座で1億円売っていました」とかいう本

背表紙にモテる販売員とか書いてあったから著者の写真をみたら、そうでもなかったのでそっと本棚に戻した本。