Sandrine Guétin
Version propre de DeepVest
2106f78
raw
history blame
7.01 kB
/******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ 698:
/***/ ((__unused_webpack_module, exports) => {
var __webpack_unused_export__;
/**
* @license React
* react-jsx-runtime.production.js
*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"),
REACT_FRAGMENT_TYPE = Symbol.for("react.fragment");
function jsxProd(type, config, maybeKey) {
var key = null;
void 0 !== maybeKey && (key = "" + maybeKey);
void 0 !== config.key && (key = "" + config.key);
if ("key" in config) {
maybeKey = {};
for (var propName in config)
"key" !== propName && (maybeKey[propName] = config[propName]);
} else maybeKey = config;
config = maybeKey.ref;
return {
$$typeof: REACT_ELEMENT_TYPE,
type: type,
key: key,
ref: void 0 !== config ? config : null,
props: maybeKey
};
}
__webpack_unused_export__ = REACT_FRAGMENT_TYPE;
__webpack_unused_export__ = jsxProd;
__webpack_unused_export__ = jsxProd;
/***/ }),
/***/ 848:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
if (true) {
/* unused reexport */ __webpack_require__(698);
} else {}
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/************************************************************************/
var __webpack_exports__ = {};
// UNUSED EXPORTS: default
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(848);
;// ./src/interface/components/ui/card.tsx
function card_Card(_a) {
var children = _a.children, _b = _a.className, className = _b === void 0 ? '' : _b;
return (_jsx("div", { className: "bg-white shadow rounded-lg overflow-hidden ".concat(className), children: children }));
}
function card_CardHeader(_a) {
var children = _a.children, _b = _a.className, className = _b === void 0 ? '' : _b;
return (_jsx("div", { className: "px-6 py-4 border-b border-gray-200 ".concat(className), children: children }));
}
function card_CardTitle(_a) {
var children = _a.children, _b = _a.className, className = _b === void 0 ? '' : _b;
return (_jsx("h3", { className: "text-lg font-semibold text-gray-900 ".concat(className), children: children }));
}
function card_CardContent(_a) {
var children = _a.children, _b = _a.className, className = _b === void 0 ? '' : _b;
return (_jsx("div", { className: "px-6 py-4 ".concat(className), children: children }));
}
;// ./src/interface/components/market-analysis.tsx
var MarketAnalysis = function (_a) {
var data = _a.data;
var getSentimentColor = function (sentiment) {
if (sentiment > 0.6)
return 'text-green-600';
if (sentiment < 0.4)
return 'text-red-600';
return 'text-yellow-600';
};
return (_jsxs("div", { className: "space-y-6", children: [_jsxs(Card, { children: [_jsx(CardHeader, { children: _jsx(CardTitle, { children: "Conditions de march\u00E9 actuelles" }) }), _jsx(CardContent, { children: _jsxs("div", { className: "grid grid-cols-3 gap-4", children: [_jsxs("div", { className: "text-center", children: [_jsx("h3", { className: "text-sm font-medium text-gray-500", children: "R\u00E9gime" }), _jsx("p", { className: "mt-1 text-lg font-semibold text-gray-900", children: data.currentRegime })] }), _jsxs("div", { className: "text-center", children: [_jsx("h3", { className: "text-sm font-medium text-gray-500", children: "Sentiment" }), _jsxs("p", { className: "mt-1 text-lg font-semibold ".concat(getSentimentColor(data.marketSentiment)), children: [(data.marketSentiment * 100).toFixed(1), "%"] })] }), _jsxs("div", { className: "text-center", children: [_jsx("h3", { className: "text-sm font-medium text-gray-500", children: "Volatilit\u00E9" }), _jsxs("p", { className: "mt-1 text-lg font-semibold text-gray-900", children: [(data.volatilityLevel * 100).toFixed(1), "%"] })] })] }) })] }), _jsxs(Card, { children: [_jsx(CardHeader, { children: _jsx(CardTitle, { children: "M\u00E9triques de risque" }) }), _jsx(CardContent, { children: _jsxs("div", { className: "grid grid-cols-3 gap-4", children: [_jsxs("div", { className: "p-4 bg-gray-50 rounded text-center", children: [_jsx("h4", { className: "text-sm font-medium text-gray-500", children: "VaR (95%)" }), _jsxs("p", { className: "mt-1 text-lg font-semibold text-gray-900", children: [(data.metrics.var95 * 100).toFixed(1), "%"] })] }), _jsxs("div", { className: "p-4 bg-gray-50 rounded text-center", children: [_jsx("h4", { className: "text-sm font-medium text-gray-500", children: "Ratio de Sharpe" }), _jsx("p", { className: "mt-1 text-lg font-semibold text-gray-900", children: data.metrics.sharpeRatio.toFixed(2) })] }), _jsxs("div", { className: "p-4 bg-gray-50 rounded text-center", children: [_jsx("h4", { className: "text-sm font-medium text-gray-500", children: "Beta" }), _jsx("p", { className: "mt-1 text-lg font-semibold text-gray-900", children: data.metrics.beta.toFixed(2) })] })] }) })] }), _jsxs(Card, { children: [_jsx(CardHeader, { children: _jsx(CardTitle, { children: "\u00C9volution des indicateurs" }) }), _jsx(CardContent, { children: _jsx("div", { className: "h-96", children: _jsx(ResponsiveContainer, { width: "100%", height: "100%", children: _jsxs(LineChart, { data: data.history, children: [_jsx(CartesianGrid, { strokeDasharray: "3 3", className: "stroke-gray-200" }), _jsx(XAxis, { dataKey: "date", className: "text-xs" }), _jsx(YAxis, { className: "text-xs" }), _jsx(Tooltip, {}), _jsx(Legend, {}), _jsx(Line, { type: "monotone", dataKey: "volatility", stroke: "#ef4444", name: "Volatilit\u00E9", strokeWidth: 2, dot: false }), _jsx(Line, { type: "monotone", dataKey: "sentiment", stroke: "#3b82f6", name: "Sentiment", strokeWidth: 2, dot: false })] }) }) }) })] })] }));
};
/* harmony default export */ const market_analysis = ((/* unused pure expression or super */ null && (MarketAnalysis)));
/******/ })()
;