🏷️Workplace/ANALYSIS

rainflow 라이브러리 공식 GitHub GitHub - iamlikeme/rainflow: Implementation of the rainflow-counting algorythm in Python Implementation of the rainflow-counting algorythm in Python - GitHub - iamlikeme/rainflow: Implementation of the rainflow-counting algorythm in Python github.com 주요 함수 rainflow 라이브러리 안에는 3개의 주요 함수가 있다. 간단하게 각 함수의 기능을 설명하자면, reversals - raw data 에서 Peak 값과 Valley 값을 (인덱스, 값) 튜플 형태로 반환..
rainflow 라이브러리의 최종 함수인 count_cycles는 extract_cycles에서 모든 사이클 데이터를 받아온 후, 각 range별로 최종 사이클을 카운팅해준다. 이때 사용자는 ndigits , nbins, binsize 세 가지 옵션 중 하나를 사용하여 원하는 형태의 사이클 카운팅을 할 수 있다.(반드시 하나의 옵션만을 사용해야 한다) 전체 코드 def count_cycles(series, ndigits=None, nbins=None, binsize=None): if sum(value is not None for value in (ndigits, nbins, binsize)) > 1: raise ValueError( "Arguments ndigits, nbins and binsize ar..
reversals 함수에서 변곡점 찾았다면 이제 본격적으로 사이클을 추출할 차례이다. 알고리즘 순서 reversals 함수 결과값에서 Peak와 Valley를 읽어온다. 데이터가 없다면 6번으로 변곡 포인트의 수가 3개 미만이라면, 1번으로 가서 계속 point를 받아온다. x1,x2,x3 세 개의 포인트를 가지고 Y, X range 를 지정한다. (이 때 범위는 절댓값으로 표기한다) Y 와 X 값을 비교한다 X = Y 라면 4번으로 간다. 범위 Y가 시작 포인트를 포함한다면 5번으로 그렇지 않다면, 범위 Y를 하나의 사이클로 저장하고 범위 Y에 해당하는 Peak와 Valley 변곡점 2개를 삭제한 후 2번으로 범위 Y를 0.5 사이클로 저장하고, 첫번째 데이터(시작점)..
raw 데이터에서 사이클을 추출하기 위해 가장 먼저 해야할 일은 변곡점(Peak 값과 Valley 값)을 찾아내는 것이다. reversals 함수가 해당 기능을 하고 있다. 전체 코드 def reversals(series): series = iter(series) # 첫번째, 두번째 데이터 지정 x_last, x = next(series, None), next(series, None) if x_last is None or x is None: return # 첫번째 범위 설정 d_last = (x - x_last) # 첫 데이터(시작점)을 저장한 후 순회 시작 yield 0, x_last index = None for index, x_next in enumerate(series, start=1): if x..
네이버 금융에서 기업의 실적 데이터를 크롤링하기. 주요재무정보에 해당하는 값들 중 가장 최근 년도의 데이터를 불러올 것이다. 우선 주요재무정보 지표 리스트를 먼저 뽑아보았는데.. idx = [] url = 'https://finance.naver.com/item/main.naver?code=066570' res = requests.get(url) soup = BeautifulSoup(res.text,'html.parser') section = soup.find_all('tbody')[2] for n in range(8,23+1): idx.append(section.find('th', attrs={'class':f'h_th2 th_cop_anal{n}'}).get_text()) idx h_th2 th_co..
내 꿈은 순간이동
'🏷️Workplace/ANALYSIS' 카테고리의 글 목록