나의 발자취

금융공학 코딩 과제 3주차 본문

금융공학/프로그래밍 공부

금융공학 코딩 과제 3주차

달모드 2020. 10. 3. 03:22

 

여기서 시간을 측정하는 법에 대해 한번 짚고 넘어가자

  • IPython은 현재 Jupyter의 커널 중 Python부분에 해당. Jupyter의 전신이 IPython이었던 만큼, Jupyter는 IPython을 default kernel로써 포함.

  • IPython에는 Python code의 퍼포먼스, 메모리 사용, 수행 시간등을 편리하게 프로파일링 하게 도와주는 여러 Magic Command들이 있다

  • % 의 경우 한 줄의 코드에서만 실행되며, %% 의 경우 여러 줄, 즉 한 셀의 내용 전체에서 실행된다

  • %time 은 코드가 실행되는데 걸리는 시간을 측정해준다

  • %timeit은 보다 복잡한 조작을 가능하게 해준다. %timeit은 주어진 코드를 여러번 실행해보고 그 평균시간을 알려준다

  • 출력은 Wall time으로 측정된다.

    • CPU time : 작업을 수행한 프로세서의 시간을 합산한 시간.

    • wall time : 작업을 수행한 시간.

    • 예를 들어 A라는 작업을 2개 프로세서(코어)에서 동시에 쉬지지않고 작업했는데 2초가 걸렸다면, CPU time은 4초, wall time은 2초이다.

    • 작업을 수행하는 개별 프로세서는 중간에 쉴때가 존재하므로 단순히 (wall time) * (프로세서 수) 로 CPU time이 계산되지는 않는다.

--------------------------------------------------------------------------------------------------------------

  • ndarray는 fixed-size homogeneous multidimensional array 정도로 이해할 수 있으며, 기본적으로 vectorization과 broadcasting을 지원한다.

  • vectorization과 broadcasting은 뒤에서 설명이 나오니까 일단 넘어가자

  • ndarray의 주요 속성은 다음과 같다.

    • shape : 배열의 형태
    • dtype : 요소의 데이터 타입, int32, float32 등등
    • ndim : 차원수. x.ndim = 1, y.ndim=2 등이며 len(x.shape) 와 동일
    • size : 요소의 개수. shape의 모든 값의 곱. x.size = 3, y.size=6 등
    • itemsize : 요소 데이터 타입의 크기(byte 단위), x.itemsize=8 등
    • data : 실제 데이터. 직접 사용자가 접근할 필요는 없음

구조화 배열에서 궁금증: 프린트 하면 나오는 b는 뭐지

코드 벡터화와 브로드캐스팅에서 .T가 뭐지

n

np.pi가 뭐지ㅣ

np.array(x,y)가 어떻게 추출되어서 마지막 프린트 결과가 이렇게 나오는건지

 

'금융공학 > 프로그래밍 공부' 카테고리의 다른 글

파이썬 증권데이터분석 맥OS  (0) 2021.01.30
Comments