가령 다음의 print_hello() 함수는 print_message()라는 함수를 갖고 있다.

    def print_hello( ):
        hello = 'Hello, world!'
        def print_message( ):
            print( hello )
        print_message( )

    따라서 print_hello()를 실행하면 print_hello()print_message() 순서로 호출한다.

    다음은 무위험수익률, 수익률, 공분산으로 샤프비율을 최대로 하는 접점포트폴리오 최적화를 수행하는 코드다.

    import matplotlib.pylab as plt
    import numpy as np
    from numpy.linalg import inv
    import pandas as pd
    from pandas_datareader import data as web
    from scipy.optimize import minimize
    
    # 파이썬은 함수 안에 함수를 정의할 수 있다
    # 최적 비중 계산을 위해 다음과 같이 목적함수를 정의한다
    def solveWeights( R, C, rf ):
        def obj( W, R, C, rf ):
            mean = sum( R * W )
            var = np.dot( np.dot( W, C ), W )
    
    
    
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.