ラジオ録音データの再生環境

再生環境
 以前はウォークマンの安いのを使っていたが4年弱使ったらイヤフォンジャックが接触不良になってきて、使うのをあきらめた。
Amazon CAPTCHA
実家で小型エンジンものや電動工具等はノイズキャンセラーで不思議なくらい静かになるので、ウォークマンは便利なのだが高いからね(以前は逆輸入の安いのがチラホラあったのだが)。

今は、AGPtEK A02(ブラック)にている。
www.amazon.co.jp
8GBあるから、記憶容量は十分。1週間分はらくらく入る。
正直、音はそれなり。音楽用としてはどうなんだろうと思うが、なれるからいいのかな。
こいつが致命的なのは、ファイルをコピーした順番で再生してしまうということで、つまり、エクスプローラで複数選択してコピー&ペーストでは、再生順がぐじゃぐじゃになる。zcopy(by c.mosさん、、vzで開発してた時代が懐かしい)を使うなどして、行儀よく複写する必要がある。
Software - c.mos
飛ばしで再生が簡単にできるように、rrtで10分刻みで録音しています。音がつなぎ目で重なったりするけど、この辺は我慢ですね。
http://www.geocities.jp/buriburipipi/index.html

イヤフォンは、さすがに低価格プレーヤー付属のはそれなりなので、wp150というのにしている
https://www.amazon.co.jp/dp/B01B2PSIBE
もっと安いイヤフォンでも良いのだが、ケーブルが細いのはどうしても断線しやすい。この辺は使い方というか性格というかなんだろうけど。

RRTの一括録音用予約ファイル生成プログラム作成

会社でdelphiは定期的に使ってはいるものの、プログラムって、既存資産のCut & Paste というのが多いので、(基本はファイル処理だから、パターン化される)、自宅で作ってみると、相当手間取ってしまう。
参考書はpdf化してしまっているのだが、検索ができるようにOCR処理をいれたものの使いにくいなあ。
pdfは順読みなら耐えられるけど、ランダムアクセス&しおりで飛ばすというは、まどろっこしい。
google先生になっちゃうなあ。
 スケジュールファイルを柔軟に汎用的にプログラム生成するって、作ってみると大変かもしれない。今は、1日2回電源断(PCを電源タイマー操作、PCのシャットダウンはrrt側でさすがにやらせる)。電源onの開始タイミング操作もおこなっているので、予約ファイルに書いてあっても、実際には録音していない時間帯もある。
 今は汎用性がほとんどない、自分専用のプロトタイプ状態ですね。

f:id:buriburipipi2:20170325080329j:plain

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Vcl.StdCtrls,dateUtils;

type
  TForm1 = class(TForm)
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    DateTimePicker3: TDateTimePicker;
    Label1: TLabel;
    Label2: TLabel;
    DateTimePicker4: TDateTimePicker;
    Label3: TLabel;
    DateTimePicker5: TDateTimePicker;
    DateTimePicker6: TDateTimePicker;
    DateTimePicker7: TDateTimePicker;
    Edit1: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure DateTimePicker1Change(Sender: TObject);
  private
    { Private 宣言 }
  public
    { Public 宣言 }
  end;

var
  Form1: TForm1;

  str_date :Tdate;
  end_date :Tdate;
  wk_datetime:Tdatetime;
var
  Hour_c:  Word;
  Min_c:  Word;
  Sec_c: Word;
  MSec_c: Word;
  Hour_w:  Word;
  Min_w:  Word;
  Sec_w: Word;
  MSec_w: Word;

  Hour_s: array[1..4] of Word;
  Min_s: array[1..4] of Word;
  Sec_s: array[1..4] of Word;
  MSec_s: array[1..4] of Word;
  Hour_e: array[1..4] of Word;
  Min_e: array[1..4] of Word;
  Sec_e: array[1..4] of Word;
  MSec_e: array[1..4] of Word;
  Year_s:Word;
  Month_s:Word;
  day_s:Word;
  Year_e:Word;
  Month_e:Word;
  day_e:Word;

