기금넷 공식사이트 - 금 선물 - 석유 시장 가격 포착 알고리즘

석유 시장 가격 포착 알고리즘

웹사이트에 있는 과거 원유 시세 데이터의 시간 단위가 매년 정확하기 때문에 모든 다운로드를 수동으로 완료하기가 매우 어렵고, 로컬에 다운로드한 후의 테이블 필드가 그렇지 않기 때문입니다. 표준화되어 있으므로, 데이터베이스 필드의 요구 사항에 따라 문자열 및 Excel 테이블을 작동하고 이를 데이터베이스에 입력하기 전에 표준화하는 것이 필요합니다. 석유 시세 자동 포착, 데이터 소스 자동 다운로드, 데이터 소스 자동 업데이트, 관리 플랫폼과의 원활한 연계, ActiveX 플러그인 제작 등을 구현하는 데 어려움이 있습니다.

5.3.1.1 데이터 소스 자동 다운로드

석유 시장 가격 데이터에 대한 데이터 소스는 미국 에너지부 EIA(Energy Information Administration), Wall Street Journal 등 세 가지가 있습니다. (WJS) 및 중국국영석유공사(CNPC) 데이터. 이러한 데이터 소스는 모두 인터넷에 있는 리소스입니다. 세 가지 데이터 소스의 특성에 따라 원격 자동 다운로드 및 정규화, 정규식 기반 자동 웹 페이지 데이터 캡처라는 두 가지 기술이 프로세스를 완료하는 데 사용됩니다.

(1) 원격 자동 다운로드 및 표준화

미국 에너지부 웹사이트의 과거 유가 데이터에 대해 자동 다운로드 엔진은 과거 유가 데이터에 따라 지정된 경로가 로컬에 저장되고 각 다운로드 결과는 데이터베이스 다운로드 로그 테이블에 저장되며 다운로드된 데이터는 정리, 변환되어 중앙 데이터베이스에 업로드됩니다.

(2) 정규식 기반 웹페이지 데이터 자동 크롤링 기술

대부분의 웹페이지 데이터는 다운로드 채널을 제공하지 않고 유가 데이터도 주식처럼 자주 업데이트되기 때문에 가격 데이터가 높습니다. 따라서 정규식 웹 데이터를 기반으로 웹 사이트의 데이터를 자동으로 크롤링하는 것이 필요합니다. 월스트리트 유가 데이터, 미국 에너지부의 유가 이벤트, PetroChina 웹페이지의 유가 데이터는 모두 정규식의 자동 웹 크롤링 기능을 통해 구현되어야 합니다.

웹 크롤링 시 해결해야 할 문제:

1) 크롤링해야 하는 웹페이지의 주소 목록(URL)을 가져옵니다.

2) 웹페이지 주소에 따라 요청에 가서 웹페이지 내용을 가져옵니다;

3) 웹페이지(HTML)의 구조를 분석하고 필요한 내용, 즉, 웹페이지 구조화된 정보 추출 기술이나 메타데이터 수집 기술을 활용합니다. DOM(Document Object Model) 구조를 기반으로 문자열 검색과 위치 지정 및 분석을 사용할 수 있습니다. 데이터 캡처 구조 시스템은 그림 5.27에 나와 있습니다.

그림 5.27 B/S 웹페이지 이벤트 캡처 구조 시스템

정규식 웹페이지 데이터 자동 캡처 기술에는 웹페이지 소스코드 데이터의 현지화 작업과 로딩 소스 선택이 포함됩니다. 코드 데이터 제어, 관련 정보 소스 코드 캡처, 소스 코드 설명, 데이터의 하이퍼링크 및 글꼴 변경이 포함된 HTML 태그 요소 제거, 제로 어설션 및 가로채기된 하위 문자열과 같은 문자열 함수를 사용하여 데이터 캡처 및 데이터 저장 작업(그림 5.28) .

그림 5.28 정규식 기반 웹페이지 정보 캡처 프로세스

