자동매매 거래의 기본 개념

마지막 업데이트: 2022년 6월 22일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기
API 활성화

오늘도 아빠는 벌레잡는 중

현재 인터넷에서 돌고 있는 거의 대부분의 소스를 분석하고 적용하고 실제 거래도 태워 보고 한 경험을 여러분과 공유하고자 이 블로그를 작성하게 되었습니다. 현재 인터넷에서 돌고 있는 대부분의 내용은 현실과 자동매매 거래의 기본 개념 부합하지 않는 것이 많으며 특히 유튜브를 통해서 돌고 있는 내용들을 믿고 자동 매매를 실제 거래로 돌리시는 분들이 있다면 상당히 주의를 요한다는 것을 미리 말씀드리고 싶습니다.

무엇보다 백테스팅이 중요하며 백테스팅 결과를 어떻게 적용할지와 예측 데이터를 어떻게 활용할지에 중점을 맞추고자 합니다. 현재 인터넷상에 있는 소스들의 특징은 대부분(상당히 잘 만든 소스도 분명히 있습니다만) 대학교 졸작으로도 부족한 내용 또는 중, 고등학생 학예회 수준의 소스가 많습니다.

프로그램에는 분명 라이프사이클이 있습니다. 아무리 잘 짠 프로그램도 예외사항을 맞으면 다시 시작되어야 하고 특히나 자동 매매 프로그램은 여러분들의 소중한 돈을 직접 운영하는 어떻게 보면 세상에서 가장 비싼 프로그램이어야 하기에 프로그램에 꼭 필요한 기능인 로그분석, 매매 기록, 예외 처리, 자동 재시작, 버그 패치 방법 등의 기능이 필요합니다. 이 기능들이 없다면 여러분은 정말 어리석은 모험을 하고 있다고 말씀드리고 싶습니다. 분명히 말씀드리지만 저를 포함 인터넷에서 돌고 있는 어떤 프로그램도 투자손실에 대한 보상을 하지 않으며 모든 행위의 책임은 본인이 지고 있는다는 것을 명심하시기 바랍니다.

2. Bithumb 5분 데이터 구하기

사용하시는 브라우저에 https://api.bithumb.com/public/candlestick/BTC_KRW/5m 를 입력하시면 상당한 량의 데이터가 json타입으로 내려 옴을 보실 수 있을 것입니다. 이번회에서는 이 데이터를 수신하여 가공하는 부분까지 하고 다음에 이 데이터를 어떻게 활용할지 보조 지표는 어떻게 적용할 지에 대한 글을 이어 가겠습니다.

참고로 저는 VSCode를 사용해서 개발 중이며 python은 아무 버전이나 3.x 버전이면 상관없습니다. (32,64bit도 이번 주제에서는 상관이 없습니다. 다만 주식 매매 프로그램 작성 시에는 아직도 대부분의 증권사 API가 32bit 윈도우를 지원하고 있어서 향후에는 32bit python을 설치하셔야 할 것입니다. 32bit python의 경우 메모리 제약을 가지고 있어 많은 량의 pandas DataFrame을 사용하게 되면 프로그램이 정상 동작하지 않습니다.) python의 기본지식(pip 사용법, 기본 문법)은 알고 계신 것으로 믿고 시작하겠습니다.

1. MicroSoft의 VSCode는 Visula Studio나 Eclipse나 기타 툴과는 비교가 안될 정도의 메모리나 속도 관리가 좋습니다. 그리고 일반 Text Editor에 비해 프로젝트 프로그램에 필요한 대부분의 기능을 가지고 있습니다. VSCode는 프로젝트란 개념이 따로 없고 폴더 단위로 프로그램 단위를 구성합니다. 또한 Python툴로 사용할 경우 해당 폴더 단위로 실행되므로 폴더 이름이 중요합니다. bitcoin_trade1 또는 적당한 프로젝트 이름으로 디렉토리를 만들고 VSCode-->파일-->폴더 열기로 해당 폴더를 열면 됩니다.

2.Bithumb의 API를 이용하여 데이터를 가져 오기 위해서는 http requests lib를 이용하여 데이터를 가져옵니다. 아시다시피 Bitcoin의 거래는 365일 24시간 이루어지고 있으며 우리나라가 전 세계 평균보다 약간 비싼 편입니다. 사실 우리가 하려는 목표와 이런 내용은 크게 의미가 없지만 Bitcoin의 거래가 365일 24시간 이루어진다는 것은 우리가 작성하려는 프로그램에는 아주 좋은 일입니다. (보조 지표 테스트에 아주 좋은 조건입니다.)

3. 아래 데이터에는 시간(timestamp * 1000), 시작가, 종가, 고가, 저가, 거래량을 제공 하고 있습니다. 주식에서는 의미 있는 이 값들이 사실상 Bitcoin의 경우 거의 의미가 없습니다. 그래서 시작가, 고가, 저가를 버리고 종가와 거래량만을 사용하여 추가적인 보조 지표를 다음 회차에서는 다루고자 합니다.