//  Hour02s,Min02s,Sec02s,MSec02s:Word;
//  Hour01e,Min01e,Sec01e,MSec01e:Word;
//  Hour02e,Min02e,Sec02e,MSec02e:Word;
  add_min:Word;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  F:textfile;
  buf:array[0..5000] of char;
  wStr,OffStr:string;
  atEndFlag,PrintFlag,PrintFlag_next:boolean;
  base_point:integer;

begin
//   str_date:=Date;
//   datetimePicker1.Date:=str_date;
//   DateTimePicker1.Show;
   AssignFile(F,'d:\test\text.csv');
   System.SetTextBuf(F, Buf);
   ReWrite(F);

   end_date:=datetimePicker4.Date;
   if str_date > end_date then
   begin
      end_date:=str_date +1;
      datetimePicker4.Date:=end_date;
      DateTimePicker4.Show;

   end;
   DecodeDate(Str_date,Year_s,Month_s,day_s);
   DecodeDate(end_date,Year_e,Month_e,day_e);

   DecodeTime(DateTimePicker2.time,Hour_s[1],Min_s[1],Sec_s[1],MSec_s[1]);
   DecodeTime(DateTimePicker5.time,Hour_e[1],Min_e[1],Sec_e[1],MSec_e[1]);

   DecodeTime(DateTimePicker6.time,Hour_s[2],Min_s[2],Sec_s[2],MSec_s[2]);
   DecodeTime(DateTimePicker7.time,Hour_e[2],Min_e[2],Sec_e[2],MSec_e[2]);

   DecodeTime(DateTimePicker3.time,Hour_c,Min_c,Sec_c,MSec_c);
   add_min:= (Hour_c * 60) + Min_c;
//   wk_datetime:= str_date + DateTimePicker2.time;
   wk_dateTime := EncodeDateTime(Year_s, Month_s, Day_s, Hour_s[1], Min_s[1], 0, 0);

//   # 日時,分数,フォルダ,タイトル,電源断,
//   2014/10/01 06:00:00,45,c:\rokuon,福祉政策の課題('14)_01_,0,
   wStr:='# 日時,分数,フォルダ,タイトル,電源断,';
   Writeln(F,wStr);
   atEndFlag:=False;
   base_point:=1;
   PrintFlag:=True;
   PrintFlag_next:=True;

   while (not atEndFlag) do
   begin
     DecodeTime(wk_DateTime,Hour_w,Min_w,Sec_w,MSec_w);
     OffStr:='0';
     if printFlag then
     begin
       if (Hour_e[base_point] = Hour_w) and ( (Min_e[base_point] = Min_w)) then
       begin
         PrintFlag_next:=false;
         inc(base_point);
         OffStr:='1';
       end;
     end
     else
       if (Hour_s[base_point] = Hour_w) and ( (Min_s[base_point] = Min_w)) then
       begin
         PrintFlag_next:=True;
         PrintFlag:=True;
       end;
     wStr:= FormatDateTime('yyyy/MM/DD hh:mm:ss',wk_dateTime) + ',' +
           format('%d',[add_min]) + ',' +
           'c:\rokuon' +',' +
           'tbs' + ',' +
           OffStr + ',';
     if PrintFlag then
        Writeln(F,wStr);
     PrintFlag:=PrintFlag_next;
     wk_dateTime := IncMinute(Wk_dateTime, add_min);
     if Base_Point > 2 then
        Base_Point:=1;
     if Wk_DateTime > end_date then
        atEndFlag:=True;
   end;


   Flush(F);
   CloseFile(F);

end;

procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
     str_date := datetimePicker1.Date;

end;

end.

delphiのセットアップ

RRTというPC録音用のタイマーソフトを開発しておりまして
http://www.geocities.jp/buriburipipi/index.html

開発の動機は、NHKラジオ語学放送の録音をPC(radikoとかが始まる前で、ラジオとPCをオーディオケーブルで録音する方法)でおこなうということでして、既存のフリーソフトはスケジュール録音機能が個人的にいまいちな感じがして、ただ、ソフトそのものをを開発する能力があるわけでなく、「S Rec」 という優秀な録音ソフト利用させていただいて、週間タイマーで制御する部分を作成いたしました。
http://www.rukihena.com/soft/srec.html

その後、ラジオ放送をインターネットに公開されたスケジュール情報に基づき全録音したら面白いのでないかという方向でRRTを機能拡張して、その流れで、放送大学の全コンテンツを録音してしまえ(TVは音声のみ)というプロジェクト(EXCELで予約ファイルを生成)が数年前まで。
さすがに相当聞き流しておりますと実際問題、頭にロードできるコンテンツがわかってきたのと、新規コンテンツだけradikoで録音すればいい状態になりました。テレビ放送も音源だけというのは、持ち運びには大変便利なんですけど、真剣に見るには録画の方が有益という(あたり前な)結論がでました。
最近のRRT環境の使い道ですが、ワイドFMがスタートしてAM放送の音質がクリアになりましたので、TBSラジオをゾーンを決めて全録音して、お好みの部分だけ聞いています。

というのが長い前置きで、今まではTBSラジオのRRTスケジュールファイルは、メモ帳で1か月分の予約ファイルを定義しておいて、それを置換しながら使ってみたのですが、さすがに面倒なのでプログラムで作ることにしました。
ディスクトップPCの使用権限があんまりないので、手元のノートへ開発言語のdelphiをセットアップすることから始めます。

1.ファイルのダウンロード&セットアップ
(1)ednへ行って、ログオン、プログラムをダウンロードする。
support.embarcadero.com
(2)上段のマイアカウントを見れば、シリアル番号もわかる。


2.パッチ(windowsのエラーを回避するIDEのパッチ)
IDE Fix Pack 5.94 released – RAD Studio 10 Seattle support - DelphiFeeds.com


3.げげ、HPだと、コンパイルエラーになっちゃう
support.embarcadero.com

IDE のメニューから、[ツール | オプション] を選択します。
オプションダイアログが表示されますので、左のツリーから「環境変数」を選択します。
右側に設定されている環境変数が表示されます。ユーザー定義環境変数内にある PLATFORM環境変数に値が設定されている場合は、この値をクリアし、オーバーライドします。

まあまあ、コンパイルできるようになりました。げげ、cドライブの未使用が5.24GBになってしまった。できるだけ、D:へ逃がしたんだけどね。

ETLツール

そういう意識はないのだけれど、業務上「データマート」を運営しているらしい(笑)。
データマート - Wikipedia
もちろん、ORACLEなどのデータベース環境はなどあるわけもなくて、ACCESSは一応あるけど、インポートも手間だし、
データが増えると極端に遅くなるしで、よっぽどじゃないと利用しない。30年以上前にメインフレームで学んだソート&キーブレークなどなどの
レガシーな世界です。
今は、delphiで実装することが多いのだけれども、どの言語で書こうが属人の壁ができてしまう。
www.embarcadero.com
それほど難しいことをやっているわけでないし、可変要素は外部化しているので、現状維持ならプログラム修正なしで今後そこそこも使えるかんじもするけど、新規課題には弱い。
ETLツールをつかうべきなんでしょうね。
Extract/Transform/Load - Wikipedia

ノンプログラミングで何でもできるような印象操作(笑)の裏側には、それなりの前提となるスキルまたは、非合理的な単純化が隠れていると睨むけど、その気持ちを裏切るぐらいのAIな世界があるのかな。泥臭いコード調整に落とし込むオチがあるなら安心できる気もするが。

銀行勘定の金利リスク(IRRBB) の6種類のショックをグラフ化してみる

www.zenginkyo.or.jp
銀行勘定の金利リスクに関しては、2018年3月基準から新しいルールになる予定ですけど、イマイチ詳細な情報が出てこない。
金融機関に自由に内部モデルをつくらせるとリスクを過少に見積もる危険性があるので、細かな制約を入れる方向感なのだが、その辺のさじ加減が分からない部分がある。
国際ルールなのに日本だけ適用を遅らせるのはカッコ悪いというのが当局の気持ちなんだろけれど、中小金融機関の中には、まにあわないとこもあるというか、徐々に高度化して対応する感じになるんじゃないでしょうかね。逆にいえば、どさくさに紛れて内部モデルで構築しちゃう手もあるきもするけど、金融検査等ででダメ出し食らって遡って訂正というのも悲しすぎるしね。

バーゼル2では、99%ile/1%ileという金利ショックを導入したけど国際的な金利水準の低下と安定で、観測期間5年の1年間の金利差という条件ではあんまりショックならんということなんでしょう。新しいルールに変わった。
グラフ化してみる。たぶん多くの日本の金融機関にとっては、パラレル+100BPが最大のリスク量になると思うけど。
f:id:buriburipipi2:20170308072209j:plain

※以下のテキストを、shock.slk という名前で保存してexcelで開くと、冒頭引用したpdfのp48の例の内容の計算結果となる。
 もちろん、無保証ですからね。

ID;PWXL;N;E
P;PGeneral
P;P0
P;P0.00
P;P#,##0
P;P#,##0.00
P;P#,##0;;\-#,##0
P;P#,##0;;[Red]\-#,##0
P;P#,##0.00;;\-#,##0.00
P;P#,##0.00;;[Red]\-#,##0.00
P;P"$"#,##0;;"$"\-#,##0
P;P"$"#,##0;;[Red]"$"\-#,##0
P;P"$"#,##0.00;;"$"\-#,##0.00
P;P"$"#,##0.00;;[Red]"$"\-#,##0.00
P;P0%
P;P0.00%
P;P0.00E+00
P;P##0.0E+0
P;P#\ ?/?
P;P#\ ??/??
P;Pyyyy/m/d
P;Pd\-mmm\-yy
P;Pd\-mmm
P;Pmmm\-yy
P;Ph:mm\ AM/PM
P;Ph:mm:ss\ AM/PM
P;Ph:mm
P;Ph:mm:ss
P;Pyyyy/m/d\ h:mm
P;Pmm:ss
P;Pmm:ss.0
P;P@
P;P[h]:mm:ss
P;P_ "$"* #,##0_ ;;_ "$"* \-#,##0_ ;;_ "$"* "-"_ ;;_ @_ 
P;P_ * #,##0_ ;;_ * \-#,##0_ ;;_ * "-"_ ;;_ @_ 
P;P_ "$"* #,##0.00_ ;;_ "$"* \-#,##0.00_ ;;_ "$"* "-"??_ ;;_ @_ 
P;P_ * #,##0.00_ ;;_ * \-#,##0.00_ ;;_ * "-"??_ ;;_ @_ 
P;P\$#,##0_);;\(\$#,##0\)
P;P\$#,##0_);;[Red]\(\$#,##0\)
P;P\$#,##0.00_);;\(\$#,##0.00\)
P;P\$#,##0.00_);;[Red]\(\$#,##0.00\)
P;Pm/d/yy
P;Pyyyy"年"m"月"d"日"
P;Ph"時"mm"分"
P;Ph"時"mm"分"ss"秒"
P;P[$-411]rr\.m\.d
P;P[$-411]rr"年"m"月"d"日"
P;Pyyyy"年"m"月"
P;Pm"月"d"日"
P;FMS Pゴシック;M220;L9
P;FMS Pゴシック;M220;L9
P;FMS Pゴシック;M220;L9
P;FMS Pゴシック;M220;L9
P;EMS Pゴシック;M120
P;EMS Pゴシック;M220;L9
P;EMS Pゴシック;M360;L55
P;EMS Pゴシック;M300;SB;L55
P;EMS Pゴシック;M260;SB;L55
P;EMS Pゴシック;M220;SB;L55
P;EMS Pゴシック;M220;L18
P;EMS Pゴシック;M220;L21
P;EMS Pゴシック;M220;L61
P;EMS Pゴシック;M220;L63
P;EMS Pゴシック;M220;SB;L64
P;EMS Pゴシック;M220;SB;L53
P;EMS Pゴシック;M220;L53
P;EMS Pゴシック;M220;SB;L10
P;EMS Pゴシック;M220;L11
P;EMS Pゴシック;M220;SI;L24
P;EMS Pゴシック;M220;SB;L9
P;EMS Pゴシック;M220;L10
P;EMeiryo UI;M180;L9
P;EMeiryo UI;M180;SB;L9
F;P0;DG0G8;M270
B;Y8;X20;D0 0 7 19
O;L;D;V0;K47;G100 0.001
F;W1 1 20
C;Y1;X1;K"ショック種類"
C;X2;K"O/N"
C;X3;K"O/N ≦1M"
C;X4;K"1M ≦3M"
C;X5;K"3M ≦ 6M"
C;X6;K"6M ≦9M"
C;X7;K"9M ≦1Y"
C;X8;K"1Y ≦ 1.5Y"
C;X9;K"1.5Y ≦2Y"
C;X10;K"2Y ≦3Y"
C;X11;K" 3Y ≦4Y (3.5Y)"
C;X12;K" 4Y ≦5Y (4.5Y) "
C;X13;K"5Y ≦6Y (5.5Y) "
C;X14;K"6Y ≦7Y (6.5Y) "
C;X15;K"7Y ≦8Y (7.5Y) "
C;X16;K"8Y ≦9Y (8.5Y) "
C;X17;K"9Y ≦10Y (9.5Y) "
C;X18;K"10Y ≦ 15Y (12.5Y)"
C;X19;K" 15Y ≦20Y (17.5Y) "
C;X20;K">20y"
C;Y2;X1;K"※この行は非表示"
C;X2;K0.0028
C;X3;K0.0417
C;X4;K0.1667
C;X5;K0.375
C;X6;K0.625
C;X7;K0.875
C;X8;K1.25
C;X9;K1.75
C;X10;K2.5
C;X11;K3.5
C;X12;K4.5
C;X13;K5.5
C;X14;K6.5
C;X15;K7.5
C;X16;K8.5
C;X17;K9.5
C;X18;K12.5
C;X19;K17.5
C;X20;K25
C;Y3;X1;K" (i) 平行シフト(上方)"
C;X2;K1;E1
C;X3;K1;E1
C;X4;K1;E1
C;X5;K1;E1
C;X6;K1;E1
C;X7;K1;E1
C;X8;K1;E1
C;X9;K1;E1
C;X10;K1;E1
C;X11;K1;E1
C;X12;K1;E1
C;X13;K1;E1
C;X14;K1;E1
C;X15;K1;E1
C;X16;K1;E1
C;X17;K1;E1
C;X18;K1;E1
C;X19;K1;E1
C;X20;K1;E1
C;Y4;X1;K"(ii) 平行シフト(下方)"
C;X2;K-1;E-1
C;X3;K-1;E-1
C;X4;K-1;E-1
C;X5;K-1;E-1
C;X6;K-1;E-1
C;X7;K-1;E-1
C;X8;K-1;E-1
C;X9;K-1;E-1
C;X10;K-1;E-1
C;X11;K-1;E-1
C;X12;K-1;E-1
C;X13;K-1;E-1
C;X14;K-1;E-1
C;X15;K-1;E-1
C;X16;K-1;E-1
C;X17;K-1;E-1
C;X18;K-1;E-1
C;X19;K-1;E-1
C;X20;K-1;E-1
C;Y5;X1;K"(iii) スティープニング"
C;X2;K-0.648;EROUND(-0.65*R[+2]C+0.9*(1-R[+2]C),3)
C;X3;K-0.635;EROUND(-0.65*R[+2]C+0.9*(1-R[+2]C),3)
C;X4;K-0.586;EROUND(-0.65*R[+2]C+0.9*(1-R[+2]C),3)
C;X5;K-0.512;EROUND(-0.65*R[+2]C+0.9*(1-R[+2]C),3)
C;X6;K-0.425;EROUND(-0.65*R[+2]C+0.9*(1-R[+2]C),3)
C;X7;K-0.346;EROUND(-0.65*R[+2]C+0.9*(1-R[+2]C),3)
C;X8;K-0.235;EROUND(-0.65*R[+2]C+0.9*(1-R[+2]C),3)
C;X9;K-0.101;EROUND(-0.65*R[+2]C+0.9*(1-R[+2]C),3)
C;X10;K0.071;EROUND(-0.65*R[+2]C+0.9*(1-R[+2]C),3)
C;X11;K0.254;EROUND(-0.65*R[+2]C+0.9*(1-R[+2]C),3)
C;X12;K0.396;EROUND(-0.65*R[+2]C+0.9*(1-R[+2]C),3)
C;X13;K0.508;EROUND(-0.65*R[+2]C+0.9*(1-R[+2]C),3)
C;X14;K0.595;EROUND(-0.65*R[+2]C+0.9*(1-R[+2]C),3)
C;X15;K0.663;EROUND(-0.65*R[+2]C+0.9*(1-R[+2]C),3)
C;X16;K0.716;EROUND(-0.65*R[+2]C+0.9*(1-R[+2]C),3)
C;X17;K0.756;EROUND(-0.65*R[+2]C+0.9*(1-R[+2]C),3)
C;X18;K0.832;EROUND(-0.65*R[+2]C+0.9*(1-R[+2]C),3)
C;X19;K0.88;EROUND(-0.65*R[+2]C+0.9*(1-R[+2]C),3)
C;X20;K0.897;EROUND(-0.65*R[+2]C+0.9*(1-R[+2]C),3)
C;Y6;X1;K"(iv) フラットニング"
C;X2;K0.799;EROUND(0.8*R[+1]C-0.6*(1-R[+1]C),3)
C;X3;K0.786;EROUND(0.8*R[+1]C-0.6*(1-R[+1]C),3)
C;X4;K0.743;EROUND(0.8*R[+1]C-0.6*(1-R[+1]C),3)
C;X5;K0.675;EROUND(0.8*R[+1]C-0.6*(1-R[+1]C),3)
C;X6;K0.597;EROUND(0.8*R[+1]C-0.6*(1-R[+1]C),3)
C;X7;K0.526;EROUND(0.8*R[+1]C-0.6*(1-R[+1]C),3)
C;X8;K0.425;EROUND(0.8*R[+1]C-0.6*(1-R[+1]C),3)
C;X9;K0.304;EROUND(0.8*R[+1]C-0.6*(1-R[+1]C),3)
C;X10;K0.149;EROUND(0.8*R[+1]C-0.6*(1-R[+1]C),3)
C;X11;K-0.016;EROUND(0.8*R[+1]C-0.6*(1-R[+1]C),3)
C;X12;K-0.145;EROUND(0.8*R[+1]C-0.6*(1-R[+1]C),3)
C;X13;K-0.246;EROUND(0.8*R[+1]C-0.6*(1-R[+1]C),3)
C;X14;K-0.324;EROUND(0.8*R[+1]C-0.6*(1-R[+1]C),3)
C;X15;K-0.386;EROUND(0.8*R[+1]C-0.6*(1-R[+1]C),3)
C;X16;K-0.433;EROUND(0.8*R[+1]C-0.6*(1-R[+1]C),3)
C;X17;K-0.47;EROUND(0.8*R[+1]C-0.6*(1-R[+1]C),3)
C;X18;K-0.538;EROUND(0.8*R[+1]C-0.6*(1-R[+1]C),3)
C;X19;K-0.582;EROUND(0.8*R[+1]C-0.6*(1-R[+1]C),3)
C;X20;K-0.597;EROUND(0.8*R[+1]C-0.6*(1-R[+1]C),3)
C;Y7;X1;K"(v) 短期金利の上昇"
C;X2;K0.999;EROUND(EXP(1)^(R[-5]C*-1/4),3)
C;X3;K0.99;EROUND(EXP(1)^(R[-5]C*-1/4),3)
C;X4;K0.959;EROUND(EXP(1)^(R[-5]C*-1/4),3)
C;X5;K0.911;EROUND(EXP(1)^(R[-5]C*-1/4),3)
C;X6;K0.855;EROUND(EXP(1)^(R[-5]C*-1/4),3)
C;X7;K0.804;EROUND(EXP(1)^(R[-5]C*-1/4),3)
C;X8;K0.732;EROUND(EXP(1)^(R[-5]C*-1/4),3)
C;X9;K0.646;EROUND(EXP(1)^(R[-5]C*-1/4),3)
C;X10;K0.535;EROUND(EXP(1)^(R[-5]C*-1/4),3)
C;X11;K0.417;EROUND(EXP(1)^(R[-5]C*-1/4),3)
C;X12;K0.325;EROUND(EXP(1)^(R[-5]C*-1/4),3)
C;X13;K0.253;EROUND(EXP(1)^(R[-5]C*-1/4),3)
C;X14;K0.197;EROUND(EXP(1)^(R[-5]C*-1/4),3)
C;X15;K0.153;EROUND(EXP(1)^(R[-5]C*-1/4),3)
C;X16;K0.119;EROUND(EXP(1)^(R[-5]C*-1/4),3)
C;X17;K0.093;EROUND(EXP(1)^(R[-5]C*-1/4),3)
C;X18;K0.044;EROUND(EXP(1)^(R[-5]C*-1/4),3)
C;X19;K0.013;EROUND(EXP(1)^(R[-5]C*-1/4),3)
C;X20;K0.002;EROUND(EXP(1)^(R[-5]C*-1/4),3)
C;Y8;X1;K"(vi) 短期金利の低下"
C;X2;K-0.999;ER[-1]C*-1
C;X3;K-0.99;ER[-1]C*-1
C;X4;K-0.959;ER[-1]C*-1
C;X5;K-0.911;ER[-1]C*-1
C;X6;K-0.855;ER[-1]C*-1
C;X7;K-0.804;ER[-1]C*-1
C;X8;K-0.732;ER[-1]C*-1
C;X9;K-0.646;ER[-1]C*-1
C;X10;K-0.535;ER[-1]C*-1
C;X11;K-0.417;ER[-1]C*-1
C;X12;K-0.325;ER[-1]C*-1
C;X13;K-0.253;ER[-1]C*-1
C;X14;K-0.197;ER[-1]C*-1
C;X15;K-0.153;ER[-1]C*-1
C;X16;K-0.119;ER[-1]C*-1
C;X17;K-0.093;ER[-1]C*-1
C;X18;K-0.044;ER[-1]C*-1
C;X19;K-0.013;ER[-1]C*-1
C;X20;K-0.002;ER[-1]C*-1
E

