Maintenance Ratio Query
Maintenance
Input Parameters
| Parameter | Type | Description |
|---|---|---|
| account | Account | Account |
Result Return
| Parameter | Type | Description |
|---|---|---|
| IsSuccess | bool | Whether successful |
| Data | *MaintenanceData | Returns maintenance ratio info |
| Message | *string | Returns error message when IsSuccess = false |
Maintenance Data Fields
| Parameter | Type | Description |
|---|---|---|
| Date | *string | Query Date |
| BranchNo | *string | Branch Code |
| Account | *string | Account |
| MaintenanceSummary | *MaintenanceSummary | Account Maintenance Summary |
| >> MarginValue | *int64 | Total Margin Value |
| >> ShortsellValue | *int64 | Total Short Sell Value |
| >> ShortsellMargin | *int64 | Total Short Sell Margin |
| >> Collateral | *int64 | Collateral |
| >> MarginLoanAmt | *int64 | Total Margin Loan Amount |
| >> MaintenanceRatio | *string | Maintenance Ratio (%) |
| MaintenanceDetail | *[]MaintenanceDetail | Stock Maintenance Details |
| >> StockNo | *string | Stock Symbol |
| >> OrderNo | *string | Order Number |
| >> OrderType | OrderType | Order Type: OrderTypeStock Common, OrderTypeMargin Margin, OrderTypeShort Short Sell, OrderTypeDayTrade Day Trade, OrderTypeSbl SBL |
| >> Quantity | *int64 | Held Quantity |
| >> Price | *string | Calculation Price |
| >> CostPrice | *string | Cost Price |
| >> ShortsellMargin | *int64 | Short Sell Margin |
| >> Collateral | *int64 | Collateral |
| >> MarginLoanAmt | *int64 | Margin Loan Amount |
| >> MaintenanceRatio | *string | Maintenance Ratio (%) |
| >> CollateralInterest | *string | Collateral Interest |
| >> MarginInterest | *string | Margin Loan Interest |
| >> ShortsellInterest | *string | Short Sell Margin Interest |
Request Example
package main
import (
"fmt"
"fubon"
)
func main() {
sdk := fubon.NewFubonSDK()
// ... Login, connection, and other initialization steps ...
// Query Maintenance Ratio
maintenance, err := sdk.Accounting.Maintenance(account)
if err != nil {
fmt.Printf("❌ Maintenance Format/Parser Error: %v\n", err)
return
}
if maintenance.IsSuccess && maintenance.Data != nil {
fmt.Println("✅ Maintenance Data:")
// Account Summary
if maintenance.Data.MaintenanceSummary != nil {
summary := maintenance.Data.MaintenanceSummary
fmt.Printf("\n整戶維持率: %s%%\n", *summary.MaintenanceRatio)
fmt.Printf("融資市值: %d\n", *summary.MarginValue)
fmt.Printf("融資金額: %d\n", *summary.MarginLoanAmt)
fmt.Printf("擔保品: %d\n", *summary.Collateral)
}
// Stock Details
if maintenance.Data.MaintenanceDetail != nil {
fmt.Printf("\n個股明細 (%d 筆):\n", len(*maintenance.Data.MaintenanceDetail))
for i, detail := range *maintenance.Data.MaintenanceDetail {
fmt.Printf("\n[%d] %s\n", i+1, *detail.StockNo)
fmt.Printf(" 持有: %d 股\n", *detail.Quantity)
fmt.Printf(" 成本價: %s, 計算價: %s\n", *detail.CostPrice, *detail.Price)
fmt.Printf(" 維持率: %s%%\n", *detail.MaintenanceRatio)
}
}
}
}
Response Example
Result{
IsSuccess: true,
Message: nil,
Data: &MaintenanceData{
Date: "2024/02/27",
BranchNo: "6460",
Account: "26",
MaintenanceSummary: &MaintenanceSummary{
MarginValue: 3135000,
ShortsellValue: 0,
ShortsellMargin: 0,
Collateral: 0,
MarginLoanAmt: 1494000,
MaintenanceRatio: "209.83",
},
MaintenanceDetail: &[]MaintenanceDetail{
{
StockNo: "2603",
OrderNo: "x4580",
OrderType: OrderTypeStock,
Quantity: 10000,
Price: "152.5",
CostPrice: "119",
ShortsellMargin: 0,
Collateral: 0,
MarginLoanAmt: 0,
MaintenanceRatio: "213.58",
CollateralInterest: "0",
MarginInterest: "20818",
ShortsellInterest: "0",
},
},
},
}