Files
finance-talk/成交量分析/FG609面板_20260723.html

104 lines
5.9 KiB
HTML

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>FG609 前20会员持仓排名</title>
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: #f5f6fa; padding: 24px; color: #1a1a2e; }
.header { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 20px; }
.header h1 { font-size: 20px; font-weight: 600; }
.header span { font-size: 13px; color: #666; }
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 12px; }
.card { background: #fff; border-radius: 10px; padding: 16px; box-shadow: 0 1px 4px rgba(0,0,0,0.08); }
.card .top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.card .rank { font-size: 12px; color: #888; font-weight: 600; }
.card .name { font-size: 14px; font-weight: 600; }
.card .vol { font-size: 22px; font-weight: 700; }
.card .vol small { font-size: 13px; font-weight: 400; }
.chg-up { color: #e74c3c; }
.chg-down { color: #27ae60; }
.chg-0 { color: #999; }
.row2 { display: flex; gap: 12px; margin-top: 10px; padding-top: 10px; border-top: 1px solid #eee; }
.row2 > div { flex: 1; }
.row2 label { font-size: 11px; color: #888; display: block; }
.row2 .num { font-size: 15px; font-weight: 600; }
.net { font-size: 13px; font-weight: 600; margin-top: 6px; padding-top: 6px; border-top: 1px dashed #eee; }
</style>
</head>
<body>
<div class="header">
<h1>FG609 前20会员持仓排名</h1>
<span>2026-07-23 · 郑州商品交易所</span>
</div>
<div class="grid" id="grid"></div>
<script>
const data = [
{"rank":1,"name":"国泰君安(代客)","vol":318971,"vol_chg":-62376,"long_oi":147305,"long_chg":2980,"short_oi":192601,"short_chg":-429,"net":-45296},
{"rank":2,"name":"东证期货(代客)","vol":300477,"vol_chg":6057,"long_oi":70403,"long_chg":-15227,"short_oi":183405,"short_chg":-5055,"net":-113002},
{"rank":3,"name":"中信期货(代客)","vol":269227,"vol_chg":-31123,"long_oi":63443,"long_chg":-528,"short_oi":170270,"short_chg":1821,"net":-106827},
{"rank":4,"name":"五矿期货(代客)","vol":136245,"vol_chg":43666,"long_oi":63046,"long_chg":-5745,"short_oi":141610,"short_chg":28996,"net":-78564},
{"rank":5,"name":"华泰期货(代客)","vol":120984,"vol_chg":-2292,"long_oi":60040,"long_chg":272,"short_oi":88016,"short_chg":-2187,"net":-27976},
{"rank":6,"name":"冠通期货(代客)","vol":98116,"vol_chg":47780,"long_oi":56357,"long_chg":-663,"short_oi":71413,"short_chg":-9151,"net":-15056},
{"rank":7,"name":"银河期货(代客)","vol":86560,"vol_chg":-14234,"long_oi":50631,"long_chg":-3588,"short_oi":56787,"short_chg":-5343,"net":-6156},
{"rank":8,"name":"广发期货(代客)","vol":86232,"vol_chg":-19280,"long_oi":50128,"long_chg":615,"short_oi":48861,"short_chg":-5848,"net":1267},
{"rank":9,"name":"华闻期货(代客)","vol":83156,"vol_chg":-23036,"long_oi":49883,"long_chg":4237,"short_oi":39419,"short_chg":245,"net":10464},
{"rank":10,"name":"中泰期货(代客)","vol":81458,"vol_chg":2858,"long_oi":44652,"long_chg":1020,"short_oi":39076,"short_chg":877,"net":5576},
{"rank":11,"name":"中信建投(代客)","vol":63270,"vol_chg":4221,"long_oi":43748,"long_chg":2819,"short_oi":38532,"short_chg":-1972,"net":5216},
{"rank":12,"name":"光大期货(代客)","vol":62166,"vol_chg":196,"long_oi":42149,"long_chg":1972,"short_oi":38427,"short_chg":488,"net":3722},
{"rank":13,"name":"国信期货(代客)","vol":60570,"vol_chg":-5459,"long_oi":32668,"long_chg":1356,"short_oi":35369,"short_chg":-1415,"net":-2701},
{"rank":14,"name":"招商期货(代客)","vol":54286,"vol_chg":9923,"long_oi":32363,"long_chg":-1863,"short_oi":30159,"short_chg":-5047,"net":2204},
{"rank":15,"name":"海通期货(代客)","vol":47715,"vol_chg":17,"long_oi":31829,"long_chg":-6109,"short_oi":29086,"short_chg":-5276,"net":2743},
{"rank":16,"name":"南华期货(代客)","vol":46644,"vol_chg":13351,"long_oi":30128,"long_chg":1924,"short_oi":28816,"short_chg":662,"net":1312},
{"rank":17,"name":"瑞达期货(代客)","vol":43583,"vol_chg":8153,"long_oi":29777,"long_chg":-5192,"short_oi":25507,"short_chg":3068,"net":4270},
{"rank":18,"name":"安粮期货(代客)","vol":37862,"vol_chg":9527,"long_oi":27348,"long_chg":82,"short_oi":24953,"short_chg":-2943,"net":2395},
{"rank":19,"name":"方正中期(代客)","vol":36205,"vol_chg":-5587,"long_oi":26834,"long_chg":1832,"short_oi":23976,"short_chg":-2526,"net":2858},
{"rank":20,"name":"徽商期货(代客)","vol":35088,"vol_chg":-1103,"long_oi":25159,"long_chg":-5,"short_oi":18530,"short_chg":211,"net":6629}
];
function cls(v) {
if (v > 0) return 'chg-up';
if (v < 0) return 'chg-down';
return 'chg-0';
}
function fmt(v) { return v.toLocaleString(); }
function chgStr(v) {
const s = v > 0 ? '+' : '';
return s + fmt(v);
}
const grid = document.getElementById('grid');
data.forEach(d => {
const card = document.createElement('div');
card.className = 'card';
card.innerHTML = `
<div class="top">
<span class="rank">#${d.rank}</span>
<span class="name">${d.name}</span>
</div>
<div>
<div class="vol">${fmt(d.vol)} <small class="${cls(d.vol_chg)}">(${chgStr(d.vol_chg)})</small></div>
</div>
<div class="row2">
<div>
<label>多单</label>
<div class="num">${fmt(d.long_oi)}</div>
<div class="${cls(d.long_chg)}" style="font-size:12px">${chgStr(d.long_chg)}</div>
</div>
<div>
<label>空单</label>
<div class="num">${fmt(d.short_oi)}</div>
<div class="${cls(d.short_chg)}" style="font-size:12px">${chgStr(d.short_chg)}</div>
</div>
</div>
<div class="net ${cls(d.net)}">净头寸 ${chgStr(d.net)}</div>
`;
grid.appendChild(card);
});
</script>
</body>
</html>