Rサンプル (ggplot2)

r01 <- function(suretu = 1:6){
  saikoro <- sample(suretu,size = 2,
  replace = TRUE)
  sum(saikoro)
}

library(ggplot2)
r01()
d01 <- replicate(10000,r01())
qplot(d01,binwidth = 1)

サイコロを2回ふる関数 r01
10,000回実行してヒストグラムを作成
f:id:buriburipipi2:20170302064056j:plain

x <-seq(-1, 1, length=10)
y <- x^3
qplot (x,y)

f:id:buriburipipi2:20170302065311j:plain

サッカー観戦

www.msn.com

海外のサッカーの試合をたまに見るのだが、レベルが高いなあと素直に思う。NHK-BSは日本人がチームにいる欧州の試合を定期的に放映している。最近は世代交代になっているのかもしれないが「xx選手出場」と呼び込みでは煽っても出場しない場合がままあるのだが、まあ、まあ、それはそれでよい試合がみれれば問題ではない。
サッカーに関しては「にわか」もいいところなんで深くはわからないけど、日本人選手のいいところは、組織的に行動する能力が開発されていてチームプレーができることと、神がかり的なパスやプレーはないけど、正確なパスやプレーができることなんかじゃないかと思う。
 長谷部の所属するフランクフルトは、華々しい攻撃のプレーヤーはいないが守備力はあって、勝ち点ランクはトップではないが上位グループに現状いる。この頃の長谷部は、スリーバックの中央のリベロが多くて、時々その一つ前のボランチをやっている。ゴールを狙えるフリーキックは蹴ることが多い。ボールに絡む時間は日本人では一番多いと思う。地味な役割とはいってもひいき目を除いてもチーム内で軸のプレーヤーの一人になっている。
 華々しい試合ではないけれど、見るのは楽しみだ。