Super Sale WeekClaude Skills — 20% OFF
Tips

วิธีวิเคราะห์พอร์ตคริปโตจากไฟล์ CSV (จากหลายกระดานเทรด)

Powerdrill Team·
วิธีวิเคราะห์พอร์ตคริปโตจากไฟล์ CSV (จากหลายกระดานเทรด)

ในการวิเคราะห์พอร์ตโฟลิโอคริปโตที่กระจายอยู่ในหลายแพลตฟอร์มซื้อขาย ให้ส่งออกไฟล์ CSV จากแต่ละแห่งแล้วปรับข้อมูลให้อยู่ในรูปแบบโครงสร้างเดียวกัน จากนั้นคำนวณยอดธุรกรรมสุทธิเพื่อหาโพซิชันปัจจุบัน และใส่ต้นทุนเพื่อคำนวณกำไรขาดทุนที่ยังไม่เกิดขึ้นจริง ส่วนที่ยากไม่ใช่เรื่องของคณิตศาสตร์ แต่เป็นเพราะไม่มีแพลตฟอร์มซื้อขายคู่ไหนเลยที่ส่งออกคอลัมน์เหมือนกัน

ใครก็ตามที่ถือครองสินทรัพย์ไว้มากกว่าหนึ่งแห่งย่อมเคยเจอปัญหานี้ แดชบอร์ดของแต่ละแห่งแสดงตัวเลขอย่างมั่นใจ แต่ไม่มีแดชบอร์ดไหนเลยที่แสดงภาพรวมทั้งหมด ตัวเลขยอดรวมทั้งหมดจึงมีอยู่จริงแค่ในสูตรคำนวณที่ใครบางคนนั่งคิดด้วยมือในวันอาทิตย์เท่านั้น

คู่มือนี้จะครอบคลุมขั้นตอนการส่งออกข้อมูลและโครงสร้างการปรับข้อมูลให้เป็นมาตรฐานเพื่อให้สามารถเปรียบเทียบไฟล์ต่างๆ ได้ จากนั้นจะพาไปดูขั้นตอนการคำนวณโพซิชันและกำไรขาดทุน รวมถึงจุดที่การทำด้วยตัวเองเริ่มจะเสียเวลามากกว่าประหยัดเวลา

บทความนี้เป็นเรื่องเกี่ยวกับเทคนิคการวิเคราะห์ข้อมูล ไม่ใช่คำแนะนำในการลงทุน ภาษี หรือการเงิน

สิ่งที่คุณต้องเตรียมก่อนเริ่ม

คุณต้องมีข้อมูลธุรกรรมที่ส่งออกเมาจากทุกแพลตฟอร์มที่มีโพซิชันอยู่ ซึ่งหมายถึงแพลตฟอร์มซื้อขาย รวมถึงกระเป๋าเงิน (wallet) ด้วยหากคุณสามารถดึงประวัติธุรกรรมออกมาได้ ลำพังแค่ประวัติการเทรดนั้นไม่เพียงพอ เพราะการฝาก การถอน รางวัลจากการ staking, airdrops และค่าธรรมเนียม ต่างก็ทำให้ยอดสินทรัพย์ที่คุณถือครองเปลี่ยนแปลงไป และพอร์ตโฟลิโอที่คำนวณจากแค่การซื้อและขายเพียงอย่างเดียวจะไม่สามารถกระทบยอดได้ถูกต้อง

นอกจากนี้ คุณต้องตัดสินใจสองเรื่องล่วงหน้า เนื่องจากสิ่งเหล่านี้จะทำให้ผลลัพธ์เปลี่ยนไป:

วิธีการคำนวณต้นทุนของคุณ FIFO, LIFO และค่าเฉลี่ยถ่วงน้ำหนัก (weighted average) จะให้ตัวเลขกำไรที่ยังไม่เกิดขึ้นจริงที่แตกต่างกันอย่างสิ้นเชิงจากการเทรดเดียวกัน เลือกวิธีใดวิธีหนึ่งและใช้แบบเดียวกันในทุกแพลตฟอร์ม

