ลดทุน ลดหุ้น แล้วได้อะไร ?

จากบทความที่แล้วที่ผมได้เขียนไปเกี่ยวกับ การ ลด Par ล้างหนี้ แล้วยังติดประเด็นว่า ถ้าเราไม่ลด Par มันจะเกิดอะไรขึ้น ? ก่อนอื่นเลยต้องถึงสมการนึงก่อน ทุนจดทะเบียน(ทุน) / จำนวนหุ้น = ราคา Par ถ้าเราลดราคา Par แล้วทุนจดทะเบียนลดลง แต่จำนวนหุ้นเท่าเดิม ถ้าเรามองกลับกัน ลดทุนจดทะเบียน แต่ไม่ลดราคา Par ดังนั้นจำนวนหุ้นลดลง แล้วจำนวนหุ้นที่ลดลง มันมีผลอะไรบ้าง ? อย่างแรกเลย คือ จำนวนหุ้นที่ลดลง แต่ราคาของหุ้นจะต้องเพิ่มขึ้นตามสัดส่วนที่ได้ลดลง ผู้อ่านอาจะงงเดียวผมของยกตัวอย่างเลยนะครับ บริษัท ก มีทุนจดทะเบียน 1,000 บาท โดยแบ่งจำนวนหุ้น 10,000 หุ้น ตอนนี้ราคา Par = 0.10 บาทต่อหุ้น ต่อมาอีก 1 ปี บริษัท ก ทำธุรกิจขาดทุนไป 500 บาท ทางผู้บริษัทเลยมีมิติลดทุนเพื่อล้างหนี้ที่ขาดทุนไป โดยไม่ลดราคา Par สังเกตุว่าราคา Par มันน้อยจดลดอีกไม่ได้แล้ว 1,000 – 5000(ทุน) / 0.10(ราคา Par) = 5,000 จำนวนหุ้น เมื่อเทียบจำนวนหุ้นเดิม ต่อ จำนวนหุ้นใหม่ คือ 10,000 : 5,000 ซึ่งถ้าเทียบเป็นอัตราส่วนแล้ว คือ 2 : 1 ตีความได้ว่า 2 หุ้นเดิม จะลดเหลือ 1 หุ้น โดยมีผลให้ราคาหุ้นเพิ่มขึ้น 2 เท่า ราคาหุ้น ไม่ใช่ราคา Par นะ ถ้าราคาหุ้นเดิม คือ 1 บาท เมื่อลดทุนแล้วราคาหุ้น…

[VBA] Merge ไฟล์ Excel หลายไฟล์

พอดีมีเพื่อนตอนมธัยมทักมา เพื่อให้ช่วยรวมข้อมูลไฟล์ Excel หลายๆไฟล์ แต่ตอนนั้นผมเตรียมสอบ Toeic อยู่เลยปัดไป แต่จริงๆแอบเขียน VBA เพื่อรวมไฟล์ Excel หลายๆไฟล์ มารวมใน Sheet เดียว โดยมี Code คร่าวๆ ดังนี้ถ้าว่างๆ เดี๋ยวมาอธิบาย Code นะ

Neural Network with WEKA [Create Model]

หลังจากเรา เตรียมข้อมูล เรียบร้อยแล้ว ขั้นตอนต่อมา คือ การสร้าง Model โดยทำต่อไปตามขั้นตอนเลยครับ มาที่ tab Preprocesses >> open file >> เลือกไฟล์ Customer_for_std_train.arff จะพบข้อมูลขึ้นมา โดยเราสามารถที่จะไปกดดูกราฟ เพื่อที่จะทำการดู กราฟ และสถิตต่างๆได้ ส่วนที่ 1: แสดง background ของข้อมูล ว่ามาจากไล์อะไร มีกี่ record ส่วนที่ 2: แสดง Attribute ทั้งหมด โดยเมื่อเราเลือกไปที่ตัวไหน จะมีรายละเอียดในสวนที่ 3 ส่วนที่ 3: แสดงสถิตพื้นฐาน และกราฟ มาที่ tab Classify >> เลือก choose ไปที่ function >> MultiLayer Preception คลิกขวาในบริเวณตามรูป เลือก show properties เพื่อที่เราจะไปปรับค่ามัน ตั้งค่าตามรูปเลยจ้า (ไม่แน่ใจมากนะ เพราะมาจากการทดลองกดดู เพราะมันไม่มี doc ให้อ่าน) GUI: True แสดงรูป Model Hidden Layer: ใส่ไปตาม default ก่อน Learning Rate: ใส่ค่า Weight อัตราการเรียนรู้ของข้อมูล Normalize Attribute: เข้าใจว่าแปลงค่า input อยู่ในช่วงของ sigmoid คือ -1 ถึง 1 มาตั้ง Test Options (ไม่แน่ใจมากนะ เพราะมาจากการทดลองกดดู เพราะมันไม่มี doc ให้อ่าน) Use training set: เอาไว้สร้าง Model <<เลือกอันนี้>>…

ลด Par ล้างหนี้ คือ อะไร

ช่วงนี้หลายๆคนที่เล่นหุ้น น่าจะได้ยินข่าวว่าหุ้นหลายตัว อาจจะทำการ “ลด Par ล้างหนี้” เพื่อล้างขาดทุนสะสมหมดไป แต่….สำหรับแมงเม่าน้องใหม่อย่างเรานั้น มันจะมีผลอะไรเกิดขึ้นกับเรา หรือไม่ ? ก่อนอื่นที่เราจะไปถึงเรื่องลด Par สิ่งที่เราต้องรู้ก่อนว่า “Par” คือ อะไร Par คือ ราคาที่เจ้าของกิจการกำหนด หรือจัดสรรขึ้นมา เพื่อให้ได้หุ้น 1 หน่วยครับ ตอนที่เริ่มทำธุรกิจ โดยคิดง่ายๆจาก ทุนจดทะเบียน(ทุน) / จำนวนหุ้น = ราคา Par ตัวอย่าง ถ้ามีทุนจดทะเบียน(ทุนตั้งต้น) ตั้งบริษัทจำนวน 100,000 บาท โดยแบ่งเป็น 100,000(ทุน) / 10,000(จำนวนหุ้น) = 10 บาทต่อหุ้น (ราคา Par) ตอนนี้เรากลับมาที่ ลด Par ล้างหนี้กันครับ โดยการลด Par เพื่อล้างหนี้ คือ เทคนิคทางการบัญชีมาปรับขาดทุนสะสม โดยการลดราคา Par ลงมา เดี๋ยวผมอธิบายในตัวอย่างเลยและกัน เพราะมันต้องมีคามเข้าใจ เรื่องบัญชีส่วนหนึ่ง สมการบัญชีที่ทุกคน่าจะรู้จัก คือ สินทรัพย์ = หนี้สิน + ทุน ยกตัวอย่างต่อจากข้อที่แล้วเลย คือ ทุน = 100,000 โดยสมการที่ได้เป็น 100,000(สินทรัพย์) = 0(หนี้สิน) + 100,000(ทุน) ณ จุดนี้หนี้สินเป็นศูนย์ แต่เมื่อบริษัทของเราดำเนินกิจการระยะหนึ่งเกิดขาดทุน 10,000 บาทมา ประเด็น คือ เราจะเอาอะไรไปโป๊ะ ถ้าไม่กู้มาเพิ่ม ก็ต้องเอาจากทุนไปจ่าย ซึ่งถ้าเลือกทุนไปจ่าย ส่วนของทุนต้องติดลบไป(เหลือ 90,000 บาท เอาไปโป๊ะขาดทุน 10,000 บาท) แต่เวลาลงบัญชีจะลงในส่วนของหนี้สิน โดยสมการที่ได้เป็น 100,000(สินทรัพย์)  = 10,000(หนี้สิน) +…

