|
改了一下,这次运算应该没啥问题了
, l% `: \/ }6 M
& L+ p0 q4 h4 ^
" N2 l% E4 t( | p$ Y8 Jcapture program drop hello
2 U7 t: l, o# m: W7 ^5 ]* m: s
! W# L2 n0 S) Y5 A9 n+ kprogram hello! w) @9 I+ ~+ m/ Y4 a5 w) S- B
) q' `/ U$ D* {- D& ? quietly {- s/ T- S# \/ f0 O4 v. |4 n
* Z9 R, H( A8 U# I- o8 p2 L8 G
clear0 N1 H! X- S% Q5 c% k; d7 r
* i7 a$ K, H1 t$ Q
cd e:\finance\stock\20110101\source
, E1 |; \5 I' P# V& S; _. }5 l6 o
insheet using `1'.txt
( i3 W% {' H: V4 m! B
9 E" T8 p! C/ V9 P9 a0 f! N keep if v5>0- F( A9 i$ b3 s) ~
& e1 [: u8 H, m% b* | gen vt=_n4 E4 i0 E) B% v
; _2 h! ^' c( w4 F+ E tsset vt, R/ P& h+ o; [) A! U; l
. F% s9 C6 S# @; Y; ?( [. A* R0 w gen zf=D1.v59 B) f% P* X- ^8 k
1 L; I' N4 j7 b/ l R% c
gsort -v1
+ N" N1 i% _0 s" c2 A
2 H5 f$ p# o4 z) ? gen avol=v7/v5" J8 c! {- r6 y7 H0 _, }* A
( H5 r8 P# [) d* w8 J0 I
keep if avol>0/ z* V( k! p3 I0 N* V4 {7 i
( [4 B' m4 h. y F4 [. x0 P drop vt# n$ L$ F8 K, j/ |, T
, |5 m; u- p4 q1 W9 l6 g
gen vt=_n
4 J, R" I0 u3 j8 s3 p- d5 q. u 7 u- [, u7 C- `
tsset vt/ a$ U% B. R2 u
" ?! L- }1 g; e8 c8 O1 A% } sum v5 [aw =avol]0 Z2 h6 \2 e; T! i( ~) [- h) t
9 W, d3 g0 y) @" \& Q9 Z( r gen amean=r(mean) in 1
( H/ i6 w# i4 t' g, h, G/ ` ] 4 {: O2 `4 P. S1 f$ D( n& D1 g$ L
* 总加权平均值 amean
+ F4 l" t" d( o6 S9 K, k/ G + w6 Z5 r$ U8 V _7 f
9 V( _& s# l. S! W8 w, R keep in 1/240. L! u: q. O. Z) }
4 ^, @4 e2 ^7 k- N& ^ sum v5 [aw =avol]7 `; U8 k. h6 ]
3 R% O3 a* I) z0 f, A5 T gen mean240=r(mean) in 1& s- Z, ~% c0 P3 R4 n
2 [$ v9 E! q# C9 C% k/ |9 F
*240加权平均值 mean240
9 o; k* V0 o+ M6 ]
# g3 Q: C) x5 i9 x! Y+ S# V set obs 500
6 a. Q J; C6 M+ C4 s
) E1 l1 Y% f9 m$ N9 ?7 k. l5 V kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph/ X2 J; k$ G# @$ p! W2 W1 W
, h7 g0 v6 w. }# v7 G# l
*240 kdensity(dx240 dy240)
& C( f- `7 u7 h- D
# L, {' r2 C) O: s8 G5 r sum dy240
* T9 x j9 C8 E- W o- g
- d8 b. Z: K' Y P; L gen yxis=r(max) in 1) y1 p1 m! d; B+ f. z9 w9 C0 B1 x
$ v2 r* y/ E$ e- ~ s6 s% f
gen yxis2=yxis/2
/ h% p; b9 w* [# E 6 D4 @* n3 F/ Y; H( I9 @* y0 [
*yxis" n5 l \1 u* Q N+ p* i; x/ b
; m) b* o1 j- x% Y3 A, K3 g; S
gen dy240max=r(max)& J+ d5 o% O" b0 z5 \# m
6 d: h( z7 t' K" b( `- d gen dy240minp=r(min)
1 f4 e( H: N& a1 V* `. Y) Q) ]3 ?+ D
1 _3 }# S3 L/ F( B+ X `6 D6 R gen vtt=_n3 t9 D" O4 H! f4 k, |! |# F
d& Z6 f% c6 z* e+ r) Y6 u' P
tsset vtt$ R. a( G6 t) o( r: P
9 P3 [, X3 ` c. ^ gen ddy240=D1.dy240/D1.dx240/ E3 H$ e- i% c1 i" Q [. @
( w: c( f: N: X+ ~
sum ddy240
6 V$ P7 Y9 K% N5 b/ O9 I' Y" F ( B$ I2 Z3 b6 b& t0 L% I' V
gen ddy240max=r(max)
1 E c% P x! D% h. j+ b, P 5 _. g8 Z; C5 `" T1 P5 t- [
gen ddy240min=r(min)
/ Z0 o; g6 }# N0 ? - z! a, l/ s. C. O& r1 s
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
, o' B7 |; K$ ]9 W, A3 k , d. l j! D& P1 h4 m
sum ddy240g8 ~' {$ U8 u% Y5 }4 h0 C5 J
' F N4 v$ r) t3 m/ Q
gen yxis3=r(min) in 1
5 b+ M4 ]! o6 _
: M. j+ X2 `3 D0 y- E$ l$ O' Y gen yxis4=0 in 17 |/ @6 E q- v* {
3 t& q) N" g4 }' C1 Z1 O# i *ddy240g ! t0 k8 G8 Q3 W
) v _5 s4 X9 [/ i5 z/ P ' @9 R! {" G1 c6 m5 d
preserve
! Z4 F6 p& E# a
) a2 n! _0 {4 G1 A$ ~ sum v5 [aw =avol]1 Y' o _, { h6 W( j' K+ Z& ?# F
/ ], ]% a5 |+ q4 [
keep if dx240<r(mean)
: N) ^& G8 T. ^* d 6 w! N8 ]5 i2 ]3 E- s4 M. n( D4 S' C
sum ddy240
" ~8 e, _& t$ Y) A" K
. _8 z7 [5 N% ^: w8 k7 N+ B2 f! ]! k if r(min)<0 {% \% U6 G- B3 f/ ^5 y/ h
- a3 S! o' p' o# ^8 z. Z
keep if ddy240<=00 T# P5 z6 }9 z; u. w
/ {5 r7 j5 a, s$ f count# C/ I0 {3 |# R3 p# l- ~) i Q' `
: g% e$ v. f, J( L E
if r(N)>2 {9 S* |+ G+ P W
' H |% w+ y5 \
pkexamine dx240 dy240
0 q3 ?/ O6 D8 [; L4 |! t! f9 Q5 b
9 G, `7 R* a3 U' V local tempminp=r(tomc)
a, ^ g. U1 k5 f7 t3 M restore 4 B0 o8 P2 @( S9 B+ g0 a x
}
7 [1 c2 [/ I, T
( u; @2 f) J& X else {
) S/ M0 h2 j' ]/ C$ u! a) n # L* j* _2 F1 C+ b
di "cannot find minp"
l+ H8 v ]$ m2 A $ k1 M1 R4 k7 { L: p! D2 _
restore 5 T( e$ c" H% P0 H
sum dx240' p. B* e: c, K, P( W3 R
local tempminp=r(mean)
$ B0 Q# i9 k- v8 k2 {) [ U) @4 T6 X
3 ], f5 ^1 h$ k E' h5 ^ }0 g w- k& {. D: q
}
# A" n7 m( P1 H else {9 T- Q/ `. K {/ ]4 R
# ~3 ^7 v- S: h0 J" X/ v
keep if ddy240<=r(min)
/ ^; B- w+ D/ J; P; B- [
. {; |9 U0 e+ R& Z$ d sum dx240
+ o6 W' S* b' s5 c, q' [5 v) } , \+ w% ?* Q, T- s
local tempminp=r(min)& x: I7 M9 o0 ^
restore
1 _' x' T9 P) b% l }: n' i9 X6 X# d% `1 t3 L- B
1 e j" q! V3 l T$ t
0 m" I5 Y5 i j' H2 t* _% Q6 n9 i+ [! z* Z- z
gen minp=`tempminp' in 1
+ {0 t$ J% r, I# A! b8 q *240 minp0 \$ s; t- {5 k, R3 I" z
4 T' B& J2 z% G/ Z- h/ F8 {
, d" y. g/ W/ j7 T+ B
" g5 d+ _, A& Q7 Z3 X8 L- ?. [% q$ M preserve
5 T8 K5 S/ T( v' G' u/ N1 J1 c0 \" _0 Z ( z0 |) B3 m6 t
sum v5 [aw =avol]
* y9 F4 Z0 o- O$ Q ; [: ?- r2 c" g/ l q/ u# r, }
keep if dx240>r(mean)
; c X- R" M" |0 |7 b% F B
# {5 s& E5 i% I. c3 W sum ddy240
& k% D N4 n/ S( ] 3 L; K! l8 O! e6 v- h& y. @
if r(max)>0 {
5 v) ? p! g3 I1 w" u: I 0 `7 O1 x& E3 e9 @' z8 }* n0 P7 {
keep if ddy240>=0
" j# [" v' G7 O5 f
: ~$ d. N- ~0 r1 `( v* p8 m( Q$ T) w count# x5 ?. }& W" V; S4 e% ]
2 v/ p# C/ R3 z- P& W. h
if r(N)>2 {) h6 O) N2 o' J) ~
" h3 s2 W) `6 R. I# ]4 q
pkexamine dx240 dy240
- h# N6 H7 Z2 ~% h : {1 v. u5 t8 I3 H! L$ S+ s
local tempmaxp=r(tomc)
/ P0 L5 h4 Q1 Z3 h2 H- z restore
% D5 [; N$ F" |* v2 Y# e }3 p. g' b7 H% h! ^8 d. {! g
2 `" P+ }0 b/ s. N. W) E# T
1 ~4 K2 s& i+ t
else {
. X9 p) P: z) D* i/ J restore
( u) {2 | b; X {# b7 I# S di "cannot find maxp"- ]+ j; i2 R: T
/ L/ q7 s# q1 i. e3 ^7 { 7 V5 N1 J+ b$ r1 H
sum dx240
2 y& ^% W# \, q3 z local tempmaxp=r(mean)
: V- |8 b1 o; n7 Q" e, E
( I' a& J: g5 s9 H. Q8 H$ D }
3 Z1 i0 F# r5 S: ^0 a + w+ j8 b9 Y" F' V: ~( Y
}
' r/ H/ L* i7 Z5 p$ ?2 Q* M, l! a, H* i
0 U4 {* d3 {' `) S4 @+ o else {
/ i$ J: H ^( r2 }1 R7 v
/ ]3 ]( R" p7 [7 O8 U5 ~" v keep if ddy240>=r(max)
9 x7 a o% g: K' y7 i* @3 T! d/ J1 |9 N2 D
' n# r& `. T' M! _! F* K: @' J sum dx240$ e+ l3 b0 p) z' ~! r6 ^
3 _& {$ m' n8 o local tempmaxp=r(max)
: f8 l9 r! `4 }: K: @/ r) B restore ( a8 x- Z& y" n' z. I9 s$ y
}
4 X4 }; X" r1 z1 x8 x' }
' U! }$ K+ E, E r a. Y' x- C, _$ Z l6 S% ?4 Q) T
- w0 o! D+ q. p) Y
. j |$ ^9 D, i9 g4 Y: I" A6 I gen maxp=`tempmaxp' in 1
% p! S7 y/ `, _- M1 q. C2 D: y$ Q3 d 4 V* i( Z" X8 C6 h8 }0 T
*240maxp
( I9 b/ O( S% g
/ ?7 @. y6 Q1 ]9 J3 y
. ?. i e3 @3 _6 M- n$ [ *-------------ddy240pminp左侧高峰值-----) Q9 I- i; u5 Q1 G# R5 |
# o9 L" \$ `9 D' ~" E/ Y$ R7 e3 p preserve
: t6 G0 i* o; s! P; l% B - q. f, U1 g0 o4 y
keep if dx240<`tempminp', P, _1 |: Q2 i P. a" Y
2 n/ \8 y& @' K8 ^+ z1 g1 L5 d- q" K7 S
keep if ddy240>0
% g; b- L; k' v. k9 c1 K
* I* f! P, {+ X# R8 ~ count, |9 i0 B- ~$ i% \
E& e. X6 d: Z9 a+ B1 R, U* L
if r(N)>2 {
" n: k4 T* a# U8 g" F# S $ g m/ Q; X( a6 `1 ]+ F
pkexamine dx240 ddy2406 V9 v0 }7 G: C& D: j* a! B2 x
7 k( e0 Y+ X1 E L( i7 _- \1 \
local tempminphddy240=r(tomc)
- o n `8 |# F, X# w5 ~ restore( Q d3 y. d8 G: \- l8 y
}* O: X* s! ~' p
& R) M m5 { D% _+ m, K! s) Z else {
8 I0 q) G( R* A3 L restore
/ J* i; \. M6 Z5 g5 o3 o8 M3 G di "cannot find pminphddy240"+ \$ R0 F% P: s: M$ |
% S2 p& E. f* V' X% T3 g$ v' L1 _ ' z/ F% }; o) h" U, G9 Q9 @
sum dx240! h% Q, [4 |/ L7 a0 N2 x
local tempminphddy240=r(mean)
, l6 {8 W0 h. Y
* \; W& S4 D; C) x# O+ a% r! Q$ w
. @* L, q8 q! h9 R V; r) ` }
" T2 h1 `, K. k& }3 ~
* n3 \- L% B [ ^9 x; T$ q 2 k; L) f n6 x! y% J( k! m8 |5 e
. N: N9 E8 p( b/ q1 L6 P- J
: ?. O2 D* R8 @- U1 M7 U 6 A( g. j, Z: s# Y( m8 E
& ^! v' p: A" t1 T) x
gen pminphddy240=`tempminphddy240' in 1
5 K, {: G7 t0 H. m7 ]& H
( D$ g. C6 `7 ?8 L z# F
) c* O P+ ~" H" ~. q$ D2 O *-------------ddy240pminp右侧低峰值 -----------------' f0 ]' w5 {# ]& q9 I4 U2 _
preserve 3 I% x% N5 t: {& c$ m- P, C
- c; n2 }2 r: e4 s& n
keep if dx240>`tempminp'' O* I9 R' x2 \% d T- U) b5 {
9 u% I; T d( C- a keep if dx240<`tempmaxp'
" R! ` m0 y) |2 P6 N
, R, x0 K0 g( c keep if ddy240<04 G( C6 Z9 r3 C0 x: D0 t4 @; G
% C7 U5 M, L1 L& Q% T. L
gen temddy240=-ddy240
4 j# N2 A1 i" g/ f5 s- Z2 l9 D$ Y) N " \; Z9 s- e+ F3 R- ]( ~
count+ c7 e* b0 E1 V. f7 q- e( R4 D
1 q0 V( Z; i8 X+ |" C, K if r(N)>2 {
( [* O6 V- P& x7 A& j* E+ L# d! @ 7 I8 b' o2 Y: F" O1 T }, L1 i f
pkexamine dx240 temddy240
0 m/ o$ y1 Z( r4 \/ x, D 2 b4 ^* }$ T4 c0 h
local tempminplddy240=r(tomc)
& o7 K% e0 t5 P- c7 L+ F( I# P restore
, T6 u8 |, }6 @& o }
1 J0 X; S/ ~6 Z5 u& d/ V ' F) V6 S; I! \4 s7 B4 u& u8 m. A
else {
; N2 w/ I* h9 h2 d' Q& C) F) D " ` _8 o' f. X# K/ }2 `2 `+ v$ }
di "cannot find pminplddy240"8 s: Y2 J* t" E5 h
restore
, g! n$ |1 e& u7 {
$ c4 T1 j; ^* ]' D! y8 p sum dx240# d& X: M& D3 W; a* s! {. D
local tempminplddy240=r(mean)
8 R! }% i% u0 L: O 3 \! l W* C3 B/ @
3 V& l5 s$ k2 _
}
8 O+ K5 t; V8 k: ?2 |8 I4 K 2 y# m( s! F/ a3 ~& m5 x" T7 S
* g8 w# q5 d' l' Z$ {" K+ z) R6 j
4 z! b. j/ n$ |
& F: E5 B: K3 K) H5 Z ; l1 c% n" b# e, T
gen pminplddy240=`tempminplddy240' in 1
f0 n1 ` ^- i: ?1 f ( [% h/ J1 Z L6 D( c1 \+ L/ b+ R
*-------------ddy240pmaxp左侧高峰值 -------------------2 l+ O/ n8 _! g9 P6 I5 r- c
7 z+ a% B" F" I/ Z5 A+ y# e
preserve 1 Z& _) G$ Q6 i U
: }/ T- s( \! X( ~8 `3 z" [% I/ ` keep if dx240>`tempminp'
3 @' j1 g- m8 q2 t+ r
& a6 f. z- t2 Z keep if dx240<`tempmaxp'
5 j9 d F4 ^, V2 ~! C / S$ B5 w/ i6 ?
keep if ddy240>0
1 M' R5 z5 E" ]2 T9 E count, l o: h5 ^' r% I4 R: K7 f
& f/ B. f3 b' z. S
if r(N)>2 {! ~3 a! S8 j# s6 q& ^
9 J. W, x/ ` b5 T$ B pkexamine dx240 ddy240
! z1 |9 F6 x2 w. l, o2 \. ] + m. j5 }/ \# t; F0 _
local tempmaxphddy240=r(tomc) 9 J" T. P3 s% C$ T
, i3 d* u% c' W6 j2 r restore6 ~8 K- ?$ \0 U5 l: M
}
d k, h7 m' J# ~/ O- o J
/ |& F+ \# H6 t8 Z s/ t0 i4 W else {6 {* |# b$ H W
3 p( }1 E. ~' T" c! p
di "cannot find pmaxphddy240"' z9 J7 p: y3 Y* @ R6 a3 P
restore
6 j v& L7 v; [$ p& ` {2 c: I) z& I* \
sum dx2406 L) d1 y+ U/ P- L3 p0 t
local tempmaxphddy240=r(mean)
, M( ]' M8 O, ~2 b6 m- e & i. p/ W5 [. K9 r) o
& `7 c: b& f# |1 l l$ f }
+ W8 {$ @$ o/ h, F
. O) N- o* ~9 b- y+ E' r; F0 c 9 _( p+ b9 Q8 h9 ?* R; u
6 y5 X3 _! b, \- F. O
6 w8 |' }5 l2 W7 |' [* W
9 [' y# j3 K* @- ]5 b
# y4 O- G ]0 K" w% [! m% o gen pmaxphddy240=`tempmaxphddy240' in 1* I4 ]! }# M3 V) {& }+ w. \
7 {% n- h% ^ h( ?: U
' g" J. F [' K7 h3 ^$ v8 N/ ~
*-------------ddy240pmaxp右侧低峰值 -------------------$ _' I' D6 n; X) i0 y
: {& T6 v( p% R/ |2 a: Z; x preserve
$ s8 w' S* |# e
- I3 E" u, G- w& J/ M Y: ] keep if dx240>`tempmaxp'8 W7 a/ R i q8 B+ F+ J
; R- @. U7 G$ O7 U: m' C gen temddy240=-ddy240
; _; Y7 O8 z( }& B5 `
) N3 P+ A+ }6 @* h, P keep if temddy240>0
4 `$ E9 Q. p% M6 c; k8 i
1 u7 A% I/ u9 w; ?6 P( s count
# H! A6 ?( W/ X4 U$ N; ]! Q& \ 4 Q$ j& Y0 i$ N- j& l& C
if r(N)>2 {
& T: n2 M+ _& g1 N1 C" U! d 7 ^: x* N$ N$ {3 d8 c
pkexamine dx240 temddy240
7 Z+ J- l& ~9 m& C/ N; U% l! Y9 c 5 R/ ^3 F( G( b, @2 Q/ Y7 J
local tempmaxplddy240=r(tomc) 4 g/ L) R) w; U' Z
restore, Q# W5 K0 E4 {. g+ q% p' k
}. Q: {/ U, [5 o5 W2 r F7 j' a! Q
& t: E$ Q4 p1 D% ~' n) q else {* e$ z! T6 b! M
restore
4 z# V: s! {8 {' ` di "cannot find pmaxlhddy240"
$ C! f* f1 @$ l- I# ~1 L % F* s+ F9 C; M5 g& C- Q+ ~4 u
& S5 j" ^- K) c# v3 ~3 d* X
sum dx240
: u* e8 U1 K) [; w$ I& Y local tempmaxplddy240=r(mean) in 14 {+ [1 K$ u3 o
3 Y7 I8 Y2 T& i" I+ D
+ ^& g2 ?: E& s, G: s0 m1 s( `0 ? }
& C! M. `3 M3 v' c8 r1 B" J) e8 D
% F% Z4 e3 W. V- [# {. Z
/ E0 B- J+ m. ?# V( a
- b7 m: {+ S! x9 |( ^% U6 ^7 d
6 X2 d/ E2 ~% ?$ w5 z0 s; Q % B+ M# J6 A0 h% r
; ^. `4 P: _1 Q* ^9 p gen pmaxplddy240=`tempmaxphddy240' in 1
# a9 u0 B: p5 q9 v8 H/ H $ z ^% e( t3 o6 H; j3 w
*------------------------------------- p& _: M, F! M" G# Q, N. J
6 H+ y v4 q+ S& R
gen price5d=v5 in 1/20) R* l6 n0 I# L: Q0 `- m. L
4 c, X; [# t6 P1 B/ W O6 m1 H# X g gen price5yy=_n in 1/20
: h- ^8 [, O: W) f2 j
* J' W* C1 n: t; J# k3 a gen price5y=price5yy*(dy240max-dy240min)/206 W' e E+ K* w t3 E
% f/ K: i2 X: ^; W8 c5 ^* U
*price5y &price5d
4 Q! a9 J' U4 ]& ^2 S
: v; n4 J- ~3 ^/ ] u) S2 ~ gen priceny=price5y in 1
3 P0 o3 e1 b, Q3 ? f" ` : Z% f4 U# o E) p2 K/ S
gen pricen=v5 in 16 C% m1 _+ ~5 C# L. f
& W/ e1 \/ _ U; V
; w+ h; `: q: H I& p
*priceny &pricen
/ H; ^- Y; f. O- |1 p/ [" f
; U: Q- b' U2 F7 D
# \/ O2 `) a3 j! T *-------------------------graph------------------" d' e1 n* l. X1 r
6 Z& O& T6 G- F$ `: W tw(line dy240 ddy240g dx240)(spike yxis amean,lc(blue))(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)) n( Y4 B7 C2 `6 S" f( o0 z
; ?& a! P2 x8 Q* ---------可选项目----------------------; s# u( j7 d+ f/ k t: H
* y# _5 Y) n z" Z( d6 M}. B0 w8 X8 m H' I5 V
end s1 ~+ \" s% t9 Z0 i' b. D
|
|