สกุลเงินที่ใช้รายงานผล หากคุณเคยเทรดคู่เหรียญอย่าง ETH/BTC บางธุรกรรมจะไม่มีราคาสกุลเงินท้องถิ่น (fiat) แนบมาด้วย คุณจะต้องใช้ราคาอ้างอิง ณ เวลาที่ทำธุรกรรมเพื่อแปลงมูลค่าเหล่านั้นให้อยู่ในสกุลเงินเดียวกัน

ผลลัพธ์ที่ดีจะมีลักษณะดังนี้ คุณจะได้ตารางโพซิชันที่แสดงจำนวน ต้นทุนเฉลี่ย มูลค่าปัจจุบัน และกำไรที่ยังไม่เกิดขึ้นจริงของแต่ละสินทรัพย์ และข้างๆ กันจะมีมุมมองการจัดสรรสินทรัพย์ (allocation) ที่แสดงสัดส่วนของแต่ละสินทรัพย์ในพอร์ตโฟลิโอคริปโต

วิธีการทำด้วยตัวเอง

ทางเลือกที่ 1: ปรับข้อมูลที่ส่งออกทั้งหมดให้อยู่ในโครงสร้างเดียวกัน

เปิดไฟล์ CSV แต่ละไฟล์แล้วจับคู่คอลัมน์เข้ากับชุดข้อมูลส่วนกลาง ได้แก่ timestamp, venue, transaction type, asset, quantity, price, fee currency, fee amount

นี่คือขั้นตอนที่ต้องใช้เวลามากที่สุด แพลตฟอร์มหนึ่งอาจเขียนว่า Buy อีกแห่งเขียนว่า BUY และแห่งที่สามเขียนว่า Trade โดยใช้จำนวนที่เป็นบวกหรือลบเพื่อบอกทิศทาง ส่วนเวลา (timestamps) บางไฟล์ส่งออกมาเป็นเวลาท้องถิ่น แต่อีกไฟล์เป็น UTC ซึ่งจะส่งผลทันทีเมื่อคุณเรียงลำดับตามเวลา ค่าธรรมเนียมอาจแสดงเป็นคอลัมน์แยกต่างหากในบางไฟล์ หรือถูกหักรวมอยู่ในจำนวนสินทรัพย์ในไฟล์อื่น หากคุณพลาดจุดนี้ไป โพซิชันทุกตัวจะสูงกว่าความเป็นจริงเล็กน้อย

ทางเลือกที่ 2: คำนวณยอดธุรกรรมสุทธิให้เป็นโพซิชัน

จัดกลุ่มข้อมูลในชีตที่รวมกันแล้วตามสินทรัพย์ และรวมจำนวนที่มีเครื่องหมายบวกหรือลบ การซื้อ การฝาก รางวัล และ airdrops จะเป็นบวก ส่วนการขาย การถอน และค่าธรรมเนียมที่จ่ายด้วยสินทรัพย์นั้นจะเป็นลบ

มีสองสิ่งที่คุณควรตรวจสอบก่อนจะเชื่อถือผลลัพธ์ หากสินทรัพย์ใดแสดงยอดคงเหลือเป็นลบ แสดงว่าอาจมีการฝากเงินที่ตกหล่นไปหรือมีประเภทธุรกรรมที่ยังไม่ได้จับคู่ หากสินทรัพย์ใดแสดงตัวเลขกลมๆ อย่างน่าสงสัย มักจะชี้ไปที่การโอนเงินระหว่างแพลตฟอร์มของคุณเอง ซึ่งอาจถูกนับเป็นการซื้อในฝั่งหนึ่งโดยไม่มีการถอนเงินที่ตรงกันในอีกฝั่ง การโอนย้ายภายในเป็นสาเหตุที่พบบ่อยที่สุดของการนับซ้ำ

