📄 jumpcallhedgestatistics.java
字号:
jPanel3.add(jLabel7); jSlider8.setMaximum(500); jSlider8.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() { public void mouseDragged(java.awt.event.MouseEvent evt) { jSlider8MouseDragged(evt); } }); jPanel3.add(jSlider8); jSlider9.setMaximum(2000); jSlider9.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() { public void mouseDragged(java.awt.event.MouseEvent evt) { jSlider9MouseDragged(evt); } }); jPanel3.add(jSlider9); jSlider10.setMaximum(20000); jSlider10.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() { public void mouseDragged(java.awt.event.MouseEvent evt) { jSlider10MouseDragged(evt); } }); jPanel3.add(jSlider10); jPanel3.add(jLabel8); jSlider11.setMaximum(200); jSlider11.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() { public void mouseDragged(java.awt.event.MouseEvent evt) { jSlider11MouseDragged(evt); } }); jPanel3.add(jSlider11); jSlider12.setMaximum(200); jSlider12.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() { public void mouseDragged(java.awt.event.MouseEvent evt) { jSlider12MouseDragged(evt); } }); jPanel3.add(jSlider12); jSlider13.setMaximum(50); jSlider13.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() { public void mouseDragged(java.awt.event.MouseEvent evt) { jSlider13MouseDragged(evt); } }); jPanel3.add(jSlider13); jSlider14.setMaximum(50); jSlider14.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() { public void mouseDragged(java.awt.event.MouseEvent evt) { jSlider14MouseDragged(evt); } }); jPanel3.add(jSlider14); jPanel3.add(jLabel9); jButton1.setText("go"); jButton1.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { jButton1MouseClicked(evt); } }); jPanel3.add(jButton1); jSplitPane2.setRightComponent(jPanel3); jPanel1.add(jSplitPane2, "card2"); jPanel4.setLayout(new java.awt.BorderLayout()); jProgressBar1.setPreferredSize(new java.awt.Dimension(148, 20)); jProgressBar1.setDoubleBuffered(true); jProgressBar1.setStringPainted(true); jPanel4.add(jProgressBar1, java.awt.BorderLayout.NORTH); jTextField15.setEditable(false); jTextField15.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jTextField15ActionPerformed(evt); } }); jPanel4.add(jTextField15, java.awt.BorderLayout.SOUTH); jTextArea2.setEditable(false); jTextArea2.setBackground((java.awt.Color) javax.swing.UIManager.getDefaults().get("textHighlight")); jScrollPane2.setViewportView(jTextArea2); jPanel4.add(jScrollPane2, java.awt.BorderLayout.CENTER); jButton2.setText("OK"); jButton2.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { jButton2MouseClicked(evt); } }); jPanel4.add(jButton2, java.awt.BorderLayout.EAST); jPanel1.add(jPanel4, "card3"); jSplitPane1.setRightComponent(jPanel1); getContentPane().add(jSplitPane1); pack(); setTitle("Call-Hedge statistics"); setBounds(5,50,670,500); } // end constructor private void jTextField15ActionPerformed(java.awt.event.ActionEvent evt) { // Add your handling code here: } private void jCheckBox3MouseClicked(java.awt.event.MouseEvent evt) { quotient_deltas=true; } private void jButton2MouseClicked(java.awt.event.MouseEvent evt) { CardLayout card=(CardLayout)jPanel1.getLayout(); card.next(jSplitPane2.getParent()); } private void jCheckBox2MouseClicked(java.awt.event.MouseEvent evt) { monte_carlo_deltas=true; } private void jCheckBox1MouseClicked(java.awt.event.MouseEvent evt) { minimum_variance_deltas=true; } private void jButton1MouseClicked(java.awt.event.MouseEvent evt) { mainComputation(); //see bottom } private void jSlider10MouseDragged(java.awt.event.MouseEvent evt) { nBranch=jSlider10.getValue(); jTextField10.setText("Number of branches per path = "+nBranch); } private void jSlider9MouseDragged(java.awt.event.MouseEvent evt) { nPaths=jSlider9.getValue(); jTextField9.setText("Number of paths = "+nPaths); } private void jSlider8MouseDragged(java.awt.event.MouseEvent evt) { dt=(double)jSlider8.getValue()/1000; T=(int)Math.round(Tc/dt); jTextField8.setText("Rehedge interval (years) = "+dt); } private void jSlider7MouseDragged(java.awt.event.MouseEvent evt) { r=(double)jSlider7.getValue()/100; jTextField7.setText("Risk free rate = "+r); } private void jSlider6MouseDragged(java.awt.event.MouseEvent evt) { Tc=(double)jSlider6.getValue()/1000; T=(int)Math.round(Tc/dt); jTextField6.setText("Time to expiration (years) = "+Tc); } private void jSlider5MouseDragged(java.awt.event.MouseEvent evt) { K=1.0*jSlider5.getValue()/100; jTextField5.setText("Strike = "+K); } private void jSlider4MouseDragged(java.awt.event.MouseEvent evt) { q=(double)jSlider4.getValue()/100; jTextField4.setText("Dividend yield = "+q); } private void jSlider3MouseDragged(java.awt.event.MouseEvent evt) { sigma=(double)jSlider3.getValue()/100; jTextField3.setText("Volatility = "+sigma); } private void jSlider2MouseDragged(java.awt.event.MouseEvent evt) { mu=(double)jSlider2.getValue()/100; jTextField2.setText("Market drift = "+mu); } private void jSlider1MouseDragged(java.awt.event.MouseEvent evt) { S_0=(double)jSlider1.getValue()/100; jTextField1.setText("S(0) = "+S_0); } private void jSlider14MouseDragged(java.awt.event.MouseEvent evt) { triggerPercent=jSlider14.getValue(); jTextField14.setText ("% price change triggering hedge trade = "+triggerPercent); } private void jSlider13MouseDragged(java.awt.event.MouseEvent evt) { nHedgeTrades=jSlider13.getValue(); jTextField13.setText ("Number hedge trades (periodic hedge) = "+nHedgeTrades); } private void jSlider11MouseDragged(java.awt.event.MouseEvent evt) { fixed_trc=1.0*jSlider11.getValue()/1000; jTextField11.setText("Fixed transaction cost = "+fixed_trc); } private void jSlider12MouseDragged(java.awt.event.MouseEvent evt) { prop_trc=1.0*jSlider12.getValue()/1000; jTextField12.setText("Proportional transaction cost = "+prop_trc); } /** Exit the Application */ private void exitForm(java.awt.event.WindowEvent evt) { System.exit(0); } /** * Initialize defaults, show main window */ public static void main(String args[]) { //set defaults in case user does not choose T=20; dt=0.05; Tc=T*dt; nPaths=500; nBranch=5000; nHedgeTrades=12; triggerPercent=5; S_0=50; mu=0.3; sigma=0.2; q=0.0; r=0.05; K=55; minimum_variance_deltas=false; monte_carlo_deltas=false; quotient_deltas=false; JumpCallHedgeStatistics window=new JumpCallHedgeStatistics(); jCheckBox1.setSelected(false); //minimum variance deltas: no jCheckBox2.setSelected(false); //monte carlo deltas: no jCheckBox3.setSelected(false); //quotient deltas: no jTextField14.setText ("% price change triggering hedge trade = "+triggerPercent); jTextField13.setText ("Number hedge trades (periodic hedge) = "+nHedgeTrades); jTextField12.setText ("proportional transaction cost="+prop_trc); jTextField11.setText ("Fixed transaction cost = "+fixed_trc); jTextField10.setText ("Number of branches per path = "+nBranch); jTextField9.setText("Number of paths ="+nPaths); jTextField8.setText("Time step (years) ="+dt); jTextField4.setText("Dividend yield ="+q); jTextField3.setText("Volatility ="+sigma); jTextField2.setText("Market drift ="+mu); jTextField1.setText("S(0) ="+S_0); jTextField7.setText("Risk free rate ="+r); jTextField6.setText("Time to expiration (years) = "+Tc); jTextField5.setText("Strike K = "+K); jSplitPane2.setVisible(true); window.show(); } // Variables declaration - do not modify private static javax.swing.JSlider jSlider4; private static javax.swing.JSlider jSlider3;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -