2009年1月14日水曜日
ブログペットとブログ妖精
このブログにはブログペットを導入していたが、小癪にも登録したAtomフィードに対して形態素解析なんかまでやっている様子で、人工無能っぽくおしゃべりしたりブログ日記に自分のブログの感想がわりとそれらしく自動生成されたりしていた。そこで絵柄的に抵抗のあった(まあ自分一応堅気の人間なので)ブログ妖精こころが意外と面白いかも(より人工無能として優れているかも)、と思ってしばらく前にブログ妖精こころに変更してみた。そしたら見た目はブログペット寄り人間っぽい(まあ異論は多々あろうが)くせに、ブログの内容依存の発言はほとんどなく、好感度を上げるための種類の少ない定型的な質問とかニュースの紹介とかばかりで、「意外に知性を感じさせる場面、人工知能としてのそれらしさ」が皆無だった。結局ブログペットに戻した。
うーん、これは、往年のペルソナウェアとか「何か」とかが結局ただのニュースリーダだったのに感じた失望と同じ失望だなあ。
デスクトップマスコットとかその延長としてのブログペットとかって言うのは、飽きさせない要素=ユーザに関連したコンテンツ(ブログペットの場合はブログ)の自動生成が必須なんだよな。それは拙いもので十分というかその方が良くて、それで生まれる意外な``それらしい''結果が訴求ポイントとなるものだ。特に、ユーザとの間で共有される何かに関連して自動生成されるとなお良い。ブログペットの場合ブログのAtomフィードを``読む''というのは、とても強力な特徴だ。しかしブログ妖精こころはそれをほとんど活かしていない。
ブログ妖精はギャルゲーがブログパーツになりましたっていうコンセプトじゃないわけだから、「いやいやこれが意外と面白い事をしゃべるんですよ」と人/自分に言い訳できる要素がないと。それは堅気の人にとってのブログに萌えキャラがいる事への抵抗感への言い訳という事以前に、それがないとまずブログの執筆者自身が、そしてブログの読者も飽きる。絵柄は付加価値でしかないのだから。多分堅気じゃない人たちでもそうだ。というか、そういう人たちの方がこういう``安易な萌えキャラの使用''に対してはシビアな判断を下すだろう。
これがオリジナルのブログペットみたいに、稀にまるで本当にブログを読んで感想を喋ったり書いたりしているみたいな絶妙な反応をするのならば、堅気のブログ執筆者がブログ妖精こころに「萌える」という事にもなるだろうに。ブログペットが意外と面白いだけにブログ妖精こころがこの域に留まっているのは少々残念。お風呂シーンも見れたので(堅気はどうした)ブログペットに戻そう。
うーん、これは、往年のペルソナウェアとか「何か」とかが結局ただのニュースリーダだったのに感じた失望と同じ失望だなあ。
デスクトップマスコットとかその延長としてのブログペットとかって言うのは、飽きさせない要素=ユーザに関連したコンテンツ(ブログペットの場合はブログ)の自動生成が必須なんだよな。それは拙いもので十分というかその方が良くて、それで生まれる意外な``それらしい''結果が訴求ポイントとなるものだ。特に、ユーザとの間で共有される何かに関連して自動生成されるとなお良い。ブログペットの場合ブログのAtomフィードを``読む''というのは、とても強力な特徴だ。しかしブログ妖精こころはそれをほとんど活かしていない。
ブログ妖精はギャルゲーがブログパーツになりましたっていうコンセプトじゃないわけだから、「いやいやこれが意外と面白い事をしゃべるんですよ」と人/自分に言い訳できる要素がないと。それは堅気の人にとってのブログに萌えキャラがいる事への抵抗感への言い訳という事以前に、それがないとまずブログの執筆者自身が、そしてブログの読者も飽きる。絵柄は付加価値でしかないのだから。多分堅気じゃない人たちでもそうだ。というか、そういう人たちの方がこういう``安易な萌えキャラの使用''に対してはシビアな判断を下すだろう。
これがオリジナルのブログペットみたいに、稀にまるで本当にブログを読んで感想を喋ったり書いたりしているみたいな絶妙な反応をするのならば、堅気のブログ執筆者がブログ妖精こころに「萌える」という事にもなるだろうに。ブログペットが意外と面白いだけにブログ妖精こころがこの域に留まっているのは少々残念。お風呂シーンも見れたので(堅気はどうした)ブログペットに戻そう。
今日の戦績
Lv1.00(miniの平均発注枚数。整数部が最大発注可能枚数の半分の切り上げ値)
---------------------------
---------------------------
トータル損益は+4712円です。
このうち手数料の支払いが288円含まれます。
買い注文回数は3回, 売り注文回数は3回です。
未返済の建て玉0枚の見込み損益は手数料を含まずに±0円です。
---------------------------
OK
---------------------------
まだ6時前だけど1~2時間の集中でも滅茶苦茶消耗したのでもうこれで今日は終わりにしよう。それに今回は勝ったけどやっぱり夕場は出来高が細ってやりにくい。体調が許す限りできるだけデイセッションを手がけたい。
大発会から二連敗で縁起が悪かったけれど、そこから完璧な5連勝!イエイ!
Lv1.00(miniの平均発注枚数。整数部が最大発注可能枚数の半分の切り上げ値)
---------------------------
---------------------------
トータル損益は-48円です。
このうち手数料の支払いが48円含まれます。
買い注文回数は0回, 売り注文回数は1回です。
未返済の建て玉1枚の見込み損益は手数料を含まずに+1500円です。
---------------------------
OK
---------------------------
夕場同様現物市場の引け後のロスタイム10分で調子に乗りすぎだろう。先物は。何故に1万円の含み損から一転含み益で終わってますか。後は夕場で手仕舞うタイミング(もし高く始まったら今生じている含み益を引きずらずに一度潔く手仕舞う事も考えよう)、さすがに二日休んでしまったので夕場で少しはやりたいなあ。でもまあ夕場は半分以上洒落だから、動き次第だけど。夕場で8000円にタッチしたりして。
以下後場ザラ場中(といっても14時以降だけど)に
書いたこと:
あまりに体調が悪いので今日も参戦は見送り。14時過ぎまで寝ていた。最近また朝方まで寝付けなくなっている。
のはずだったのだが、昨日の俺は何をしやがってますか。8300で指値してやがる。NYの動きが弱いのを見てこれをキャンセルしようと考えたはずなんだが、思い返してみると実行に移した記憶がない。
寄りが高かったので8390での約定になっているが行って来いの展開になっているので一時的にはすごい損になっていたはず。今はぎりぎり許容範囲の損まで落ちてきているので、損きりはいつでもできるから、夕場で8300円台になるのを期待してしばらく放置しておこう。でも、やばい展開になったら覚悟は決めて損きりしなきゃ。
ところで、これ、後場終値次第では、トレードアイランドの収益がマイナスになるよね?悲しいなあ。
---------------------------
---------------------------
トータル損益は+4712円です。
このうち手数料の支払いが288円含まれます。
買い注文回数は3回, 売り注文回数は3回です。
未返済の建て玉0枚の見込み損益は手数料を含まずに±0円です。
---------------------------
OK
---------------------------
まだ6時前だけど1~2時間の集中でも滅茶苦茶消耗したのでもうこれで今日は終わりにしよう。それに今回は勝ったけどやっぱり夕場は出来高が細ってやりにくい。体調が許す限りできるだけデイセッションを手がけたい。
大発会から二連敗で縁起が悪かったけれど、そこから完璧な5連勝!イエイ!
---------------------------
---------------------------
トータル損益は-48円です。
このうち手数料の支払いが48円含まれます。
買い注文回数は0回, 売り注文回数は1回です。
未返済の建て玉1枚の見込み損益は手数料を含まずに+1500円です。
---------------------------
OK
---------------------------
夕場同様現物市場の引け後のロスタイム10分で調子に乗りすぎだろう。先物は。何故に1万円の含み損から一転含み益で終わってますか。後は夕場で手仕舞うタイミング(もし高く始まったら今生じている含み益を引きずらずに一度潔く手仕舞う事も考えよう)、さすがに二日休んでしまったので夕場で少しはやりたいなあ。でもまあ夕場は半分以上洒落だから、動き次第だけど。夕場で8000円にタッチしたりして。
以下後場ザラ場中(といっても14時以降だけど)に
書いたこと:
あまりに体調が悪いので今日も参戦は見送り。14時過ぎまで寝ていた。最近また朝方まで寝付けなくなっている。
のはずだったのだが、昨日の俺は何をしやがってますか。8300で指値してやがる。NYの動きが弱いのを見てこれをキャンセルしようと考えたはずなんだが、思い返してみると実行に移した記憶がない。
寄りが高かったので8390での約定になっているが行って来いの展開になっているので一時的にはすごい損になっていたはず。今はぎりぎり許容範囲の損まで落ちてきているので、損きりはいつでもできるから、夕場で8300円台になるのを期待してしばらく放置しておこう。でも、やばい展開になったら覚悟は決めて損きりしなきゃ。
ところで、これ、後場終値次第では、トレードアイランドの収益がマイナスになるよね?悲しいなあ。
2009年1月13日火曜日
今日の戦績
---------------------------
---------------------------
トータル損益は+1828円です。
このうち手数料の支払いが672円含まれます。
買い注文回数は7回, 売り注文回数は7回です。
未返済の建て玉0枚の見込み損益は手数料を含まずに±0円です。
---------------------------
OK
---------------------------
夕場で火遊びしてまた利益を減らしてしまった。大幅に下げた6時以降の参戦で、揉みあい相場の練習と見なして8350くらいを底値と思ってロングしたら損を出してしまい戻りからショートして取り戻したりと右往左往しつつ損益とんとん。ただ、引けにかけての一段の下げを期待して8260でショートして8220で指成にしておいたら、8240くらいまで下げて利益をとれる場面もあったのだが引けまで粘ったら引けは8265で1ティック分の損。それでこういう結果になりましたとさ。
しかし為替や欧州に反応しているのは分かるが、夕場調子に乗りすぎだろう。これで明日はまた大幅GDの後ヨコヨコとかだと腹の虫が収まらん。
もし明日8300より上で売れる場面があれば売り建てを鬼ホールドって選択肢が出てきたかもしれない。相場環境の割りに良好だった市場参加者の感情がようやく悪化してきたとは言え、25MA付近では強気でショートするのは控えて様子見しながら動きが強い場面でフォローしていく方針が適切かと思っていたが、これは明日一気に7000円台突入もあり得るかも?
ただ、とりあえずは今月の利益は既に十分確保できているので、今月トータルの目標は+10%くらいに置いて、慎重に手堅くいく方針をあくまで基本としよう。今日も、14時50分からの参戦で美味しい所だけさらっていけたので少ない利益とは言え行動の選択は上手だった。めでたしめでたし。
Lv1.00(miniの平均発注枚数。整数部が最大発注可能枚数の半分の切り上げ値)
---------------------------
---------------------------
トータル損益は+2308円です。
このうち手数料の支払いが192円含まれます。
買い注文回数は2回, 売り注文回数は2回です。
未返済の建て玉0枚の見込み損益は手数料を含まずに±0円です。
---------------------------
OK
---------------------------
今日はあまりに体調が悪いのと、大幅GDの後小幅での揉みあいになりそうだったので参戦しないつもりで遅くまで寝ていた。14時過ぎてから起きてみたら日経平均は400円の大幅下落だけど日経平均先物は予想通りにその分を寄りで一気に下げてしまってその後は100円くらいの幅で揉みあい。三連休の間に海の向こうで値が決まってしまいました。週初にNYが先行するのは月曜が休日ならではの現象だ。
くそう。先週末夕場の8800円の売り建て玉を持ち越していたら「見も蓋もない」の開発に伴って生じた損(4万円弱)を一気に取り戻せたなあ。それでも三連休を持ち越すリスクは絶対取るべきじゃないので逃がした魚という奴だ。
結局、14時50分を過ぎてから引けにかけての下げにだけ参戦。8400を割る事はさすがにないだろうと早目に手仕舞ったらかなり強く下げていってあっさり8400を割り、戻した後また下げて、引けは気配値が分裂して8380で終了。この短時間でももっとうまくやれば結構な利益が出せたという事になるが、利益が出ただけ良しとしよう。
2回だけの取引だし利益も小さいしでインチキじみているけれど一応の四連勝。イエイ!
---------------------------
トータル損益は+1828円です。
このうち手数料の支払いが672円含まれます。
買い注文回数は7回, 売り注文回数は7回です。
未返済の建て玉0枚の見込み損益は手数料を含まずに±0円です。
---------------------------
OK
---------------------------
夕場で火遊びしてまた利益を減らしてしまった。大幅に下げた6時以降の参戦で、揉みあい相場の練習と見なして8350くらいを底値と思ってロングしたら損を出してしまい戻りからショートして取り戻したりと右往左往しつつ損益とんとん。ただ、引けにかけての一段の下げを期待して8260でショートして8220で指成にしておいたら、8240くらいまで下げて利益をとれる場面もあったのだが引けまで粘ったら引けは8265で1ティック分の損。それでこういう結果になりましたとさ。
しかし為替や欧州に反応しているのは分かるが、夕場調子に乗りすぎだろう。これで明日はまた大幅GDの後ヨコヨコとかだと腹の虫が収まらん。
もし明日8300より上で売れる場面があれば売り建てを鬼ホールドって選択肢が出てきたかもしれない。相場環境の割りに良好だった市場参加者の感情がようやく悪化してきたとは言え、25MA付近では強気でショートするのは控えて様子見しながら動きが強い場面でフォローしていく方針が適切かと思っていたが、これは明日一気に7000円台突入もあり得るかも?
ただ、とりあえずは今月の利益は既に十分確保できているので、今月トータルの目標は+10%くらいに置いて、慎重に手堅くいく方針をあくまで基本としよう。今日も、14時50分からの参戦で美味しい所だけさらっていけたので少ない利益とは言え行動の選択は上手だった。めでたしめでたし。
---------------------------
---------------------------
トータル損益は+2308円です。
このうち手数料の支払いが192円含まれます。
買い注文回数は2回, 売り注文回数は2回です。
未返済の建て玉0枚の見込み損益は手数料を含まずに±0円です。
---------------------------
OK
---------------------------
今日はあまりに体調が悪いのと、大幅GDの後小幅での揉みあいになりそうだったので参戦しないつもりで遅くまで寝ていた。14時過ぎてから起きてみたら日経平均は400円の大幅下落だけど日経平均先物は予想通りにその分を寄りで一気に下げてしまってその後は100円くらいの幅で揉みあい。三連休の間に海の向こうで値が決まってしまいました。週初にNYが先行するのは月曜が休日ならではの現象だ。
くそう。先週末夕場の8800円の売り建て玉を持ち越していたら「見も蓋もない」の開発に伴って生じた損(4万円弱)を一気に取り戻せたなあ。それでも三連休を持ち越すリスクは絶対取るべきじゃないので逃がした魚という奴だ。
結局、14時50分を過ぎてから引けにかけての下げにだけ参戦。8400を割る事はさすがにないだろうと早目に手仕舞ったらかなり強く下げていってあっさり8400を割り、戻した後また下げて、引けは気配値が分裂して8380で終了。この短時間でももっとうまくやれば結構な利益が出せたという事になるが、利益が出ただけ良しとしよう。
2回だけの取引だし利益も小さいしでインチキじみているけれど一応の四連勝。イエイ!
2009年1月12日月曜日
LINQの独自実装にはIQueryableを実装する
LINQの独自実装をするにはIQeuryableを実装すれば良いのか。色々勘違いしていたぞ。
以下方針のメモ。間違っている部分があるかもしれない。
SkipListNodeSummableField<T>のようなクラスをSkipListNode<TItem, TNode>のインナークラスとして次のように作る。その構造はSkipListNodeに酷似していてやはりツリー類似の構造を持っているのでそのコンテナクラスを作ってやればLINQと整合的に高速な総和計算ができるというのがポイント。ただしこのクラスは自分自身では順序を定める方法を持たない点がスキップリストのノードとは異なる。その代わりにそのインスタンスはSkipListNodeの内部フィールドとして保持される。
SkipListNode<TItem, TNode>の継承クラスの実装としては例えば
という感じにする。
その上でコンテナクラスとして、SkipListRangeとSkipListSummableFieldRangeとを作る。これらはSkipListNode型あるいはSkipListSummableFieldRange型のInitial及びFinalフィールドを持つ。そして、SkipListRange型とSkipListSummableFieldRange型に対してIQueryableの実装を行う。これで、対応するノードの集合が連続である事を暗黙に仮定する事で、SkipListRange型に関してはFirst, Last, TakeWhile,
Whereメソッド等の高速化ができる。それが仮定できない場合にはIQueryableにダウンキャストしてやればQueryableクラスが提供する標準の拡張メソッドが使用されるという約束にすれば良い。つまり、インタフェースの明示的な実装という奴を使って、ダウンキャストされた場合全部Queryableクラスの静的メソッドに転送するようにすれば良い。LINQはインタフェースの実装を問わず、対応するインスタンスメソッドが存在すればそれを使い、次いでインタフェースの実装を試し、最後に拡張メソッドを探すので、(この優先順位はどこまでC#と拡張メソッドの仕様でどこまでLINQの仕様なのか良く把握できないないが)これでツリー類似の構造を利用した対応するノードの集合が連続である場合の高速なクエリと、対応するノードの集合が連続でない場合の標準的なクエリとを両立できる。SkipListSummableFieldRangeに関してはSumメソッド(Compositeメソッドによる合成だがLINQの他の実装との整合性からメソッド名はSumにすべきだろう)高速化する事が可能だ。
ここまでやれば、後一踏ん張りするとLINQ句への対応までできてしまうのだが、やっぱり何だか面倒そうだなあ。でも、ノードの集合が連続であると仮定した場合の高速なWhereができると、区間の削除が綺麗に実装できるんだよな。そのうち体調的に余裕がある時にまずLINQの独自実装のサンプルを作る事から初めてみよう。
以下方針のメモ。間違っている部分があるかもしれない。
SkipListNodeSummableField<T>のようなクラスをSkipListNode<TItem, TNode>のインナークラスとして次のように作る。その構造はSkipListNodeに酷似していてやはりツリー類似の構造を持っているのでそのコンテナクラスを作ってやればLINQと整合的に高速な総和計算ができるというのがポイント。ただしこのクラスは自分自身では順序を定める方法を持たない点がスキップリストのノードとは異なる。その代わりにそのインスタンスはSkipListNodeの内部フィールドとして保持される。
class SkipListNodeSummableField<T>{
public TNode ThisNode;
public T[] Values;
public SkipListNodeSummableField<T>[]Next;
public SkipListNodeSummableField<T>[]Prev;
//SkipListNodeのコンストラクタから呼び出してください
public SkipListNodeSummableField(TNode ThisNode){
this.ThisNode=ThisNode;
}
//SkipListNodeのOnHeightDecidedメソッドをオーバーライドして
//このメソッドを呼び出してください
public SetHeight(){
if (values == null) {
Values = new T[ThisNode.Height];
} else {
Array.Resize(ref Values, ThisNode.Height);
}
}
//SkipListNodeのOnMaintainanceメソッドをオーバーライドして
//このメソッドを呼び出してください
public Maintainance(int depth){
if (IsHeader || IsFooter) return;
if(depth==0){
Values[0]=DecideValueDepthZero(ThisNode.Item);
}else{
Values[depth]=SkipList<TItem, TNode>.GetEnumerableInOrder
(ThisNode, true, ThisNode.Next[depth].Prev[depth-1]
.Select(summablefield=>summablefield.Values[depth-1])
.Aggregate(Composite);
}
OnMaintainance(depth);
}
//合成規則
public virtual T Composite(T a, T b){
throw new NotImplementedException();
}
//このメソッドをオーバーライドしてNext[depth]やPrev[depth]に
//ThisNode.Next[depth]やThisNode.Prev[depth]の適当なフィールドを
//指定してください
protected virtual OnMaintainance(int depth){
throw new NotImplementedException();
}
//このメソッドをオーバーライドしてThisNode.ItemからValues[0]を決定する
//方法を指定してください。
protected virtual T DecideValueDepthZero(TItem Item){
throw new NotImplementedException();
}
} SkipListNode<TItem, TNode>の継承クラスの実装としては例えば
class MyNode:SkipListNode<MyItem, MyNode>{
class VolumeSummableFiled:SkipListNodeSummableField<int>{
public int Composite(int a, int b){
return a+b
}
protected virtual OnMaintainance(int depth){
Next[depth]=ThisNode.Next[depth].Price;
Prev[depth]=ThisNode.Next[depth].Price;
}
protected virtual T DecideValueDepthZero(TItem Item){
return Item.Price;
}
}
public VolumeSummableField Volume;
public MyNode(){
Volume=new VolumeSummableField(this);
}
protected override void OnHeightDecided(){
Volume.SetHeight();
}
protected override void OnMaintainance(int depth){
Volume.Maintainance(depth);
}
}
という感じにする。
その上でコンテナクラスとして、SkipListRangeとSkipListSummableFieldRangeとを作る。これらはSkipListNode型あるいはSkipListSummableFieldRange型のInitial及びFinalフィールドを持つ。そして、SkipListRange型とSkipListSummableFieldRange型に対してIQueryableの実装を行う。これで、対応するノードの集合が連続である事を暗黙に仮定する事で、SkipListRange型に関してはFirst, Last, TakeWhile,
Whereメソッド等の高速化ができる。それが仮定できない場合にはIQueryableにダウンキャストしてやればQueryableクラスが提供する標準の拡張メソッドが使用されるという約束にすれば良い。つまり、インタフェースの明示的な実装という奴を使って、ダウンキャストされた場合全部Queryableクラスの静的メソッドに転送するようにすれば良い。LINQはインタフェースの実装を問わず、対応するインスタンスメソッドが存在すればそれを使い、次いでインタフェースの実装を試し、最後に拡張メソッドを探すので、(この優先順位はどこまでC#と拡張メソッドの仕様でどこまでLINQの仕様なのか良く把握できないないが)これでツリー類似の構造を利用した対応するノードの集合が連続である場合の高速なクエリと、対応するノードの集合が連続でない場合の標準的なクエリとを両立できる。SkipListSummableFieldRangeに関してはSumメソッド(Compositeメソッドによる合成だがLINQの他の実装との整合性からメソッド名はSumにすべきだろう)高速化する事が可能だ。
ここまでやれば、後一踏ん張りするとLINQ句への対応までできてしまうのだが、やっぱり何だか面倒そうだなあ。でも、ノードの集合が連続であると仮定した場合の高速なWhereができると、区間の削除が綺麗に実装できるんだよな。そのうち体調的に余裕がある時にまずLINQの独自実装のサンプルを作る事から初めてみよう。
ね、ねむい・・・
強烈に眠い。そして立っているのが辛い程に足に疲労がある。肩と腕に筋肉痛がずっとある。調子に乗って腕立てなんかしなきゃ良かった。咳・痰も少し激しい。でも、寝起きに、あれ、風邪をひいたかな、という感覚を覚えるのだが、風邪っぽい症状については実際には風邪気味とすら言えない程度の症状しかない。慢性化してはいるが。
最近では段々、無理に外に出て夜風に当たっている時しか意識が保てなくなってきた。その癖、夜12時を回ると、グロッキーながら活動的という風になって、まるでゾンビのようにあれこれしながら朝方まで起きている。最近の長文投稿の連続もそんな感じだった。そのせいで首も痛い。手首も痛い。
最近では段々、無理に外に出て夜風に当たっている時しか意識が保てなくなってきた。その癖、夜12時を回ると、グロッキーながら活動的という風になって、まるでゾンビのようにあれこれしながら朝方まで起きている。最近の長文投稿の連続もそんな感じだった。そのせいで首も痛い。手首も痛い。
登録:
投稿 (Atom)
