Clarify private trading boundary
This commit is contained in:
@@ -32,9 +32,8 @@ const SUMMARY_TEXT = {
|
||||
region: { en: "Region", zh: "区域" },
|
||||
localTime: { en: "Local Time", zh: "当地时间" },
|
||||
gaussianMu: { en: "Gaussian μ", zh: "高斯 μ" },
|
||||
detailedProbability: { en: "Market Option Probability", zh: "市场选项概率" },
|
||||
detailedProbability: { en: "Gaussian Distribution Probability", zh: "高斯分布概率" },
|
||||
noProbabilityDistribution: { en: "No probability distribution", zh: "暂无详细概率" },
|
||||
marketMatch: { en: "Market Match", zh: "市场匹配" },
|
||||
median: { en: "Median", zh: "模型中位数" },
|
||||
spread: { en: "Spread", zh: "分歧范围" },
|
||||
empty: { en: "No model summary rows match the current filters.", zh: "当前筛选下没有模型汇总数据。" },
|
||||
@@ -42,7 +41,7 @@ const SUMMARY_TEXT = {
|
||||
total: { en: "rows", zh: "行" },
|
||||
} as const;
|
||||
|
||||
const MODEL_SUMMARY_COLUMN_COUNT = MODEL_SUMMARY_MODEL_COLUMNS.length + 8;
|
||||
const MODEL_SUMMARY_COLUMN_COUNT = MODEL_SUMMARY_MODEL_COLUMNS.length + 7;
|
||||
|
||||
function copy(key: keyof typeof SUMMARY_TEXT, isEn: boolean) {
|
||||
return SUMMARY_TEXT[key][isEn ? "en" : "zh"];
|
||||
@@ -160,34 +159,6 @@ function ModelSummaryRowView({
|
||||
<td className="min-w-[92px] px-3 py-2 text-right">
|
||||
<TemperatureCell value={row.gaussianMu} symbol={row.tempSymbol} emphasis="median" />
|
||||
</td>
|
||||
<td className="min-w-[420px] max-w-[520px] px-3 py-1.5 text-left">
|
||||
{row.marketMatches.length ? (
|
||||
<div className="flex flex-wrap items-center gap-1">
|
||||
{row.marketMatches.map((match) => {
|
||||
return (
|
||||
<a
|
||||
key={match.key}
|
||||
href={match.marketUrl || undefined}
|
||||
target={match.marketUrl ? "_blank" : undefined}
|
||||
rel={match.marketUrl ? "noreferrer" : undefined}
|
||||
className={clsx(
|
||||
"inline-flex items-center gap-1 rounded border px-1.5 py-0.5 font-mono text-[10px] font-bold tabular-nums",
|
||||
(match.modelProbability ?? 0) >= 0.2
|
||||
? "border-emerald-200 bg-emerald-50 text-emerald-800"
|
||||
: "border-slate-200 bg-slate-50 text-slate-600",
|
||||
)}
|
||||
title={`${match.label} model ${formatModelSummaryProbability(match.modelProbability)}`}
|
||||
>
|
||||
<span className="font-black">{match.label}</span>
|
||||
<span>{isEn ? "M" : "模"} {formatModelSummaryProbability(match.modelProbability)}</span>
|
||||
</a>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
) : (
|
||||
<span className="font-mono text-xs font-semibold text-slate-300">—</span>
|
||||
)}
|
||||
</td>
|
||||
</tr>
|
||||
{expanded ? (
|
||||
<tr className="border-b border-blue-100 bg-blue-50/35">
|
||||
@@ -392,7 +363,7 @@ export function ModelSummaryDashboard({
|
||||
<div className="min-h-0 flex-1 overflow-auto">
|
||||
<table
|
||||
className="w-full border-collapse text-xs"
|
||||
style={{ minWidth: "1940px" }}
|
||||
style={{ minWidth: "1520px" }}
|
||||
>
|
||||
<thead className="sticky top-0 z-20 bg-slate-50 text-[10px] font-black uppercase tracking-wide text-slate-500 shadow-[0_1px_0_0_#e2e8f0]">
|
||||
<tr>
|
||||
@@ -414,9 +385,6 @@ export function ModelSummaryDashboard({
|
||||
<th className="min-w-[92px] px-3 py-2 text-right text-violet-700">
|
||||
{copy("gaussianMu", isEn)}
|
||||
</th>
|
||||
<th className="min-w-[420px] max-w-[520px] px-3 py-2 text-left text-emerald-700">
|
||||
{copy("marketMatch", isEn)}
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody className="divide-y divide-slate-100 bg-white">
|
||||
|
||||
@@ -260,18 +260,20 @@ export function runTests() {
|
||||
modelSummarySource.includes("hasModelSummaryForecastData") &&
|
||||
modelSummarySource.includes("Gaussian μ") &&
|
||||
modelSummarySource.includes("高斯 μ") &&
|
||||
modelSummarySource.includes("Market Option Probability") &&
|
||||
modelSummarySource.includes("市场选项概率") &&
|
||||
modelSummarySource.includes("Gaussian Distribution Probability") &&
|
||||
modelSummarySource.includes("高斯分布概率") &&
|
||||
modelSummarySource.includes("expandedCityKeys") &&
|
||||
modelSummarySource.includes("toggleExpandedCity") &&
|
||||
modelSummarySource.includes("aria-expanded") &&
|
||||
modelSummarySource.includes("ChevronRight") &&
|
||||
modelSummarySource.includes("probabilityBuckets.map") &&
|
||||
!modelSummarySource.includes("Market Option Probability") &&
|
||||
!modelSummarySource.includes("市场选项概率") &&
|
||||
!modelSummarySource.includes("Detailed Probability") &&
|
||||
!modelSummarySource.includes("详细概率分布") &&
|
||||
modelSummarySource.includes("Market Match") &&
|
||||
modelSummarySource.includes("市场匹配") &&
|
||||
modelSummarySource.includes("marketMatches.map") &&
|
||||
!modelSummarySource.includes("Market Match") &&
|
||||
!modelSummarySource.includes("市场匹配") &&
|
||||
!modelSummarySource.includes("marketMatches.map") &&
|
||||
!modelSummarySource.includes("formatModelSummaryEdge") &&
|
||||
!modelSummarySource.includes("marketProbability") &&
|
||||
!modelSummarySource.includes("edgePercent") &&
|
||||
|
||||
Reference in New Issue
Block a user