Neural Network with WEKA [Data Preparation]

ก่อนอื่นเลยบทความนี่ผมเขียนไว้ในเว็บบอร์ด COMSWU นะครับ แต่ติดปัญหาเรื่องสิทธิ์ที่ให้คนนอกเข้ามาดู ผมจึง Rewrite เขียนใหม เพื่อให้คนอื่นๆที่เคยใช้งาน หรือเรียนโปรแกรม WEKA ในการทำ Neural Network แต่ยังไม่มี idea ในการนำไปใช้งานจริงเข้าใจมากยิ่งขึ้นครับ เอกสารประกอบการทำ Workshop นะครับ เป็นไฟล์ข้อมูลการตัดสินใจซื้อจักรยานของลูกค้ากลุ่มหนึ่ง ที่เราต้องสร้าง Model เพื่อนำมาทำนายข้อมูลชุดๆถัดไปครับ [wpdm_file id=3] ขั้นตอนการทำงาน ตรวจสอบข้อมูลก่อนเลย ใน Column ที่เป็น Nominal/Ordinal มันมีข้อมูลกี่ตัวเลือกกี่แบบ Copy ข้อมูลต้นฉบับ ไปยังอีก worksheet นึง >> เลือก Column ที่ต้องการ >> Tab data >> Remove Duplicate >> กด OK ทำแบบนี้จนครบทุก Column .สร้าง Sheet ใหม่ใน Excel ขึ้นมา และทำการ copy ข้อมูลจาก Sheet เก่า เพื่อ เอา Format ต่างๆพวก Filter ออกไป ไล่ตรวจสอบใน Sheet ว่าในแต่ละ Cell มีช่องว่าง หรือไม่ ถ้ามีกำจัดให้หมด ลบ Column ID ออกไป เพราะมันไม่มีค่าอะไร และจะทำให้ผลลัพธ์ที่ได้คลาดเคลื่อน แบ่งข้อมูลออกเป็น 2 กลุ่ม สัดส่วน 70%/30% กล่มที่1(สัดส่วน 70%) ตั้งชื่อไฟล์ Customer_for_std_train: เอาไว้ให้มันเรียนรู้ Data สร้าง Model กลุ่มที่2(สัดส่วน 30%) จะมี 2 ไฟล์ย่อย ได้แก่ >>…

[DB2] SELECT TOP(1) IN DB2

IBM DB2

จริงๆวางโครงบทความนี้มานานและ แต่เพิ่มจะมีโอกาศได้เขียนจริงๆจังๆ ซะที เข้าที่ปัญหาเลย คือ ว่าเราต้องการ Query เพื่อดึงข้อมูลในแถวแรกขึ้นมาก หากเป็น MySQL, MS SQL Server เราสามารถใช้คำสั่ง TOP(จำนวนแถวที่ต้องการได้เลย) แต่ถ้าเป็น DB2 จะมีคำสั่ง (ใช้ได้กับ DB2 8.1 ขึ้นไป) โดยเพิ่มเข้าไป ดังนี้ครับ FETCH FIRST 1 ROW ONLY ตัวอย่างการใช้งานจริง โดยเทียบ SYNTAX เมื่อใช้กับ MS SQL Server ครับ

[Android] ซ่อนคีย์บอร์ดให้ EditText

เวลาเขียน Android หลายครั้ง เราก็ไม่อยากให้ EditText มันแสดง keyboard เมื่อเราไปเลือกมัน เช่น เราอาจจะใช้ให้ EditText ระบข้อมูลวันที่จาก Date Picker แทน วันนี้ผมมี Code เล็กๆน้อย เพื่อที่จะซ่อน Key board ให้กับ EditText ตามนี้เลยครับ [java] EditText.setInputType(InputType.TYPE_NULL); [/java]