ทางเลือกที่ 3: ใส่ต้นทุนและคำนวณกำไรขาดทุน

ไล่ดูรายการธุรกรรมของแต่ละสินทรัพย์ตามลำดับเวลา โดยใช้วิธีที่คุณเลือกเพื่อติดตามต้นทุนของหน่วยที่คุณยังคงถือครองอยู่ วิธีค่าเฉลี่ยถ่วงน้ำหนักเป็นวิธีที่สร้างในสเปรดชีตได้ง่ายที่สุด โดยให้บันทึกยอดรวมสะสมของต้นทุนและจำนวน แล้วคำนวณค่าเฉลี่ยใหม่ทุกครั้งที่มีการซื้อ

คูณจำนวนที่เหลือด้วยราคาตลาดปัจจุบันเพื่อหามูลค่าปัจจุบัน หักต้นทุนที่เหลืออยู่เพื่อหากำไรที่ยังไม่เกิดขึ้นจริง และรวมกำไรที่รับรู้แล้ว (realized gains) จากการขายแต่ละครั้ง จากนั้นเพิ่มคอลัมน์การจัดสรรสินทรัพย์ (allocation) ซึ่งก็คือมูลค่าของแต่ละสินทรัพย์คิดเป็นเปอร์เซ็นต์ของพอร์ตโฟลิโอ ซึ่งมักจะเป็นตัวเลขที่ทำให้หลายคนเปลี่ยนใจ

จุดที่การทำด้วยตัวเองเริ่มช้าลง

การจับคู่โครงสร้างข้อมูลไม่ใช่เรื่องที่ทำครั้งเดียวจบ แพลตฟอร์มซื้อขายมักจะปรับปรุงรูปแบบการส่งออกข้อมูล และคอลัมน์ที่ย้ายตำแหน่งไปอย่างเงียบๆ ก็จะทำให้สูตร lookup ที่เคยใช้งานได้ดีในไตรมาสก่อนพังลงทันที

การกระทบยอดนั้นแย่ยิ่งกว่า การหาการโอนย้ายภายในที่ไม่ตรงกันเพียงรายการเดียวในข้อมูล 4,000 แถว หมายถึงการต้องเรียงลำดับตามสินทรัพย์และเวลา แล้วนั่งอ่านไปเรื่อยๆ จนกว่าจะเจอสองรายการที่ตรงกัน นั่นเป็นงานที่น่าเบื่ออย่างแท้จริง และคุณต้องทำซ้ำทุกครั้งที่อัปเดตข้อมูล

และไฟล์ก็จะใหญ่ขึ้นเรื่อยๆ กิจกรรมเพียงไม่กี่ปีในสามแพลตฟอร์มอาจมีจำนวนถึงหลายหมื่นแถว ด้วยขนาดขนาดนั้น เวิร์กบุ๊กที่เต็มไปด้วยสูตร lookup ที่เชื่อมโยงกันและสูตรคำนวณค่าเฉลี่ยสะสมจะเริ่มทำงานช้าลงและพังได้ง่ายมาก

วิธีวิเคราะห์พอร์ตโฟลิโอคริปโตด้วย Powerdrill Bloom

ขั้นตอนที่ 1: อัปโหลดข้อมูลของคุณ

อัปโหลดไฟล์ CSV ที่ส่งออกมาจากทุกแพลตฟอร์มพร้อมกัน Powerdrill Bloom จะวิเคราะห์ข้อมูลของแต่ละไฟล์แยกกัน ดังนั้นคุณจึงสามารถเห็นชื่อคอลัมน์และรูปแบบวันที่ที่แตกต่างกันได้ก่อนที่จะรวมข้อมูลเข้าด้วยกัน คุณสามารถดูได้ว่าไฟล์ไหนใช้ UTC และไฟล์ไหนไม่ได้ใช้

การอัปโหลดไฟล์ CSV ที่ส่งออกจากหลายแพลตฟอร์มเพื่อวิเคราะห์พอร์ตโฟลิโอคริปโตใน Powerdrill Bloom

