---
# System prepended metadata

title: 'Learn from the Experts Ep 1: Full Algorithm Creation with Vedran(https://lnkd.in/fa4Gcsq)を学ぶ'

---

# Learn from the Experts Ep 1: Full Algorithm Creation with Vedran(https://lnkd.in/fa4Gcsq)を学ぶ

## $10K Third-Party Challenge: Design a Factor for a Large US Corporate Pension で優秀な結果を出した人たちへのインタビュー

## 1回目は、NCRのエンジニアのVedran Rusmaさん

Vedran Rusmaさん
https://www.linkedin.com/in/rusman-vedran-33926477/

インタビューの模様（YouTube）
https://lnkd.in/fa4Gcsq

Quantopinanのフォーラム
New Video: Learn from the Experts Ep 1 -- Full Algorithm Creation with Vedran Rusman
https://www.quantopian.com/posts/new-video-learn-from-the-experts-ep-1-full-algorithm-creation-with-vedran-rusman

## 質疑応答・デモ

Q.バックグラウンドやファイナンスに興味を持った理由
https://youtu.be/7PyKtUvuHNU?t=63

Q.結果が出るまでにどれぐらい掛ったのか、また、学んだスキルは？
https://youtu.be/7PyKtUvuHNU?t=240

Q.コンテストに参加する時やチャレンジに参加するときのアイディアの出し方は？
https://youtu.be/7PyKtUvuHNU?t=373

> 「売上だけでは、適切なパラメータとは言えない。インフレ率、従業員数、他社平均も考慮しなければならない」
> などなど考えて、幾重にもフィルターを組み込んだ複雑なアルゴリズムは、結局オーバーフィッティングしてしまった。

Q.チャレンジに最終的なアルゴリズムを投稿するまでに、どれだけのアルゴリズムを探し、どれぐらい、テストをするの？
https://youtu.be/7PyKtUvuHNU?t=740

> 色々複雑なものを作ったが、結局70~80%のアルゴリズムは捨てた。


## $10K Third-Party Challenge: Design a Factor for a Large US Corporate Pensionについて

 使用したDataSets
 https://youtu.be/7PyKtUvuHNU?t=928

 FactSet Estimates - Consensus
 https://www.quantopian.com/docs/data-reference/estimates_consensus

 FactSet Estimates - Actuals のEPS（1株当たり純利益）
> * up (dtype float64) - The number of estimates revised up within FactSet’s consensus window for the specified slice.
> * down (dtype float64) - The number of estimates revised down within FactSet’s consensus window for the specified slice.
> 
>up/downからアナリストの予測の変化をとらえる事が出来るのではないかと考えた。


デモ/仮説の検証
https://youtu.be/7PyKtUvuHNU?t=1072
１．Null records notebook　を使って実際のデータのチェック
```
QTU = QTradableStocksUS()

fq1_eps_cons = fe.PeriodicConsensus.slice('EPS', 'qf', 1)
fq1_eps_cons_up = fq1_eps_cons.up.latest
fq1_eps_cons_down = fq1_eps_cons.down.latest   

# Add columns for the fractions to the result.
pipe = Pipeline(
    columns={
        'fq1_eps_cons_up': fq1_eps_cons_up,
        'fq1_eps_cons_down': fq1_eps_cons_down,
    },
    domain=US_EQUITIES,
    screen=QTU,
)

df = run_pipeline(pipe, '2014-04-01', '2017-12-19')
# df
```


|  |  null_records/total_records　NULL値の割合 |
| -------- |  -------- |
| fq1_eps_cons_down     |  0.014043     |
| fq1_eps_cons_up	     | 0.014043     |
NULL値も１％程度だから、使えそう

Appleについて目視確認
https://youtu.be/7PyKtUvuHNU?t=1184
>| |fq1_eps_cons_down	|fq1_eps_cons_up|
>|------------------|-------|---|
>|Equity(24 [AAPL])	|38.0	|4.0|
>
>'2014-04-01'から'2017-12-19'の間、downが38.0、upが4.0。
>株価が下げる傾向にあると出ている。実際のAppleの株価も下げていたので、この考え方は使えそう。

メモ：実際のAppleの株価は2014年から2015年には上げて、その後2017年まで下げていましたので、私の聞き間違いかも。

2.Alphalens tearsheet を使って検証
https://youtu.be/7PyKtUvuHNU?t=1233

```
def make_factors():
    
        class result(CustomFactor):         
            inputs = [fq1_eps_cons_up,
                      fq1_eps_cons_down]
            window_length = 1
            def compute(self, today, assets, out, up, down):
                
                ratio_1 = up[-1] - down[-1]
                
                out[:] = ratio_1      
       
     
        
        return {
                'result':              (result,1.0),
                }
```
>特に重みづけなどはしていません。

メモ：ほとんど聞き取れず。また、時間かけて見てみます。

Quantopinan Contestへの実装
https://youtu.be/7PyKtUvuHNU?t=1726

結果の確認
https://youtu.be/7PyKtUvuHNU?t=1922

まとめ
https://youtu.be/7PyKtUvuHNU?t=2568