[Android] Error:The SDK Build Tools revision (19.0.3) is too low for project

วันนี้พอ Update Android Studio เป็นเวอร์ชัน 0.6.0 มาใหม่ พอเปิดโปรแกรมขึ้นมาใหม่พบ Error Message ดังรูปเลยครับ สาเหตุ build.gradle มันชี้ไปผิดเวอร์ชั่น ที่ไม่เหมาะสมกับ SDK วิธีการแก้ แบบที่ 1: แก้จากไฟล์ bulid.gradle [xml] apply plugin: ‘android’ android { compileSdkVersion 19 buildToolsVersion ‘19.1.0’ //แก้ไข Build Tools Version ให้เป็นไปตามที่ SDK ต้องการ defaultConfig { minSdkVersion 8 targetSdkVersion 19 versionCode 1 versionName ‘1.0’ } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.txt’ } } productFlavors { } } dependencies { compile fileTree(dir: ‘libs’, include: [‘*.jar’]) compile ‘com.android.support:appcompat-v7:19.+’ } [/xml] แบบที่สอง คือ แก้ผ่าน Interface ของ Android Studio ได้ โดยทำตามขั้นตอน ดีงนี้เลย ไปที่เมนู Tools >> Android >> SDK Manager ดังรูป ตรวจสอบ SDK เลือก Version ที่ต้องการ จากนั้นกด Update ให้เรียบร้อย…

[SQL SERVER] Invalid character value for cast specification

Microsoft SQL Server

วันนี้ผมแก้ App เก่าๆของที่บริษัทแล้วเกิดเจอปัญหา Invalid character value for cast specification ตอนนั้นไล่ข้อมูลแทบตาย เจอมวลมหา Function Call และไปพบว่ามันผิดที่วันที่ (Date) ที่มีการจัด Format ผิด โดยไอ้เจ้าปัญหา Invalid character value for cast specification มันมีความหมายว่าข้อมูลทางเราเป็น input ส่งให้ Database แล้วตัว DBMS เองไม่สามารถแปลงข้อมูล และเก็บลงฐานข้อมูลได้นั้น ซึ่งสาเหตุอาจจะเกิดจากหลายๆสาเหตุ เช่น ข้อมูลประเภท Date ที่ Format ผิด หรือข้อมูลประเภท String เป็นต้น โดยในที่นี้ผมขอยกปัญหาที่ผมเจอก็คือ กรณีที่ข้อมูลนั้นเป็นพวก Date นะครับ ตัวอย่างที่ผมเจอข้อมูลเกี่ยวกับพวกวันที่ Date พา Death เลยแหละ ปัญหา คือ ข้อมูลวันที่ที่เราส่งไป SQL Server ไม่รองรับ Format ข้อมูลแบบนี้ แต่รองรับข้อมูลรูปแบบ ดังนี้ ทางแก้ไข คือ พยายามจัดข้อมูลรูปแบบของข้อมูลในอยู่ในรูปแบบที่ SQL Server นั้นรองรับ ซึ่งก็คือ สองแบบข้างต้นนี้เอง ดังนั้นข้อมูลที่เราส่งไปเก็บมีรูปแบบจาก 07/31/2014 ไปเป็น 2014-07-31 หมายเหตุ วิธีการแบบนี้สามารถส่งข้อมูลปีที่เป็น ค.ศ. และ พ.ศ. ได้เลย โดยระบบจะปรับแก้วันที่ตาม Regional Setting ได้เองอัตโนมัติ แต่ต้องส่งข้อมูลชนิด Date เข้าไปเท่านั้น ห้ามส่งเป็น String เข้าไปเด็ดขาด(บางครั้งมีคนหัวหมอไปจัด String แล้วค่อยเอาไปเก็บ) เพราะระบบไม่มีการแก้ข้อมูลตาม Regional Setting ซึ่งส่งผลให้ App ของเราทำงานผิดภายในหลังได้