|
改了一下,这次运算应该没啥问题了1 Q5 ^$ @: r' g4 {* ?5 Z$ t' b
, N. P0 x( A, t8 ?. P1 ^5 w
0 F. b/ k! ~2 u a- Ocapture program drop hello
- [/ a H5 N5 f* L
# O$ U7 D7 U; V: w' g$ P; ^2 jprogram hello
: v6 `- f) d/ H1 L* @: O9 o8 p9 r( I) s+ Z& |5 G; y7 W
quietly {
6 I& |% r! W& A* [
# V% M1 D7 ^" r9 ~, Jclear
# A6 b; y' Y1 t* E2 e0 P! G" _% }- F6 f- Z; |' j; @8 N
cd e:\finance\stock\20110101\source
J* v: m9 b4 f/ a
* c1 [" a& y& }' Qinsheet using `1'.txt, f( `7 ~5 [2 Y! [9 a0 n) q7 F
) w& M) Y7 t8 v3 ^
keep if v5>0
' [; a) H" U. U8 @- H / x) }) J) {1 M, O
gen vt=_n0 B& R. F$ T5 m7 J% S
* C# Q# M) ^ _) `, _7 @' _ tsset vt
6 T8 K5 g- P7 q* K
9 \6 j" w7 p0 a! T; k" m gen zf=D1.v5" R4 H% j1 y3 I6 | c+ Y" k8 D
/ m6 @* `( y5 \1 M0 A, H5 [2 l
gsort -v10 f! w& |7 O; W: G1 W/ w
5 R8 M- G# S+ |
gen avol=v7/v5
) {5 {# M& g: H# o/ Q" a0 S
* X0 e/ V( H ^ keep if avol>0
7 A, x/ k0 S/ X- b0 O u 5 A c; E. |$ B, Z
drop vt4 O8 M6 p* L0 C
4 [: N- i+ v+ N; L4 _9 t; q gen vt=_n
- D, J- _/ Z. p; h + Q& {- w; m' }* m9 J9 r
tsset vt
; x" E% M5 [: ~1 ?& c 3 M& p" w6 b' t2 j
sum v5 [aw =avol]1 y2 {, s; ]- {# |9 n) @6 C
+ w0 ?/ U8 a" W: ^- b& O% V) |6 Z
gen amean=r(mean) in 1
$ p5 H! ~( Z: x. d* J/ C& B3 G + w& ?3 ?9 D: G g7 W, p
* 总加权平均值 amean7 h* F, \- w# G4 A% u
/ E7 q# g- M4 p0 Q( d) S
; Y1 w: a, H4 U+ k* M- X, R2 V" b% q" ^ keep in 1/2402 p! Z T: c' o, R2 ?8 R. c
- Z$ B$ J8 f& v {% F* U: Z$ a
sum v5 [aw =avol]3 ?+ A/ J7 h: W7 w+ Q3 E* T2 k
: r2 Y' e: Q, |8 Y: S/ p gen mean240=r(mean) in 19 y% X/ ~) ?; c& g
) b+ e$ R: F. v! k$ z/ c *240加权平均值 mean240( N/ }/ ^3 Z/ Q- U5 R
" s; v4 `- c. R0 ^7 c! e& o0 T& {3 J set obs 500 2 k) d) a: d; S8 y" k- c
: L* |* B- Q2 [3 D$ ]+ g- j kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
8 m2 e) f' Q( H, S* x+ Y: [( A
: R! A: X- l! I1 y) y. a *240 kdensity(dx240 dy240)5 ~7 b1 j2 D0 y! y& v6 b7 O; U: y
( ~. N0 s2 `) f) U9 H+ g/ o g/ k/ k
sum dy240* \' o% y" C! ^* T$ s6 X) q- m
D% N! P6 [- { d. W6 y: H, @ L gen yxis=r(max) in 1( Q, m) u$ b8 @/ D" P6 r2 T
! e3 m% Z. d: V: L0 `' j7 w* ]
gen yxis2=yxis/2: N" S+ j7 F" d. E A
* C: m2 P2 D7 @& w *yxis3 y; ]' |7 F9 z' u* e% l2 Y
" v1 {0 Q" y! D, h
gen dy240max=r(max)
* w0 u; \5 n! q
2 X- k8 z+ V, M gen dy240minp=r(min)% ?, V9 _- R$ u" L2 d4 h) t4 H* ~
; r- c5 ]- O. P @. o gen vtt=_n8 g& ]& G2 ~6 a5 A
1 W r$ P& `" Z% {
tsset vtt
+ g2 M# v7 k# I1 n& p9 l, e( k$ C* |" y4 j ?) G
gen ddy240=D1.dy240/D1.dx240( [. ~7 l( d8 d' [' W
$ v; [, L8 A9 B
sum ddy240
; t3 S6 b: u4 o4 B8 i1 @! p6 x " J# D! r5 U# u: k% e/ \
gen ddy240max=r(max)
6 r) V9 q8 S2 @) y
' \$ q [* u/ I% q* [ gen ddy240min=r(min)
( s. I! {. h. ^6 ~1 P0 H- Q3 c
" |$ _9 a- A- Q6 a3 k/ S6 O gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
( b8 F( P) J' S$ M& D7 P/ A . [2 E) t2 c* ^( e, G+ [; ~& m* w
sum ddy240g
1 W# F* v. b+ u- K6 f
$ i3 s; M+ v8 h4 d: S1 Z# \% ~ gen yxis3=r(min) in 1
' M7 e, g: w) _ 7 r' D( y" l4 F
gen yxis4=0 in 1
- H: d: z' t. a n' t5 W1 L- A( G+ q
*ddy240g 5 N% l+ r% U' M7 x6 d% B I% W6 I
; g/ m* @: [7 v6 _$ D+ J3 @ + \' s. A( P& `+ p
preserve + {9 [1 }9 _. o
$ k, |1 ?" Q7 r5 W
sum v5 [aw =avol]
5 K0 V# Z% h9 i! o
# E/ T2 V: `! t) M) i7 I; o. G keep if dx240<r(mean)# L$ O) A& Y( K
6 g" d; S% f! b. E, z7 X& i4 ? sum ddy2400 t) F' }0 x2 d4 W4 j$ C( E
, [3 l4 p* W' W0 Y: F- f1 X( T) F if r(min)<0 {
1 H2 X, S# W' B6 I3 `5 _ 4 y L; e& K' ]9 L
keep if ddy240<=0
9 X+ X6 ]2 x: x" ? & q5 Z c( U/ u) x
count# i( o" T$ N* F7 `# |+ ^
/ M! U7 n) @) _* N- J% O
if r(N)>2 {
' w, ~/ Y. k* C1 |4 H8 G2 q8 [6 N
$ g% B- ~* t: J pkexamine dx240 dy240
( U) z, a0 s7 J. x K& H! L% x/ P
* V& m9 E0 n0 c- b9 C5 N local tempminp=r(tomc)- Y7 y4 e! A% Q- }- Y7 Q& H3 M4 e
restore " e' j2 F- @ M: ~9 i, n) e2 D
}. d& q7 O/ _3 U3 k% e) z
# [7 C" B! V$ d$ k
else {/ X' k! ~" ~0 A
+ E' K! i E+ q( `" w- e/ U di "cannot find minp"; | U" C* E3 a, v u) U, B
6 t/ S, V' p) C3 Q# ~ restore
6 B. Z! S0 @; z0 h/ U; j! z9 k sum dx240- Q, H {/ N) B; u& l7 E# N
local tempminp=r(mean)
( l) y$ r+ l3 A3 |4 u5 ~% { ( k1 J$ h+ W$ s
}& S( c _/ S/ A1 Q9 Q1 x" g2 i
}
4 Z6 ?. Y L5 U) l8 R" ~% J# t, O, ^ else {
8 V- r( ~# X) l5 n: ] ; F. d( S* f7 s$ @
keep if ddy240<=r(min)
" @3 s$ b1 O h& [. c2 e: K3 g7 g
2 i! I' k% ~; z3 Q A4 { sum dx240
$ J* M( M5 |6 b
" g. `, |1 ~( {6 c1 f2 `* ` y local tempminp=r(min): Q# ^0 u7 o- m# |" M+ L& e
restore 6 L# X+ j& B* r! w! [
}
; n' q3 ^& n5 Q7 w0 \2 o& y5 Y0 L7 s: I# D
6 W U W5 Z' |+ I2 Q8 D1 U/ l) y1 ~
gen minp=`tempminp' in 1
U: `8 `, j5 t, M9 t& H4 ?( w *240 minp
& k! \% `* ~+ B0 }5 _ v6 k$ p# w* g; Y- t; k% O7 i" I
" V! d5 U$ d6 l8 p1 c% a6 T. h
$ o0 c. @% m# j8 Z preserve
: c" E" X5 l4 s" i 2 w% D, M+ J, T- |/ f5 [+ n+ f
sum v5 [aw =avol]
/ {5 O' t( Y+ |7 J
' T+ p! z y9 @1 `! \% E keep if dx240>r(mean)
( n7 S( n2 M( G& t* \* q% ^; J `4 q. ? U/ y
sum ddy240* J: Z; d- m3 ^
0 s/ K' m S9 K
if r(max)>0 {2 [3 _- s, O+ M3 Q0 H9 ^
9 V, j$ Y4 M+ A# e; T; f# i( H/ ?
keep if ddy240>=0
+ d! v9 Y+ w; V- [- M0 ?
* Q0 B, }& ]; W3 C6 E* f8 h, r count( a& |6 k" p# W7 j
) d, C5 Z: \) {* O) L
if r(N)>2 {0 r4 H# Q+ [/ z/ u
) @) T" o" o9 W Y0 a. Y/ k4 J) W
pkexamine dx240 dy240! v+ P; I( J3 a) L' i
& i5 k1 ?- v8 t# F% m7 [# E2 b local tempmaxp=r(tomc)
. \2 D \* ^: y' [2 M9 d) ? restore # y n( H3 | C1 `1 R
}3 J/ i7 H5 f/ K
9 ~% Z1 \) A; p$ j8 |, h' t! Y
" C: R1 c2 K0 w else {
2 J' C; J. S7 R2 K) w4 K' m restore ' A+ m. W/ @7 t( L- J
di "cannot find maxp"
3 E! ^, p2 W5 p/ s$ a3 T
2 ~0 N% U. y. x, T1 g# q/ z9 N : D: e+ } z/ f" @) d' A3 v
sum dx240
; G. W5 C" a4 {: _ local tempmaxp=r(mean)4 s0 v0 |; \# I c$ n& @9 z
' u2 r( \7 \1 Y' L6 ^ }/ j0 i! D; T2 `: I0 x* y/ _
, n" @5 C( y" L4 t% g8 R, ?4 Y
}
4 A5 z. A6 K9 w9 u' D, ] 9 S5 {4 p6 z% ?! X+ t
else {& ^. N# n. n4 n. T
8 O% o7 q; U2 F9 r$ I keep if ddy240>=r(max)
5 C3 t) G) e2 Y9 E4 _ M9 g. I, }$ _- q
& R- ? \9 F' M; T sum dx240
4 J3 \/ r' H3 _- w6 u
" q1 x0 h* H9 G$ T( ` local tempmaxp=r(max) / j* ?+ D3 W1 l, R3 P; p1 e y) j( i
restore 4 w" f1 j4 ^# y, p+ n% ^7 i
}
3 o6 c {" {* W# u: S9 n3 I* r9 G , g1 D0 M I6 b$ L. Z6 t
. J5 \9 D( P: R3 a# X, S
+ G2 F8 x* L8 Q9 M* z* p% h7 C- x% a9 a) l! r% m, B
gen maxp=`tempmaxp' in 1
1 r" G" k) \4 e' Y ( b0 G3 `8 j& E, x* h' N! L
*240maxp
. E/ l2 v" E. |- r1 u+ j' @ 0 ^8 Y: K4 b( ]' m9 ]9 o# K
1 B: \' m. A% }1 ~* o) d- L *-------------ddy240pminp左侧高峰值------ T: Q$ s* J. \
; i( O+ Z( [7 @7 E, ~- T* ^
preserve ( y( x4 N- R1 q. Q4 e
8 X, t; m; @& Z, y' Y keep if dx240<`tempminp'6 Y. x$ F. P4 S5 r8 ~. d$ c
- E- h9 s) C- r7 A9 R2 x
keep if ddy240>0
# }4 |: [" T7 k# Z" [- l
: {1 R' k5 e) ?3 Y) V- S count
2 P1 x6 L( B, I4 ~3 h " {0 P+ {* H* H* Z; n- Q
if r(N)>2 {: M" ?# l" n/ K
. v6 k1 D% A5 P& P; x pkexamine dx240 ddy240; D2 _' x+ B% y( }1 w1 @
4 d- a' C% J& d3 j# w+ ~# R local tempminphddy240=r(tomc)
. o; t/ z3 t5 I/ a restore# T; p" G9 }+ W) h q, u
}- q# c0 h$ |2 _7 X
5 w, @: K7 U, m" N/ K/ q ~
else {3 q/ f& {5 A! p$ f6 C
restore 6 _4 l" N% n7 F
di "cannot find pminphddy240"
# I- ]0 I# O% h; R2 @ ( U0 y; u& {7 c' L( p" P
& Z# a7 `% n% |
sum dx240
7 S9 r3 l( p# }& W; Y local tempminphddy240=r(mean) . d4 j& k/ B+ \) T
: K4 K- n! B1 u) U% p# S+ U 9 t7 k8 y7 E# [: ]2 y1 ], V
}
7 c, m8 N5 |+ c; N7 d( L $ o: D: o+ A; ]$ f3 Q/ g' f" q" ^
) o7 P7 W U& Q: V# }
* `: {; N% ]! l( R
+ c1 B2 m8 c: t " G! H. J) x0 J# J c. b
9 A3 W" q x) o' K0 j+ V
gen pminphddy240=`tempminphddy240' in 1
/ S* v$ A4 Y8 F" |" s
! F- P! u* h/ @) S
; \# v! d$ a. r6 r *-------------ddy240pminp右侧低峰值 -----------------/ w7 ^# a; A) [5 K% c
preserve : ^+ X7 ~* u) w* Z1 ]
7 x+ R `" _4 f0 E4 d keep if dx240>`tempminp'. _& R% l# b1 _. H
# b# j J: T+ z4 {& i; l& J
keep if dx240<`tempmaxp'2 c& a* V* y3 L$ T' _' u% C
, m0 h8 F2 q+ n/ D% a keep if ddy240<0 J g- p; `% w* S6 E1 f3 `* m
2 m6 S- g+ E' T b" x+ t- K! U" c) }
gen temddy240=-ddy240
( O$ E ^% N: h- q. r0 u . m5 I4 {4 b; x8 p0 b( W2 k
count% S' Y; N0 S# a A
1 j+ N! O5 o6 H K
if r(N)>2 {
/ N; ?* d# }* j* f4 I: w0 @, d: ` : b7 [( X1 m7 s% a% G0 V" N5 J
pkexamine dx240 temddy2405 d# N5 I4 ^& ?
$ F5 E& J0 c( k5 P% N8 q
local tempminplddy240=r(tomc)7 q7 [7 K* ^) ^# i; h: s0 e2 k+ U
restore
2 _! x0 ?% v2 |) M }' ~2 S; P3 u0 V: Y5 S+ ^
4 [8 d6 I' L5 U* u2 D+ V+ u% g else {
0 [% `& a4 @! |$ F) }1 t % e5 ?. R1 k5 F% G
di "cannot find pminplddy240"" L9 E3 I) l$ E; t6 G
restore
/ f! x, A: Z! }8 V. c x
& _; Q( t9 h- z6 y sum dx240
. ^8 n# M2 R: ]+ z local tempminplddy240=r(mean)
4 ]8 G3 A$ b- c, e7 T( O: {0 A. e 0 y9 _" Y- @: F6 I
( g6 M+ z' F3 ~0 b' ?. M }
- C" z4 @5 e0 r8 o& Z* ?& N L. M 1 \8 M, y5 J: G2 t$ k2 h1 b) Y
; c2 n8 E* l& |9 \
; x4 p& Z, V/ e: D; Q1 v& g' ]
7 A' T! w0 G! P! B" K
( [- b4 |) u, `/ ]1 O% | gen pminplddy240=`tempminplddy240' in 15 a$ u/ S ^/ n( H T7 n8 T: d* N9 T
# N* X3 X- h5 s" g+ U9 ~
*-------------ddy240pmaxp左侧高峰值 -------------------
% b ], c3 q# W+ M$ y" Z
5 ?( T" H7 T6 ?! R6 O preserve
, W i- }7 x. x, X% h # U. {7 i. _. M' E
keep if dx240>`tempminp'
) s' K+ z7 k/ w7 B6 u9 r
2 E( q* D' D8 [4 d( s keep if dx240<`tempmaxp'+ |% g! I$ v; S! O
7 q# U H+ k5 T' k; I keep if ddy240>0
& Q+ g$ m- G! A! P) } count' P# l# K; i% V2 C. ~" x0 Y
; I, a3 |/ x* u3 Q" F if r(N)>2 {
+ ~: { p. B$ q7 w8 F ) K9 s% K$ D! e2 {0 z6 H
pkexamine dx240 ddy2401 w D7 s& _: Q% O/ n5 V
$ Y3 h- ]5 y2 L; X
local tempmaxphddy240=r(tomc)
4 `: U8 O' g2 w" o 7 F/ ?8 R; t9 |/ o9 r( G$ @
restore. z' @2 ~" S" q
}
+ k9 B" B- s! ]1 c: B1 e ) ]! ~* i) i4 ?+ @ D" b9 ^% G) D. M
else {3 R/ k$ f& f" @8 ~% N
- W" N/ m3 A# G: b di "cannot find pmaxphddy240"& a$ I9 x- ^6 E+ |$ @
restore
* ]4 I+ q; g+ g% ` 9 ]& L7 r& r% P! E
sum dx240, h/ ^! w1 W, }6 h
local tempmaxphddy240=r(mean) , K. r+ O' I3 @4 q0 e
% a. P! \6 C+ Q2 Q6 f$ O9 Y
, o% [! U6 q4 d# ~4 D }( @9 x" k! x0 T" i* C
% \2 C6 a$ ]4 v- F X4 @% w* D! j
9 ~4 h/ U+ Q4 T. f " R6 {7 o& g" e Y) N) F* ~. a
& ~9 C0 Q1 H/ H! `( R- X. T+ M
5 _# J5 l- U& l1 \ $ T* {- i& u, \ O6 l
gen pmaxphddy240=`tempmaxphddy240' in 18 z7 j- `) I5 K6 W9 f7 r
. `2 X0 P" W& m
. \/ o: d8 j7 k& D- n *-------------ddy240pmaxp右侧低峰值 ------------------- C; M+ N |/ @, c2 R
' H: ?. z' C: O/ U; \+ k
preserve
/ e3 O9 Q6 v* y( V7 T 8 L7 O6 p% R) {$ ?
keep if dx240>`tempmaxp'9 s9 Q8 t% n( t" x. ^1 @
, a( W0 O/ R5 X
gen temddy240=-ddy2400 l5 o; _) U' A; u: N# B9 w
# O3 }- l) y& t" b; g keep if temddy240>0
3 N, d$ {1 M" E) ?5 m9 K8 T* T" u
, r4 ?4 ^! m7 I count
4 N/ l: k+ O g6 [7 Q6 n % [& p2 U4 q0 a6 f9 q
if r(N)>2 {
% ] H0 s% ^. B5 W/ ` 1 p* d! w2 p1 m
pkexamine dx240 temddy240
. u0 B0 O! [7 W9 l+ S8 ^# S
; Q3 M1 ?& W+ `; o local tempmaxplddy240=r(tomc) 6 ]3 {4 }/ H, J& K ^( N
restore0 m8 u# l1 Z- B# H3 Q# ?( I/ l! G3 M$ H
}) s# L% C; r. A6 Z% } o
" G- ~& V. I. S5 E5 M else {2 X6 c) Q2 O/ `4 Q* D4 E2 O& n
restore
& [ o; M, k. T9 L+ G, U di "cannot find pmaxlhddy240"1 c- G% L5 U3 o3 N: O7 X. w/ t
% c+ N' z! A7 k1 M+ {
: T1 M+ S3 t' {& V) [4 ~
sum dx240! @5 l K7 p4 y0 R
local tempmaxplddy240=r(mean) in 1
A0 B5 y0 F$ g' _$ @8 S% J' c 3 g+ U! g( i; _5 i+ ~( h
$ T+ o! Y8 {" O5 I* N
}
; u# I* l7 G+ }9 v5 L% ^- W 9 l z: e: {+ N6 s& X
. ]# w2 w& E4 Z! o9 _
& w. F9 O8 P! X! l' \6 e
. V4 ^ D6 M* X5 X6 t" i8 \ 8 }6 [) d8 b3 e1 k {; G4 X
/ H) J! y9 w f/ K7 d gen pmaxplddy240=`tempmaxphddy240' in 1
' c7 B `6 m/ \3 P9 H6 x8 m
3 }# ^; C3 ?) |- V1 B8 L *-------------------------------------
5 C! J" F8 A( |, H+ @5 Z ; l" Y5 J( L) |9 W- R0 {
gen price5d=v5 in 1/20
& ]( y. u6 Z2 X0 Z5 w8 z3 @
/ X; r$ y: x" p7 I gen price5yy=_n in 1/20
$ I$ ]$ @+ L/ }9 S4 d( P4 H 5 B* l- p3 k+ B4 u9 U/ ]
gen price5y=price5yy*(dy240max-dy240min)/20
$ v" \+ }. X) w9 ^7 O
; D3 @, B) r7 T# p! }* ] *price5y &price5d
7 d" [) O# W0 E2 B2 a3 \; ]- ]
' d. p( R' I% n7 A8 u/ | gen priceny=price5y in 1
2 j# O: e6 V7 a0 r+ _
/ F# l, R- h/ e" I: m# w gen pricen=v5 in 1" Q. N0 w4 J4 w1 @: H6 q4 E8 ~
. H' c& E1 P5 V& i
8 C0 X7 W+ ]. e* ]3 a *priceny &pricen% n8 ]# P4 {: Q6 X4 r( c
. L$ k5 O7 `% w* i$ X ]
7 s. P+ w- Y% W. r( l" A- {; p
*-------------------------graph------------------
6 c4 F* Q; l0 ]' U, b! r
5 R# Z9 ]$ l; M7 V9 I5 p& Y: c" Q 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): b' M* [; Q/ D1 \. |* G( s
" K: F3 ]/ }6 N3 Z. R6 o9 r/ D* ---------可选项目----------------------% C c. R5 j+ k/ b) |8 }
- \7 K( e! c" J, z8 G" F
} f- i+ N: H6 H0 u. N
end
3 S6 }$ b, ~ X3 C; C |
|