더북(TheBook)

위에서 사용한 CreateMatrixPQ() 함수는 다음과 같다.

# 자산에 대한 투자자의 전망과 전망의 기대수익률을 행렬로 만든다
def CreateMatrixPQ( names, views ):
    r, c = len( views ), len( names )

# 투자 전망과 기대수익률 행렬v# views[i][3]은 기대수익률을 가리킴
    Q = [ views[ i ][ 3 ] for i in range( r ) ]

# 전망 행렬 P를 만들기 위해
# 구성 자산 딕셔너리 작성
    nameToIndex = dict( )
    for i, n in enumerate( names ):
        nameToIndex[ n ] = i

# 투자 전망
    P = np.zeros( [ r, c ] )
    for i, v in enumerate( views ):

# 가령 전망이 ( 'MSFT', '>', 'GE', 0.02 )라면
# views[ i ][ 0 ] <-- 'MSFT' --> 종목1(name1)
# views[ i ][ 1 ] <-- '>'    --> 비교 연산자 자리
# views[ i ][ 2 ] <-- 'GE'   --> 종목2(name2)
# views[ i ][ 3 ] <-- '0.02'
        name1, name2 = views[ i ][ 0 ], views[ i ][ 2 ]
        P[ i, nameToIndex[ name1 ] ] = +1 if views[ i ][ 1 ] == '>' else -1
        P[ i, nameToIndex[ name2 ] ] = -1 if views[ i ][ 1 ] == '>' else +1
    return np.array(Q), P
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.