4. 데이터는 Pandas DataFrame을 사용하여 저장되고 리턴 될 것입니다. DataFrame의 마치 RDBMS처럼 동작하기도 하고 NoSQL DB처럼 동작하기도 합니다. 요령을 익힌다면 상당히 유용하지만 잘못 사용하면 데이터가 중복되거나 유실될 수도 있습니다. 그런 경우 보조 지표에는 아주 치명적일 수 있습니다.

5. 모든 소스는 적당한 크기의 클래스 형태 또는 모듈 단위로 작성될 것입니다. 나중에는 이런 모듈들이 모여 적당한 lib가 갖쳐지게 되면 특정 디렉토리에 담고 import 절에서 [디렉토리명.모듈명]의 형식으로 호출하여 사용할 수 있습니다.

3. 마치며

이번 회차에서는 Bithumb의 5분 데이터를 받아서 DataFrame으로 저장하는 소스를 작성했습니다. 이 소스는 main함수가 없으므로 단독 실행이 되지 않습니다. 아래 소스를 같은 폴더안에 작성하여 실행하면 수집된 데이터를 확인할 수 있습니다.

비트코인 거래소 API를 활용한 비트코인 자동매매 웹서비스(JAVA+Spring Boot) 개발(1) - 사전 준비

오늘부터 JAVA Spring Boot Web Service를 공부하기 위해 웹서비스를 개발을 해보겠습니다.

무엇을 개발할까 고민을 하다가, 최근 핫한 비트코인을 주제로 잡았습니다.

비트코인 거래소 중에 비트코인 가격정보, 코인 매매 등의 정보와 기능을 가진 API를 제공하는 곳이 있습니다. 이 거래소의 API를 이용하여, 코인의 가격정보를 받아와서 웹 페이지에 나타내고, 데이터를 저장해서 내가 원하는 통계 데이터를 화면에 뿌려주는 아주 간단한 웹서비스를 구현해 보도록 하겠습니다. 이러한 간단한 웹서비스를 실제로 만들어보고 로컬에서 Run 해보면서 Spring Boot WebService의 기본 개념을 완벽하게 익힐 수 있도록 하겠습니다.

이 웹서비스를 활용하여, 특정 조건에 대한 알고리즘을 작성하고 그 조건이 되면 매수/매도 주문을 넣는 로직만 추가해 준다면 아주 심플한 비트코인 자동매매 프로그램이 될 수 있습니다. 단, 제가 경제 관련 지식이 낮고 자동매매 알고리즘도 관련 지식이 없어서, 알고리즘 구현은 건너뛰고 거래소 API를 활용하여 이런 식으로 간단히 자동매매를 만들 수 있다는 IT 기술적인 학습 및 구현에 중점을 둔 포스팅을 진행할 예정입니다. 그럼 지금부터 JAVA Spring Boot를 활용한 비트코인 자동매매 웹서비스 만들기를 시작하겠습니다.

먼저 시작을 하기 앞서, JAVA + 스프링 부트 개발환경이 세팅이 되어야 할 텐데요, 만약 환경 세팅이 안되어 있다면 아래의 포스팅을 통해서 환경 세팅을 먼저 하시면 됩니다.

JAVA 설치 및 환경 셋팅 (OpenJDK)

