주식 호가 단위에 맞춘 가격 조정
이건 각각의 가격대에 따라서 자릿수의 금액이 다른 부분이 있어 맞추기 위해서 만들어진 것입니다.
이 부분은 영원히 고정된것이 아니기 때문에 변경이 될 수 있습니다.
예를 들면 10만원 단위에선 10만10원 이란 가격은 없다는 것입니다.
<?php
class PriceAdjuster {
private $tickLevels = [
[2000, 1],
[5000, 5],
[20000, 10],
[50000, 50],
[200000, 100],
[500000, 500],
[INF, 1000] // 50만 원 이상은 1,000원 단위
];
public function adjustPriceToTick($price) {
foreach ($this->tickLevels as [$threshold, $tick]) {
if ($price < $threshold) {
break;
}
}
// 올림 처리
$adjustedPrice = ceil($price / $tick) * $tick;
// 한 호가 위 가격 반환
$nextPrice = $adjustedPrice + $tick;
// 라운드 피겨인지 확인 (예: 5000, 10000, 50000 등)
if ($adjustedPrice % ($tick * 10) == 0) {
return $nextPrice; // 라운드 피겨면 그 다음 호가로 이동
} else {
return $adjustedPrice; // 기본적으로 한 호가 위
}
}
}
// 테스트 코드
$adjuster = new PriceAdjuster();
$testPrices = [1500, 3010, 7210, 15070, 30250, 102020, 607200];
foreach ($testPrices as $price) {
echo "원래 가격: {$price}, 조정된 가격: " . $adjuster->adjustPriceToTick($price) . "\n";
}
아래는 주식 호가 단위에 맞춘 가격 조정표 입니다.
간단하게 한번 테스트 한것이라서 위 표를 보고 다른 부분이 있으면 그에 맞게 수정해 사용하면 됩니다.
이렇게 거래 하는지 이제 알았네요.
그전에는 그냥 클릭해서 금액 나오는것 사용했는데 말이죠.