ขั้นตอนที่ 2: อธิบายการวิเคราะห์ด้วยภาษาธรรมชาติ

บอกสิ่งที่คุณต้องการด้วยภาษาธรรมดาๆ เช่น รวมข้อมูลที่ส่งออกเหล่านี้เข้าเป็นประวัติธุรกรรมเดียว คำนวณยอดสุทธิเป็นโพซิชันตามสินทรัพย์ และทำเครื่องหมายการโอนย้ายภายในที่ปรากฏเพียงฝั่งเดียว จากนั้นขอให้แสดงการจัดสรรสินทรัพย์ตามประเภท กำไรที่ยังไม่เกิดขึ้นจริงตามเกณฑ์ค่าเฉลี่ยถ่วงน้ำหนัก หรือดูว่าสัดส่วนโพซิชันเปลี่ยนแปลงไปอย่างไรในช่วงปีที่ผ่านมา

ขั้นตอนที่ 3: ส่งออกแผนภูมิ รายงาน หรือสไลด์นำเสนอ

ดึงแผนภูมิการจัดสรรสินทรัพย์ ตารางโพซิชัน หรือสรุปข้อมูลความหนาแน่นและผลการดำเนินงานออกมา การอัปเดตข้อมูลในไตรมาสหน้าก็แค่เพียงอัปโหลดไฟล์ที่ส่งออกมาใหม่และถามคำถามเดิม

แผนภูมิการจัดสรรพอร์ตโฟลิโอคริปโตที่ส่งออกจาก Powerdrill Bloom

ทำไมวิธีนี้ถึงดีกว่าการสร้างสเปรดชีตใหม่ทุกไตรมาส

สเปรดชีตที่ทำด้วยตัวเอง Powerdrill Bloom
การจับคู่โครงสร้างข้อมูล ต้องสร้างใหม่เมื่อรูปแบบการส่งออกเปลี่ยนไป จัดการแยกตามไฟล์ขณะอัปโหลด
การตรวจสอบการโอนย้ายภายใน ต้องเรียงลำดับและนั่งอ่านด้วยตัวเอง ถามหาคู่ที่ไม่ตรงกันได้โดยตรง
การเพิ่มแพลตฟอร์มที่ 4 ต้องจับคู่ใหม่และเขียนสูตรใหม่ แค่เพิ่มไฟล์อีกหนึ่งไฟล์
คำถามเพิ่มเติมหลังจากนั้น ต้องเขียนสูตรใหม่ทุกครั้ง ถามจากข้อมูลเดิมได้ทันที

ต้นทุนที่เพิ่มขึ้นเรื่อยๆ ของการทำด้วยตัวเองคือทุกๆ คำถามจะกลายเป็นโปรเจกต์ย่อยๆ การถามว่า "การจัดสรรสินทรัพย์ของฉันในเดือนมีนาคมเป็นอย่างไร" หมายถึงการต้องสร้างตารางโพซิชัน ณ เวลานั้นขึ้นมาใหม่ แต่เมื่อการถามคำถามทำได้ง่ายขึ้น คุณก็จะถามบ่อยขึ้น และความหนาแน่นของพอร์ตโฟลิโอก็เป็นสิ่งประเภทที่ผู้คนมักจะค้นพบก็ต่อเมื่อการตรวจสอบนั้นทำได้ง่ายเท่านั้น

ข้อผิดพลาดที่พบบ่อย

ข้อผิดพลาด 5 ประการนี้คือสาเหตุหลักที่ทำให้ตัวเลขในพอร์ตโฟลิโอคริปโตที่สร้างด้วยวิธีนี้คลาดเคลื่อน

การนับการโอนย้ายภายในเป็นการเทรด การถอนเงินจากแพลตฟอร์มหนึ่งและการฝากเงินในอีกแพลตฟอร์มหนึ่งคือการเคลื่อนย้ายข้อมูลรายการเดียวกัน หากนับเป็นสองเหตุการณ์ที่แยกจากกัน จะทำให้ทั้งยอดสินทรัพย์ที่ถือครองและปริมาณการเทรดของคุณสูงเกินจริง