안녕하세요, 오리엔탈킴입니다. 오늘은 JAVA를 설치하고 개발 환경 세팅을 하도록 하겠습니다. 그럼 바로 JAVA를 설치를 하겠습니다. 저는 OpenJDK를 설치하겠습니다. (Oracle JDK는 상업용이고, 같은 Or

JAVA Spring Boot IDE (STS) 설치 및 프로젝트 생성

안녕하세요, 오리엔탈 입니다. 지난시간에는 개발 언어인 JAVA(OpenJDK)를 설치를 했습니다. 2020/11/05 - [기술/JAVA Spring Boot Web Service] - JAVA 설치 및 환경 셋팅 (OpenJDK) 이번에는 JAVA를 가지고 개발..

비트코인 웹서비스 만들기

비트코인 웹서비스 만들기

사전 준비 (1) : 비트코인 거래소 API KEY 생성

자 모든 개발환경 세팅이 완료되었다면, 우선 비트코인 거래소에 계정을 만들고, 계좌를 개설하고, API 사용을 등록하는 절차를 진행합니다. 거래소 사이트에 직접 접속하여 거래를 하는 거나 데이터를 직접 받아오는 게 아니라 내가 개발한 애플리케이션에서 거래소로 매매 요청 및 데이터 요청을 해야 하는데, 원격에서의 요청은 모두 API를 통해서 이루어집니다. API란 간단하게 두 다른 시스템 간 요청/응답 및 데이터를 주고받기 위한 도구/수단 정도로 생각하시면 됩니다.

여러 비트코인 거래소가 많지만, 평소에 자주 이용하는 빗썸(bithumb)으로 선택을 하였습니다. 빗썸(www.bithumb.com/)에 회원가입이나 자동매매 거래의 기본 개념 자동매매 거래의 기본 개념 계좌 개설 및 소액의 금액까지 입금까지는 되었다고 가정을 하고 다음을 진행을 하겠습니다.

빗썸(www.bithumb.com/)에 로그인 후, 전체 메뉴에서 API 관리 메뉴를 클릭합니다.

API 관리 클릭

API 관리 페이지에 들어가신 후, API 활성화 접근 항목에서 회원 지갑 정보, 주문내역, 매수주문, 매도주문을 클릭해 줍니다. 위의 항목에 대해 접근을 허용하는 API Key를 생성하겠다는 의미입니다. 다음으로는 IP 및 출금 주소 제한 설정에서 본인이 사용할 PC의 공인 IP를 아시는 경우 보안을 위해 IP 설정을 합니다. 모르시면 우선은 넘어가셔도 됩니다.

API 접근 허용 항목

API 접근 허용 항목

다음으로는 보안 인증에서 ARS 인증 후, API Key 생성을 클릭하세요. 그러면 하단의 사용 중 API 리스트에 API 1개가 추가가 되어있습니다.

API 키 보안 인증

API 키 보안 인증

새로 추가된 API의 오른쪽에 활성화 버튼을 클릭하시면, 가입하셨던 e-Mail로 아래와 같이 인증메일이 옵니다. 인증을 하게 되면 Secret Key가 화면에서 사라지게 되므로 미리 복사해놓고 인증을 하셔야 합니다. Secret Key를 복사를 하신 후 이메일의 Click 버튼을 클릭하여 인증을 하시면 됩니다. 이렇게 하면 사용이 가능한 API Key가 생성된 것입니다.

API 활성화

API 활성화

사전 준비 (2) : 샘플 소스 다운

이제 실제 API 매매에 사용될 샘플 코드를 다운로드합니다. 빗썸 Private API는 제공된 Secret Key를 그대로 요청하는 것이 아니고 자체적인 룰을 이용하여 암호화하여 요청을 해야 통신이 됩니다. 직접 구현이 어렵기도 하고 자체 룰이기 때문에 굳이 구현할 이유도 없어서, 빗썸에서 제공하는 샘플 코드를 이용하면 아주 간단하고 쉽게 API를 날릴 수 있습니다.

API Dosc 메뉴에 샘플 코드 다운로드 (apidocs.bithumb.com/docs/api_sample) 메뉴로 이동합니다.

No.1 가상자산 플랫폼, 빗썸

가상자산 거래소, 렌딩, 스테이킹, 예치, 비트코인, 이더리움, 리플, 비트코인캐시, 라이트코인, 비트코인 골드, 이오스, 이더리움클래식, 퀀텀, 체인링크, 실시간 시세, 쉽고 안전한 거래

여기에 여러 가지 언어가 있지만, 우리가 사용할 JAVA 샘플 코드를 다운로드하여 줍니다.

샘플코드 다운로드

사전 준비 (3) : Spring Boot 프로젝트 생성

그런 다음 이제부터 개발을 진행할, Spring Boot 프로젝트를 생성해줍니다.

STS (이클립스)를 실행해서, 좌측 Explorer 탭에서 마우스 오른쪽 클릭 New - Other를 클립, Spring Boot - Spring Starter Project를 클릭해줍니다.

Spring Boot 프로젝트 생성 Spring Boot 프로젝트 생성

그다음 프로젝트의 기본정보인 Name, Group, Description 등은 임의로 아무렇게나 작성을 해줍니다. 보통 Package명은 com.회사명.어플케이션명 등의 형식을 많이 사용합니다.

프로젝트 기본 정보 작성

프로젝트 기본 정보

다음으로 Next 버튼을 클릭하여, Project Dependence 설정에서 기본적인 Web > Spring Web을 선택하고, DB는 SQL > H2 Database, Spring Data JPA, Front에는 JSP가 아닌 Thymeleaf를 사용할 예정이므로 Template Engines > Thymeleaf를 선택합니다. 추가로 개발 편의성을 위해 Developer Tools > Spring Boot DevTools를 선택하고 Finish를 눌러줍니다. 그럼 프로젝트 생성은 완료되었습니다.

  • Web > Spring Web
  • SQL > H2 Database, Spring Data JPA
  • Template Engines > Thymeleaf
  • Developer Tools > Spring Boot DevTools

(나중에 pom.xml에 아래 내용을 추가하셔도 됩니다.)

프로젝트 의존성 설정

프로젝트 의존성 설정

자동매매 거래의 기본 개념

조금 더 화면 번호를 설명하자면, 화면 번호는 TR을 호출하고 응답을 수신할 때 어떤 요청에 대한 응답인지 자동매매 거래의 기본 개념 구분하는 데 필요한 값이며 서로 다른 TR끼리 같은 화면 번호를 사용할 수 있습니다. 예를 들어 가격 정보를 얻어 오는 TR(opt10081)을 호출할 때는 화면 번호 “0001”을 사용했지만, 추가로 거래 대금 상위 종목을 확인하는 TR(opt10036)을 호출하는 함수를 만들 때도 동일한 화면 번호 “0001”을 사용해도 무방합니다.

하지만 KOA에서 제공하는 화면 번호 설명처럼 한 프로그램에서 사용할 수 있는 화면 번호 개수는 최대 200개입니다. 한 화면 번호에 최대 몇 개의 TR을 사용할 수 있는지 정확한 설명은 없지만, 한 화면 번호당 TR을 열 개 내외로 사용하겠습니다.

서버에 데이터를 요청하거나, 주문을 발생시킬 때 사용합니다.

화면 번호는 서버의 결과를 수신할 때 어떤 요청에 의한 수신인지를 구별하기 위한 키 자동매매 거래의 기본 개념 값의 개념입니다.

0000을 제외한 임의의 숫자(4자리)를 자유롭게 사용하시면 됩니다.

※ 화면 번호 사용 시 주의할 점

같은 화면 번호로 데이터 요청을 빠르게 반복하는 경우 데이터의 유효성을 보장할 수 없습니다.

최소한 2개 이상의 화면 번호를 번갈아 가며 또는 매번 새로운 화면 번호를 사용하시기 바랍니다.

사용자 프로그램에서 사용할 수 있는 화면 번호 개수가 200개로 한정되어 있습니다.

이 개수를 넘는 경우 데이터의 유효성을 보장할 수 없습니다.

(프로그램 성격상 화면 번호 개수가 200개가 넘어야 하는 경우, 이전에 사용되었던 화면 번호를 재사용하는 방식으로 구현해야 합니다.)

자동매매 거래의 기본 개념

Tableau에서는 측정값이나 차원을 집계할 수 있지만 측정값을 집계하는 것이 일반적입니다. 뷰에 측정값을 추가할 때마다 기본적으로 해당 측정값에 집계가 적용됩니다. 적용되는 집계 유형은 뷰 컨텍스트에 따라 달라집니다.

동영상 시청: Tableau의 시연을 통해 관련 개념을 확인하려면 4분간 진행되는 무료 교육 동영상 Aggregation, Granularity, and Ratio Calculations(집계, 세부 수준 및 비율 계산) (링크가 새 창에서 열림) 를 시청하십시오. tableau.자동매매 거래의 기본 개념 com (링크가 새 창에서 열림) 계정을 사용하여 로그인합니다.

뷰의 측정값 집계 변경

뷰에 측정값을 추가하면 자동으로 해당 값이 집계됩니다. 합계, 평균 및 중앙값이 자주 사용하는 집계이며 전체 목록을 보려면 Tableau의 미리 정의된 집계 목록을 참조하십시오.

현재 자동매매 거래의 기본 개념 집계가 뷰에 측정값 이름의 일부로 나타납니다. 예를 들어 Sales 가 SUM(Sales) 이 됩니다. 모든 측정값에는 데이터 원본에 연결할 때 Tableau에 의해 설정된 기본 집계가 있습니다. 측정값에 대한 기본 집계를 보거나 변경할 수 있습니다. 자세한 내용은 측정값에 대한 기본 집계 설정을 참조하십시오.

관계형 데이터 원본 의 경우에만 Tableau를 사용하여 측정값을 집계할 수 있습니다. 다차원 데이터 원본에는 이미 집계된 데이터가 포함되어 있습니다. Tableau의 다차원 데이터 원본은 Windows에서만 지원됩니다.

뷰의 상황에 맞는 메뉴에서 측정값에 대한 집계를 변경할 수 있습니다.

필드의 상황에 맞는 메뉴를 사용하여 측정값의 집계를 변경하는 방법을 묘사하는 그래픽

차원 집계

뷰의 차원을 최소값 , 최대값 , 카운트 또는 카운트(고유) 로 집계할 수 있습니다. 차원을 집계하면 새 임시 측정값 열이 만들어지므로 이제 차원이 실제로 측정값의 특성을 가져옵니다.

필드의 상황에 맞는 메뉴에 있는 옵션을 사용하여 차원을 집계하는 방법을 묘사하는 그래픽

참고: 카운트(고유) 집계는 Microsoft Access 데이터 원본 및 레거시 연결을 사용하는 Microsoft Excel 및 텍스트 파일 데이터 원본에는 지원되지 않습니다. 이러한 데이터 원본 유형 중 하나에 연결하면 카운트(고유) 집계를 사용할 수 없으며 "추출 필요"라는 설명이 표시됩니다. 데이터 원본을 추출로 저장할 경우 카운트(고유) 집계를 사용할 수 있게 됩니다.

차원을 보기 위한 또 다른 방법은 이를 특성으로 취급하는 것입니다. 이 작업을 수행하려면 차원의 상황에 맞는 메뉴에서 특성 을 선택합니다. 특성 집계는 다음과 같은 다양한 용도로 사용할 수 있습니다.

여러 데이터 원본을 통합할 때 일관된 세부 수준을 보장할 수 있습니다.

집계 식이 필요한 테이블 계산을 수행할 때 차원을 집계하는 방법을 제공할 수 있습니다.

로컬에서 계산되기 때문에 쿼리 성능이 향상될 수 있습니다.

Tableau는 다음과 같은 수식을 사용하여 특성을 계산합니다.

IF MIN([dimension]) = MAX([dimension]) THEN MIN([dimension]) ELSE "*" END

수식은 초기 쿼리로부터 데이터가 검색된 후 Tableau에서 계산됩니다. 별표(*)는 다중 값이 있을 때 발생하는 특별한 유형의 Null 값을 나타내는 시각적인 표시입니다. 별표에 대한 자세한 내용은 데이터 혼합 문제 해결 (링크가 새 창에서 열림) 을 참조하십시오.

아래는 테이블 계산에서 특성을 사용하는 예제입니다. 이 테이블은 시장, 시장 규모 및 지역별 매출을 보여 줍니다. 시장에 포함된 각 지역별로 매출 구성 비율을 계산한다고 가정해 보십시오. 지역에 따라 계산된 구성 비율 퀵 테이블 계산(퀵 테이블 계산 (링크가 새 창에서 열림) 참조)을 추가할 때는 아래 표시된 자동매매 거래의 기본 개념 빨간색 영역 내에서 계산이 수행됩니다. 이러한 이유는 Market Size 차원이 데이터를 파티션 지정하기 때문입니다.

Market Size를 특성으로 집계하면 Market(다음 이미지의 East) 내에서 계산이 수행되고 Market Size 정보는 디스플레이에서 순전히 레이블로만 사용됩니다.

Tableau의 미리 정의된 집계 목록

합계나 평균과 같은 집계된 형태로 숫자 데이터를 보면 유용한 경우가 있습니다. 집계된 데이터를 생성하는 수학 함수를 집계 함수라고 합니다. 집계 함수는 값 집합에 계산을 수행하고 단일 값을 반환합니다. 예를 들어 값 1, 2, 3, 3, 4가 포함된 측정값을 합계로 집계하면 단일 값으로 13이 반환됩니다. 또는 데이터 원본에 50개 제품에서 3,000개 매매 거래가 있는 경우 매출이 가장 큰 제품을 확인할 수 있도록 각 제품의 매출 합계를 살펴볼 수 있습니다.

관계형 데이터 원본 의 측정값인 경우에만 Tableau를 사용하여 집계를 설정할 수 있습니다. 다차원 데이터 원본에는 집계된 데이터만 포함되어 있습니다.

참고: 집계와 함께 부동 소수점 값을 사용하면 예기치 않은 결과가 발생할 수 있습니다. 자세한 내용은 계산의 데이터 유형 이해 (링크가 새 창에서 열림) 를 참조하십시오.

그룹의 모든 행에 대해 단일 값만 있으면 지정된 식의 값이 반환되고, 그렇지 않으면 별표(*) 문자가 표시됩니다. Null 값은 무시됩니다. 이 집계는 특히 차원을 집계하는 경우에 자동매매 거래의 기본 개념 유용합니다. 뷰에서 이 집계에 대한 측정값을 설정하려면 측정값을 마우스 오른쪽 단추로 클릭(Mac의 경우 Control 클릭)하고 특성 을 선택합니다. 그러면 필드에 ATTR이라는 텍스트가 표시됩니다.

측정값 또는 차원에 있는 고유 값 수를 반환합니다. 차원에 적용하면 카운트 결과가 숫자이기 때문에 측정값인 새 임시 열이 만들어집니다. 숫자, 날짜, 부울 및 문자열 수를 계산할 수 있습니다. Null 값은 항상 무시됩니다.

이 집계는 다음과 같은 유형의 통합 문서에 사용할 수 없습니다.

  • Tableau Desktop 8.2 이전에 생성되어 Microsoft Excel 또는 텍스트 파일 데이터 원본을 사용하는 통합 문서
  • 레거시 연결을 사용하는 통합 문서
  • Microsoft Access 데이터 원본을 사용하는 통합 문서

이러한 유형 중 하나를 사용하는 통합 문서에 연결하면 카운트(고유)를 사용할 수 없으며 Tableau에 "추출 필요"라는 설명이 표시됩니다. 이 집계를 사용하려면 데이터를 추출하십시오. 데이터 추출을 참조하십시오.

기초 데이터 원본에 있는 모든 레코드를 반환합니다. 뷰에 있는 모든 측정값의 집계를 해제하려면 분석 메뉴에서 측정값 집계 를 선택하여 확인 표시를 지웁니다.

Tableau를 사용하면 데이터를 집계 해제된 형태로 볼 수 있습니다(관계형 데이터베이스에만 해당). 데이터 집계를 해제하면 데이터 원본의 모든 개별 행을 볼 수 있습니다. 예를 들어 Rubber Bands의 매출 합계가 $14,600임을 자동매매 거래의 기본 개념 검색한 후 개별 매매 거래의 분포를 확인할 수 있습니다. 이렇게 하려면 개별 데이터 행을 표시하는 뷰를 만들어야 합니다. 즉, 데이터 집계를 해제해야 합니다(데이터 집계 해제 방법 참조). 모든 뷰 또는 일부 뷰에 대한 기초 데이터를 보고 집계 해제된 데이터를 확인할 수도 있습니다. 자세한 내용은 기초 데이터 보기를 참조하십시오.

Tableau의 집계 함수 (링크가 새 창에서 열림) 에 설명된 대로 사용자 지정 집계를 정의할 수도 있습니다. 이러한 집계는 만들어진 데이터 뷰 유형에 따라 적절한 세부 수준에 적용됩니다. 예를 들어 개별 차원 멤버(East 지역의 평균 배송 시간), 지정된 차원의 모든 멤버(East, West 및 Central 지역의 평균 배송 시간) 또는 차원 그룹(모든 지역과 모든 시장의 매출 합계)에 집계가 적용됩니다.

측정값에 대한 기본 집계 설정

AVG([Discount]) 처럼 자체적으로 집계를 포함하는 계산된 필드가 아닌 모든 측정값에 대해 기본 집계를 설정할 수 있습니다. 기본 집계는 연속형 또는 불연속형 필드 요약으로 기본 설정 계산입니다. 기본 집계는 측정값을 뷰로 끌어올 때 자동으로 사용됩니다.

데이터 패널에서 측정값을 마우스 오른쪽 단추로 클릭(Mac의 경우 Control 클릭)하고 기본 속성 > 집계 를 선택한 집계 옵션 중 하나를 선택합니다.

참고: 관계형 데이터 원본 의 경우에만 Tableau를 사용하여 측정값을 집계할 수 있습니다. 다차원 데이터 원본에는 집계된 데이터만 포함되어 있습니다.

게시된 데이터 원본에 대해서는 기본 집계를 설정할 수 없습니다. 기본 집계는 데이터 원본을 처음 게시할 때 설정됩니다. 게시된 데이터 원본의 로컬 복사본을 만들어 (링크가 새 창에서 열림) 기본 집계를 조정합니다.

데이터 집계 해제 방법

뷰에 측정값을 추가할 때마다 기본적으로 해당 측정값에 집계가 적용됩니다. 이 기본값은 분석 메뉴의 측정값 집계 설정으로 제어합니다.

뷰의 모든 마크를 가장 자세한 세부 수준으로 보려면 뷰를 집계 해제할 수 있습니다. 데이터 집계 해제는 데이터 원본의 모든 행 데이터 값에 대해 별도의 마크를 표시한다는 의미입니다.

뷰의 모든 측정값을 집계 해제하려면

분석 > 측정값 집계 옵션을 선택 취소합니다. 이 옵션이 이미 선택되어 있다면 측정값 집계 를 한 번 더 클릭하여 선택 취소합니다.

측정값 집계 가 선택되어 있으면 기본적으로 뷰의 측정값이 집계됩니다. 즉, 데이터 원본의 개별 행 값을 뷰의 세부 수준에 맞게 조정된 단일 값으로 집계하며 이 단일 값이 단일 마크가 됩니다.

한 측정값에 사용할 수 있는 서로 다른 집계는 개별 값이 수집되는 방식을 결정합니다. 즉, 개별 행 값의 합계(SUM), 평균(AVG), 최대값(MAX) 또는 최소값(MIN)이 될 수 있습니다.

사용 가능한 집계의 전체 목록은 Tableau의 미리 정의된 집계 목록을 참조하십시오.

세부 수준은 뷰의 차원에 의해 결정됩니다. 세부 수준 개념에 대한 자세한 내용은 차원이 뷰의 세부 수준에 영향을 미치는 방식을 참조하십시오.

뷰에서 독립 및 종속적으로 사용하려는 측정값을 분석할 때 데이터 집계 해제가 유용할 수 있습니다. 예를 들어 한 축에 참가자 나이를 사용하여 제품 만족도 설문조사의 결과를 분석할 수 있습니다. 나이 필드를 집계하여 참가자의 평균 나이를 확인하거나 데이터 집계를 해제하여 제품 만족도가 가장 큰 참가자 나이를 확인할 수 있습니다.

데이터를 분산형 차트로 표시할 때 데이터 집계 해제가 유용할 수 있습니다. 예: 분산형 차트, 집계 및 세부 수준을 참조하십시오.

참고: 데이터 원본이 매우 큰 경우 데이터 집계를 해제하면 성능이 훨씬 저하될 수 있습니다.

예: 분산형 차트, 집계 및 세부 수준

행 선반과 열 선반에 각각 측정값을 하나씩 배치하면 두 숫자 값이 비교됩니다. 이러한 경우 Tableau는 일반적으로 기본 비주얼리제이션으로 분산형 차트를 선택합니다. 초기 뷰는 대개 단일 마크이며, 두 측정값의 모든 값에 대한 합계가 표시됩니다. 따라서 뷰의 세부 수준을 증가시켜야 합니다.

분산형 차트 작성 시작

기본 분산형 차트에 여러 가지 방법으로 세부 정보를 추가할 수 있습니다. 차원을 사용하여 세부 정보를 추가하거나, 추가 측정값 및/또는 차원을 행 및 열 선반에 추가하여 뷰에서 한 마크 분산형 차트를 여러 개 만들거나, 데이터 집계를 해제할 수 있습니다. 또한 이러한 옵션을 조합하여 사용할 수 있습니다. 이 항목에서는 Sample-Superstore 데이터 원본을 사용하여 이러한 대안을 살펴봅니다.

초기 뷰를 만들려면 다음 단계를 수행합니다.

Sales 측정값을 열 선반에 배치합니다.

Profit 측정값을 행 선반에 배치합니다.

측정값이 합계로 자동 집계됩니다. 기본 집계(SUM)는 필드명에 표시됩니다. 도구 설명에 표시되는 값은 데이터 원본의 모든 행에 있는 매출과 수익 값의 합계를 나타냅니다.

차원을 사용하여 뷰에 세부 정보를 추가하고 데이터 집계를 해제하려면 아래 단계를 수행합니다.

차원을 사용하여 세부 수준 추가

추가 세부 수준을 표시할 차원을 추가하여 방금 작성한 분산형 차트 뷰를 개발하려면 다음 단계를 수행합니다.

Category 차원을 마크 카드의 색상 으로 끌어옵니다.

그 결과 데이터가 각 차원 멤버에 대해 하나씩, 세 개의 마크로 구분된 다음 색상을 사용하여 마크가 인코딩됩니다.

State 차원을 마크 카드의 세부 수준 으로 끌어옵니다.

이제 뷰에 더 많은 마크가 표시됩니다. 마크 수는 데이터 원본의 고유 주 수에 범주 수를 곱한 값과 같습니다.

이제 더 많은 마크가 표시되지만 측정값은 그대로 집계됩니다. 데이터 원본에 State = North Dakota, Category= Furniture인 자동매매 거래의 기본 개념 행이 1개인지 100개인지에 관계없이 결과는 항상 단일 마크로 표시됩니다.

이 프로세스는 뷰를 개발할 때 유용하지만 다른 방법을 사용할 수도 있습니다. 예를 들어 뷰에 Time 차원을 추가하거나 추세선이나 예측을 사용할 수도 있습니다. 마음에 드는 방법으로 결정하면 됩니다.

행 및 열 선반에 필드 더 추가

원래 한 마크 뷰로 되돌리고 다음 단계에 따라 행 및 열 선반에 필드를 추가하여 분산형 차트 뷰를 개발합니다.

State 차원을 열 선반으로 끌어옵니다.

Continent 를 SUM(Sales) 의 오른쪽에 놓아도 Tableau에서는 Continent를 SUM(Sales) 의 왼쪽으로 이동합니다. 이는 차원을 연속형 축 내에 삽입할 수 없기 때문입니다. 대신 뷰에서 차원의 각 멤버에 대한 개별 축을 표시합니다.

Segment 차원을 행 선반으로 끌어옵니다.

주 및 고객 세그먼트에 대한 Sales 및 Profit의 개요를 제공하는 뷰가 만들어졌습니다. 뷰의 마크를 마우스오버하면 다양한 세그먼트에 대한 도구 설명 데이터를 볼 수 있습니다.

데이터 집계 해제

데이터를 집계 해제하여 추가 마크를 표시하도록 원래 한 마크 분산형 차트를 수정할 수도 있습니다.

분석 > 측정값 집계 옵션을 선택 취소합니다. 이 옵션이 이미 선택되어 있다면 측정값 집계 를 한 번 더 클릭하여 선택 취소합니다.

이 명령은 원래 선택(확인 표시)된 항목을 해제하는 것이므로 선택하면 데이터가 집계 해제됩니다. Tableau에서는 기본적으로 뷰의 데이터를 집계합니다.

이제 원래 데이터 원본에 있는 각 행에 대해 하나씩 많은 마크가 표시됩니다.

측정값을 집계 해제하면 더 이상 데이터 원본의 행에 값 집계 또는 합계가 표시되지 않습니다. 대신 데이터 원본의 각 행에 대한 마크가 표시됩니다. 데이터 집계를 해제하는 것은 데이터의 전체 표면적을 볼 수 있는 방법입니다. 그리고 데이터 모양의 이해 또는 이상값을 신속하게 확인할 수 있는 방법이기도 합니다. 이 경우 집계 해제된 데이터에는 데이터의 많은 행에 매출액과 수익 간에 일관성 있는 관계가 있는 것을 볼 수 있습니다. 이는 45도 각도로 정렬된 마크 라인을 통해 알 수 있습니다.

자세히보기 close

I. 재무회계
1장 회계의 개념
회계의 기본개념 14
거래의 기본개념 16
회계의 기록 17
재무제표 18
회계정보의 질적 특성 22
기출문제 24
2장 자산
계정과목별 설명 30
현금 및 현금성 자산 31
단기매매증권 31
매출채권 33
단기대여금 34
미수금 35
선급금 36
재고자산 36
투자부동산 39
유가증권 40
유형자산 42
무형자산 44
기타비유동자산 45
기출문제 46
3장 부채
계정과목별 설명 55
매입채무 56
미지급금 57
예수금 58
당좌차월 59
선수금 59
단기차입금 60
사채 60
장기차입금 62
임대보증금 62
퇴직급여충당부채 자동매매 거래의 기본 개념 63
퇴직연금 64
기출문제 66
4장 자본
자본금 70
자본잉여금 72
자본조정 73
기타포괄손익누계액 73
이익잉여금 74
기출문제 75
5장 수익과 비용
수익의 인식 79
영업수익 80
영업외 수익 80
비용의 인식 81
매출원가 81
판매비와 관리비 81
영업외 비용 84
기출문제 85
6장 결산
현금과부족 90
매출채권의 대손회계처리 91
감가상각 93
무형자산 상각 94
선급비용 95
미지급비용 96
소모품 97
선수수익 98
유동성장기부채 98
외화 자산, 부채 평가 99
기출문제 100
II. 원가회계
1장 원가의 개념
원가의 기본개념 108
원가의 분류 109
원가의 구성 111
기출문제 112
2장 원가요소별 원가계산
원가 흐름 118
제조원가명세서 121
기출문제 122
3장 원가배분
원가배분 131
부문별 원가계산 132
기출문제 136
4장 개별원가계산
개별원가계산 142
실제개별원가계산 142
정상개별원가계산 144
기출문제 146
5장 종합원가계산
종합원가계산 150
종합원가계산방법 151
개별원가계산과 자동매매 거래의 기본 개념 종합원가계산의 비교 155
공손 155
기출문제 156
III. 부가가치세
1장 부가가치세의 개념
부가가치세 개념 166
납세의무자 166
사업장 168
사업자등록 170
납세지=사업장 170
기출문제 171
2장 과세거래
재화 175
용역 176
재화의 수입 177
공급시기 177
기출문제 179
3장 영세율과 면세
영세율 183
면세 183
기출문제 186
4장 과세표준
과세표준 190
기출문제 192
5장 (전자)세금계산서
(전자)세금계산서 194
(전자)계산서 195
영수증 196
기출문제 197
6장 납부세액
납부세액 계산 203
기출문제 205
7장 신고와 납부
신고와 납부기간 213
환급 214
기출문제 215
IV. KcLep 프로그램의 설명
1장 KcLep 프로그램의 시작
한국세무사회 KcLep 프로그램 설치 218
2장 KcLep 프로그램 실행하기
메뉴소개 220
출제현황 223
V. 기초정보관리
1장 기초정보등록
회사등록 226
거래처등록 230
계정과목 및 적요등록 236
환경등록 239
2장 전기분 재무제표 등
전기분 재무상태표 241
전기분 손익계산서 245
전기분 원가명세서 249
전기분 잉여금처분계산서 253
거래처별 초기이월 256
VI. 거래 자료의 입력
1장 일반전표입력
일반전표의 구분 261
자산과 부채의 입력 262
거래처를 입력해야 하는 채권과 채무에 해당하는 계정과목 263
2장 매입매출전표입력
유형의 구분 269
3장 고정자산등록
4장 결산
수동결산 유형 282
자동결산 유형 284
수동결산과 자동결산이 모두 가능한 결산수정분개 유형 285
5장 조회
거래처원장 289
계정별원장 290
현금출납장 291
일계표(월계표) 292
총계정원장 293
매입매출장 294
합계잔액시산표 295
부가가치세신고서 296
세금계산서합계표 297
6장 분개 입력 연습
일반전표입력 301
매입매출전표입력 309
VII. 기출문제
81회 318
80회 333
79회 349
78회 363
77회 377
76회 391
75회 404
74회 417
73회 432
72회 448
VIII. 부록
일반전표 분개 464
매입매출분개 469
결산문제 476

● 이 책의 특징
1. 실전대비 KcLep 케이랩 프로그램 활용
2. 무료 동영상 강의 강의와 함께하는 수험서
3. 완벽대비 체계적으로 정리한 이론
4. 기출문제(부록) 분개연습+T계정 연습
5. 실기공부 2020년 2월 시험까지 대비 가능


0 개 댓글

답장을 남겨주세요