5.3.1.2 데이터 소스 자동 업데이트

이력 데이터 초기화 완료 후 모니터링 증분 다운로드 작업을 수행할지 여부를 결정하기 위해 웹 사이트 데이터 소스의 업데이트를 모니터링하도록 엔진을 설계해야 합니다. 모니터링 엔진은 실시간 모니터링 기술과 주기적 탐지 기술을 사용합니다. 증분 다운로드 작업을 실행한 후에는 다운로드한 데이터의 유효성과 완전성을 확인해야 하며, 지정된 데이터 소스를 정기적으로 포맷하고 업데이트해야 합니다. 데이터 소스의 자동 업데이트는 주로 사이트에서 데이터를 업데이트한 후 업데이트를 즉시 감지하고 자동으로 신속하게 가져오는 시스템 기능을 기반으로 합니다. 사이트에서 업데이트를 얻는 방법에는 데이터 업데이트 후 하이퍼링크 업데이트, 버튼 변경 후 트리거 URL 변경, 업데이트를 얻기 위해 URL 분석 등이 포함됩니다. 예를 들어 월스트리트 저널의 선물 유가는 URL 업데이트, 주말이나 공휴일에도 URL이 존재하지만 웹페이지에 관련 콘텐츠가 없으면 처리 시 이 업데이트로 얻은 데이터가 유효한지 여부를 고려해야 합니다. AJAX와 같이 URL이 변경되지 않는 웹 사이트 또는 URL에서 업데이트를 해석할 수 없는 경우 웹 페이지에 대한 고급 문자열 조작을 사용하여 업데이트를 얻는 것이 가장 효과적인 방법 중 하나입니다.

5.3.1.3 관리 플랫폼과의 원활한 연결

관리 플랫폼의 기능은 프로그램 설계에 따라 컴퓨터의 여러 스레드에 여러 다운로드 및 업데이트 작업을 할당하는 것입니다. , 스레드 스케줄링을 통해 자동 다운로드 및 업데이트를 효과적으로 관리할 수 있습니다. 이를 위해서는 감사 기능, 로깅 기능, 재시도 횟수 임계값, Excel 프로세스 다중 열기 기능 등의 설계가 필요합니다. 감사 기능을 통해 자동 다운로드 프로세스의 이상 현상을 식별하여 로그 기능을 통해 수동 개입을 용이하게 하고, 재시도 임계값을 설정하여 작업 실행 오류를 추적하고 로그를 기반으로 오류 원인을 파악하는 데 도움을 줄 수 있습니다. , 작업 실행이 실패한 후 다시 시도할 수 있습니다. 여러 Excel 프로세스를 활성화하면 EIA의 Excel 데이터를 자동으로 읽고 변환할 수 있습니다.

5.3.1.4 예측 프로그램용 ActiveX 플러그인 제작

유가 예측 프로그램은 C/S 아키텍처를 기반으로 개발되었으므로 프로그램을 B/S 아키텍처에 공개한다. , 플러그인 기술은 서버에서 사용해야 합니다. 별도의 프로그램을 작성할 필요 없이 유가 모델을 업데이트하기 위해 예측 프로그램의 핵심 구성 요소가 클라이언트에 엔드 투 엔드로 설치됩니다. 프로그램과 솔루션 간의 좋은 연결.

ActiveX 플러그인을 생성하는 과정에서는 플러그인이 백엔드에서 프런트엔드까지 완벽하게 연결될 수 있도록 시스템에서 인터페이스를 제공해야 합니다. 프로젝트에서는 tlb 파일을 생성할 수 없기 때문에 tlb 파일이 없으면 등록이 실패하고 클라이언트에서 dll 파일이나 ActiveX 컨트롤을 사용할 수 없음을 의미합니다. 생성되는 클래스는 dll 파일을 코드를 통해 클라이언트에 등록하고 tlb 파일을 생성하여 B/S 시스템 하에서 .exe 프로그램이 동작할 수 있도록 하는 것입니다.