반응형

◆ 1982년 초 밴쿠버 증권 거래소가 초기값 1000.000으로 설정된 새로운 주가 지수를 도입하였고, 이 지수가 2년 만에 원래 가치의 절반으로 하락함. 그 당시 주식 시장이 강세를 띄는 상황인지라 이 지수의 신빙성에 의혹을 품게 됨

◆ 외부 컨설턴트를 통한 3주의 조사 결과 지수 계산을 하는 프로그램 코드에서 round() 대신 floor() 함수를 사용하여 문제가 생긴 것을 발견함. 즉, 컴퓨터가 지수 계산에서 소수점 이하 세 번째 자리로 반올림(rounding) 하는 대신 단순히 나머지 자릿수를 잘라버리는 절사(truncating)를 수행함. 예를 들어, 지수를 532.7528로 계산하면 반올림한 532.753이 아닌 532.752가 저장됨

◆ 주가가 변경될 때마다(평균적으로 하루에 2,800회 정도 발생) 컴퓨터가 지수를 소수점 이하 세자리까지 다시 계산하였으며, 이 언뜻 보기에 사소한 오차가 하루에 3천 번 가까이 업데이트되는 과정에서 모두 누적되면서 지수 값을 크게 깎아 내리게 됨

◆ 이 프로그래밍 실수는 1983년 11월 금요일에 지수가 500 부근에서 마감된 후 마침내 수정됨. 1983년 11월 25~28일 주말 동안 이 에러가 수정되었고, 22개월 동안 누적된 계산 실수를 바로잡은 결과로 지수의 금요일 종가 524.811에서 월요일 개장에는 1098.892로 급등

 

아래 영상은 시드니 대학의 온라인 과정 "NaN: Numbers and Numerics"에서 사용을 위해 제작된 것으로, 밴쿠버 증권 거래소의 라운딩 에러에 대해 자세히 설명하고 있다(길이: 51). 

영상 출처: 업로더 Top Quark, https://www.youtube.com/watch?v=RdDIANVl7dc

 

반응형

+ Recent posts