การละเลยค่าธรรมเนียมที่จ่ายด้วยสินทรัพย์ที่เทรด การจ่ายค่าธรรมเนียมเป็น ETH จะทำให้โพซิชัน ETH ของคุณลดลง ไฟล์ที่ส่งออกซึ่งรวมค่าธรรมเนียมนี้ไว้ในจำนวนสินทรัพย์แล้ว กับไฟล์ที่แยกค่าธรรมเนียมออกมาต่างหาก จำเป็นต้องได้รับการจัดการที่แตกต่างกัน

การผสมวิธีคิดต้นทุนที่แตกต่างกันในแต่ละแพลตฟอร์ม การใช้ค่าเฉลี่ยถ่วงน้ำหนักในแพลตฟอร์มหนึ่งและใช้ FIFO ในอีกแพลตฟอร์มหนึ่ง จะทำให้ตัวเลขพอร์ตโฟลิโอรวมไม่มีความหมายใดๆ

การลืมคำนวณรางวัลจากการ staking และ airdrops สิ่งเหล่านี้ช่วยเพิ่มจำนวนสินทรัพย์โดยไม่มีการซื้อที่ตรงกัน หากละเลยสิ่งเหล่านี้ไป ต้นทุนเฉลี่ยต่อหน่วยของคุณจะสูงเกินไป

การเปรียบเทียบกับราคาที่ไม่อัปเดต มูลค่าปัจจุบันจำเป็นต้องใช้ราคาจากเวลา (timestamp) เดียวกันในทุกสินทรัพย์ ราคาที่ดึงมาห่างกันหลายชั่วโมงจะทำให้เปอร์เซ็นต์การจัดสรรสินทรัพย์คลาดเคลื่อน

บทสรุป

การวิเคราะห์พอร์ตโฟลิโอคริปโตจากหลายแพลตฟอร์มสรุปได้เป็น 4 ขั้นตอน ได้แก่ ส่งออกข้อมูลทั้งหมด ปรับให้อยู่ในโครงสร้างเดียวกัน คำนวณยอดสุทธิเป็นโพซิชัน และใส่ต้นทุน การทำในสเปรดชีตนั้นเป็นเรื่องที่ทำได้จริงอย่างแน่นอน และจะยังคงทำได้จนกระทั่งคุณเพิ่มแพลตฟอร์มที่ 4 เข้ามา หรือเมื่อแพลตฟอร์มซื้อขายเปลี่ยนคอลัมน์ในการส่งออกข้อมูล

หากการสร้างสเปรดชีตใหม่ทุกไตรมาสกลายเป็นเหตุผลที่ทำให้คุณตรวจสอบพอร์ตโฟลิโอน้อยลงกว่าที่ตั้งใจไว้ ลองใช้ Powerdrill Bloom กับข้อมูลที่คุณส่งออกมาแล้ว สำหรับปัญหาแบบเดียวกันในแพลตฟอร์มเดียว สามารถดูได้ที่ การวิเคราะห์ไฟล์ CSV ที่ส่งออกจากแพลตฟอร์มซื้อขายคริปโต สำหรับการรวมไฟล์ทั่วไป หน้า ฟีเจอร์การรวมไฟล์ CSV จะอธิบายเกี่ยวกับกลไกการทำงาน และ การเปลี่ยนไฟล์ CSV ให้เป็นแผนภูมิ จะครอบคลุมถึงการแสดงผลในรูปแบบภาพ ส่วนการสำรวจเครื่องมืออื่นๆ เพิ่มเติม สามารถดูได้ในบทความรวบรวม เครื่องมือวิเคราะห์คริปโตด้วย AI ฟรี ของเรา

คำถามที่พบบ่อย

ฉันจะรวมข้อมูลคริปโตที่ส่งมาจากแพลตฟอร์มซื้อขายต่างๆ ได้อย่างไร?

จับคู่คอลัมน์ของแต่ละไฟล์ที่ส่งออกเข้ากับโครงสร้างข้อมูลส่วนกลาง ได้แก่ timestamp, venue, type, asset, quantity, price, fee จากนั้นแปลงเวลาทั้งหมดเป็น UTC และรวมไฟล์เข้าด้วยกันโดยคงคอลัมน์ venue ไว้ การคงคอลัมน์ venue ไว้เป็นสิ่งที่จะช่วยให้คุณสามารถสืบหาที่มาของตัวเลขต่างๆ กลับไปยังแหล่งข้อมูลต้นทางได้

วิธีที่ดีที่สุดในการคำนวณต้นทุนคริปโตในสเปรดชีตคืออะไร?

วิธีค่าเฉลี่ยถ่วงน้ำหนักเป็นวิธีที่นำไปใช้ได้จริงมากที่สุดในการสร้างด้วยตัวเอง ให้บันทึกยอดรวมสะสมของต้นทุนและจำนวนของแต่ละสินทรัพย์ แล้วคำนวณค่าเฉลี่ยใหม่ทุกครั้งที่มีการซื้อ ส่วนวิธี FIFO และ LIFO จำเป็นต้องมีการติดตามในระดับล็อต (lot-level) ซึ่งจะจัดการได้ยากมากเมื่อมีธุรกรรมเกินกว่าสองสามร้อยรายการ

ทำไมยอดรวมพอร์ตโฟลิโอคริปโตของฉันถึงไม่ตรงกับแดชบอร์ดของแพลตฟอร์มซื้อขาย?

สาเหตุทั่วไปมักเกิดจากการนับการโอนย้ายภายในซ้ำสองครั้ง ค่าธรรมเนียมที่จ่ายด้วยสินทรัพย์ที่เทรดไม่ได้ถูกหักออก หรือรางวัลจากการ staking ตกหล่นไปจากรายการธุรกรรม ให้ตรวจสอบยอดคงเหลือที่เป็นลบก่อนเป็นอันดับแรก เนื่องจากยอดคงเหลือที่เป็นลบมักจะบ่งชี้ถึงธุรกรรมที่ตกหล่นหรือยังไม่ได้จับคู่เสมอ

ฉันสามารถวิเคราะห์ธุรกรรมจากกระเป๋าเงินควบคู่ไปกับไฟล์ CSV ของแพลตฟอร์มซื้อขายได้หรือไม่?

ได้ หากคุณสามารถส่งออกประวัติธุรกรรมที่มีเวลา (timestamps) สินทรัพย์ จำนวน และทิศทางของธุรกรรมได้ ประวัติธุรกรรมบนบล็อกเชน (on-chain) มักจะต้องจับคู่ค่าแก๊ส (gas fees) เป็นแถวค่าธรรมเนียมแยกต่างหาก เนื่องจากค่าแก๊สจะไปลด ยอดคงเหลือของสินทรัพย์ที่ใช้จ่ายค่าธรรมเนียมนั้น

ฉันจำเป็นต้องติดตามทุกๆ ธุรกรรมขนาดเล็กหรือไม่?

สำหรับมุมมองการจัดสรรสินทรัพย์ (allocation) ธุรกรรมขนาดเล็กแทบจะไม่ส่งผลต่อผลลัพธ์ แต่สำหรับเรื่องต้นทุนและกำไรที่รับรู้แล้ว (realized gains) ธุรกรรมเหล่านี้มีความสำคัญ เนื่องจากแต่ละรายการจะเปลี่ยนต้นทุนเฉลี่ยของหน่วยที่คุณยังคงถือครองอยู่ ความครบถ้วนของข้อมูลจะยิ่งมีความสำคัญมากขึ้นเมื่อคุณต้องการตัวเลขกำไรที่แม่นยำ